/* I Grow Pedia – Basis-Stylesheet. Schriften lokal gehostet (keine Google-Server/CDNs → DSGVO-freundlich) */
@font-face{font-family:"Fredoka";src:url("../fonts/Fredoka-Variable.ttf") format("truetype");font-weight:300 700;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/Nunito-Variable.ttf") format("truetype");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/Nunito-Italic-Variable.ttf") format("truetype");font-weight:200 1000;font-style:italic;font-display:swap}
:root{
  --bg:#f6f7f1; --paper:#fffef9; --ink:#1f2a22; --muted:#5b6a5e; --line:#dfe4d6;
  --green-900:#173d24; --green-700:#2f5d3a; --green-500:#4f8a4f; --green-100:#e8f0e3; --green-50:#f1f6ee;
  --earth:#8a6a3d; --amber:#b7791f; --amber-50:#fdf6e7; --amber-200:#f1d9a6;
  --blue-50:#eef3f8; --blue-600:#3d6487; --red-50:#fbefec; --red-600:#a24a35;
  --radius:12px; --shadow:0 1px 2px rgba(23,61,36,.06),0 4px 16px rgba(23,61,36,.06);
  --serif:"Fredoka","Baloo 2",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
  --sans:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","DejaVu Sans",sans-serif;
  --sidebar:250px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--green-700);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--green-900)}
img{max-width:100%}
h1,h2,h3,h4{font-family:var(--serif);color:var(--green-900);line-height:1.25;font-weight:600}
h1{font-size:2.3rem;margin:.2em 0 .4em}
h2{font-size:1.6rem;margin:2em 0 .6em;padding-bottom:.3em;border-bottom:1px solid var(--line)}
h3{font-size:1.25rem;margin:1.6em 0 .4em}
p,ul,ol{margin:0 0 1em}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:99;background:#fff;padding:8px}

/* Header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,254,249,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:20px;max-width:1280px;margin:0 auto;padding:10px 24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green-900)}
.brand img{width:40px;height:40px}
.brand-name{font-family:var(--serif);font-size:1.45rem;font-weight:700;letter-spacing:.2px}
.brand-name span{color:var(--green-500)}
.brand-tag{display:block;font:12px/1.2 var(--sans);color:var(--muted);letter-spacing:.3px}
.search{position:relative;margin-left:auto;width:min(420px,45vw)}
.search input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--line);border-radius:999px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6a5e' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 12px 50%/18px no-repeat;font:inherit;font-size:15px;color:var(--ink)}
.search input:focus{outline:2px solid var(--green-500);outline-offset:1px;border-color:transparent}
.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);list-style:none;margin:0;padding:6px;max-height:60vh;overflow:auto;display:none}
.search-results.open{display:block}
.search-results li a{display:block;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:15px}
.search-results li a:hover,.search-results li a:focus{background:var(--green-50)}
.search-results small{display:block;color:var(--muted);font-size:12px}
.search-results .empty{padding:8px 10px;color:var(--muted);font-size:14px}
.menu-btn{display:none;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:8px 12px;font:inherit;font-size:15px;color:var(--green-900);cursor:pointer}

/* Layout */
.layout{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:40px;max-width:1280px;margin:0 auto;padding:28px 24px 0}
.sidebar{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;font-size:15px}
.sidebar h2{font:600 12px/1 var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);border:0;margin:0 0 10px;padding:0}
.sidebar ul{list-style:none;margin:0 0 24px;padding:0}
.sidebar li a{display:block;padding:6px 12px;border-radius:8px;text-decoration:none;color:var(--ink);border-left:3px solid transparent}
.sidebar li a:hover{background:var(--green-50)}
.sidebar li a[aria-current="page"]{background:var(--green-100);border-left-color:var(--green-500);color:var(--green-900);font-weight:600}
.sidebar .note{font-size:13px;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:10px 12px}
main{min-width:0;padding-bottom:48px}
.content{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:36px 48px 40px}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:6px}
.breadcrumb a{color:var(--muted)}
.lead{font-size:1.15rem;color:#33443a}

/* Home */
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;background:linear-gradient(135deg,#21482d 0%,#3b7044 60%,#5b9157 100%);color:#f3f7ef;border-radius:18px;padding:40px 44px;margin-bottom:28px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.hero h1{color:#fff;font-size:2.6rem;margin:0 0 .3em}
.hero p{color:#e3eddc;font-size:1.1rem;margin:0 0 1.2em}
.hero .eyebrow{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#cfe3c3;margin-bottom:8px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-block;padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px}
.btn-light{background:#fff;color:var(--green-900)}
.btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff}
.btn-light:hover{color:var(--green-900);background:#f1f6ee}.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.1)}
.hero-art{justify-self:center;width:220px;height:220px;opacity:.95}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}
a.card{display:block;text-decoration:none;color:var(--ink);transition:transform .12s ease,border-color .12s ease}
a.card:hover{transform:translateY(-2px);border-color:var(--green-500);color:var(--ink)}
.card h3{margin:0 0 .3em;font-size:1.12rem}
.card p{margin:0;font-size:15px;color:var(--muted)}
.card .meta{margin-top:10px;font-size:13px;color:var(--green-700);font-weight:600}
.cat-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--green-100);color:var(--green-700);font:700 15px/1 var(--serif);margin-bottom:10px}
.section-title{font-size:1.5rem;margin:36px 0 14px;border:0;padding:0}
.feature,a.card.feature{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;border-left:5px solid var(--green-500)}
.feature .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--green-700);margin-bottom:4px}
.molecule{width:90px;height:90px}
.principles li{margin-bottom:.4em}

/* Platzhalter & Hinweise */
.placeholder{background:var(--amber-50);border:2px dashed var(--amber-200);border-radius:var(--radius);padding:18px 20px;color:#6b4a12}
.placeholder strong{color:#7a5310}
.ph{background:var(--amber-50);border:1px dashed var(--amber-200);border-radius:4px;padding:0 4px;color:#7a5310;font-style:normal}
.notice{border-radius:var(--radius);padding:14px 18px;margin:0 0 1.2em;font-size:15.5px}
.notice-info{background:var(--blue-50);border-left:4px solid var(--blue-600)}
.notice-warn{background:var(--red-50);border-left:4px solid var(--red-600)}
.notice-green{background:var(--green-50);border-left:4px solid var(--green-500)}
.notice p:last-child{margin-bottom:0}

/* Artikel */
.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--muted);margin-bottom:22px}
.infobox{float:right;width:300px;margin:4px 0 20px 28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--green-50);font-size:14.5px;overflow:hidden}
.infobox h2{font-size:1.05rem;margin:0;padding:10px 14px;background:var(--green-700);color:#fff;border:0}
.infobox dl{margin:0;padding:10px 14px}
.infobox dt{font-weight:700;color:var(--green-900);margin-top:8px}
.infobox dt:first-child{margin-top:0}
.infobox dd{margin:0}
.toc{display:inline-block;min-width:280px;background:#fbfcf8;border:1px solid var(--line);border-radius:var(--radius);padding:14px 20px 8px;margin:0 0 1em;font-size:15px}
.toc strong{display:block;font-family:var(--serif);color:var(--green-900);margin-bottom:6px}
.toc ol{margin:0 0 6px;padding-left:20px}
.toc li{margin:2px 0}
.badge{display:inline-block;font:700 11.5px/1 var(--sans);letter-spacing:.5px;text-transform:uppercase;padding:5px 8px;border-radius:999px;vertical-align:middle;margin-left:6px;white-space:nowrap}
.badge-solid{background:#d9ead3;color:#1e5128}
.badge-mid{background:#f6e7c4;color:#7a5310}
.badge-pre{background:#dde6ef;color:#2f4f6c}
.badge-planned{background:#ecece6;color:#5b6a5e}
.legend{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:var(--muted);margin:0 0 1.2em}
.legend .badge{margin:0 6px 0 0}
.cannabinoid{border:1px solid var(--line);border-radius:var(--radius);padding:4px 22px 10px;margin:18px 0;background:#fff}
.cannabinoid h2{border:0;margin-top:.8em}
.cannabinoid h2 small{font:500 14px var(--sans);color:var(--muted);margin-left:6px}
.evidence{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 10px}
.evidence > div{border-radius:10px;padding:12px 14px;font-size:15px}
.evidence h4{margin:0 0 6px;font:700 13px/1.2 var(--sans);letter-spacing:.6px;text-transform:uppercase}
.evidence ul{margin:0;padding-left:18px}
.ev-solid{background:#eef6ea}.ev-solid h4{color:#1e5128}
.ev-pre{background:#eef3f8}.ev-pre h4{color:#2f4f6c}
table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 1.2em}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
thead th{background:var(--green-50);color:var(--green-900);font-weight:700;border-bottom:2px solid var(--green-100)}
.table-wrap{overflow-x:auto}
sup.ref a{text-decoration:none;font-size:12px;font-weight:700;padding:0 1px}
.experience{background:var(--amber-50);border:1px solid var(--amber-200);border-radius:14px;padding:6px 24px 14px;margin-top:24px}
.experience h2{border-color:var(--amber-200);color:#6b4a12}
.sources ol{font-size:14.5px;padding-left:22px}
.sources li{margin-bottom:.55em;word-break:break-word}
.sources .src-type{display:inline-block;font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-left:4px}

/* Kategorien */
.planned{list-style:none;padding:0;margin:0 0 1.4em}
.planned li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 14px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:#fff}
.planned li a{font-weight:600}
.planned li span.title{color:#3c4a40}

/* Footer */
.site-footer{background:var(--green-900);color:#d6e3cf;margin-top:40px;font-size:14.5px}
.footer-inner{max-width:1280px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:32px}
.site-footer h2{color:#fff;font-size:1rem;border:0;margin:0 0 10px;padding:0;font-family:var(--sans);letter-spacing:.5px}
.site-footer a{color:#fff}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:4px}
.age{display:inline-block;background:#fff;color:var(--green-900);font-weight:800;border-radius:6px;padding:1px 7px;margin-right:6px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:14px;font-size:13px;color:#a9bda1}

/* Responsive */
/* ---------- Comic-/Anime-Schicht: Cel-Look, dunkle Konturen, Versatzschatten ---------- */
:root{--ink-line:#1f3a26;--pop:4px 4px 0 var(--ink-line);--pop-lg:6px 6px 0 var(--ink-line)}
body{background:var(--bg) radial-gradient(circle at 1px 1px,rgba(31,58,38,.07) 1px,transparent 0) 0 0/22px 22px}
h1,h2,h3,h4{font-weight:600;letter-spacing:.1px}
h1{font-size:2.5rem}
h2{border-bottom:0;padding-bottom:.35em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8'%3E%3Cpath d='M2 5 Q 12 1 22 5 T 42 5 T 62 5 T 82 5 T 102 5 T 118 5' fill='none' stroke='%237cc061' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") left bottom/120px 8px no-repeat}
.site-header{border-bottom:3px solid var(--ink-line);background:#fffef9}
.brand img{width:46px;height:50px}
.brand-name{font-family:var(--serif);font-weight:700;font-size:1.6rem}
.search input{border:2.5px solid var(--ink-line);box-shadow:3px 3px 0 var(--ink-line)}
.search input:focus{outline:none;border-color:var(--green-500);box-shadow:3px 3px 0 var(--green-500)}
.search-results{border:2.5px solid var(--ink-line);box-shadow:var(--pop);border-radius:16px}
.content{border:3px solid var(--ink-line);border-radius:22px;box-shadow:var(--pop-lg)}
.card{border:2.5px solid var(--ink-line);border-radius:18px;box-shadow:var(--pop)}
a.card:hover{transform:translate(-2px,-2px);box-shadow:var(--pop-lg);border-color:var(--ink-line)}
.cat-icon{border:2.5px solid var(--ink-line);border-radius:50%;width:42px;height:42px;background:#bfe3a8;color:var(--ink-line);font:700 15px/1 var(--serif);box-shadow:2px 2px 0 var(--ink-line)}
.grid > .card:nth-child(3n+2) .cat-icon{background:#ffe1a8}
.grid > .card:nth-child(3n+3) .cat-icon{background:#cfe6f3}
.sidebar li a{border-left:0;border:2px solid transparent;border-radius:12px}
.sidebar li a[aria-current="page"]{border-color:var(--ink-line);background:#d7ecc8;box-shadow:2px 2px 0 var(--ink-line)}
.sidebar .note{border:2px dashed var(--ink-line);border-radius:14px}
.sidebar .mini-hempey{display:block;width:64px;margin:0 auto 8px}
.btn{border:2.5px solid var(--ink-line);box-shadow:3px 3px 0 var(--ink-line);font-family:var(--serif);font-weight:600;letter-spacing:.2px}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink-line)}
.btn-light{background:#fff8d6}
.btn-ghost{background:#d7ecc8;color:var(--ink-line)}.btn-ghost:hover{color:var(--ink-line);background:#c6e4b2}
/* Hero im Cel-Look: flache Farbflächen statt Verlauf */
.hero{background:#3f7d44;border:3px solid var(--ink-line);box-shadow:var(--pop-lg);border-radius:24px;grid-template-columns:1.25fr 1fr}
.hero::before{content:"";position:absolute;right:-80px;top:-60px;width:460px;height:460px;border-radius:50%;background:#4f9443}
.hero::after{content:"";position:absolute;right:40px;bottom:-140px;width:300px;height:300px;border-radius:50%;background:#5aa34c}
.hero > *{position:relative;z-index:1}
.hero h1{font-size:3rem;text-shadow:3px 3px 0 var(--ink-line)}
.greeter{display:flex;flex-direction:column;align-items:center;gap:6px;justify-self:center}
.greeter img{width:190px;height:auto;filter:drop-shadow(4px 4px 0 rgba(31,58,38,.35))}
.greeter .bubble{font-size:15px;max-width:260px;color:var(--ink)}
/* Sprechblasen */
.bubble-row{display:flex;gap:16px;align-items:flex-start;margin:1.4em 0}
.bubble-row .avatar{flex:0 0 auto;width:78px;height:auto;margin-top:4px}
.bubble{position:relative;background:#fff;border:2.5px solid var(--ink-line);border-radius:20px;box-shadow:var(--pop);padding:14px 18px;flex:1;min-width:0}
.bubble::before{content:"";position:absolute;left:-14px;top:22px;width:22px;height:22px;background:inherit;border-left:2.5px solid var(--ink-line);border-bottom:2.5px solid var(--ink-line);transform:skewY(30deg) rotate(45deg);border-radius:0 0 0 4px}
.bubble.up::before{left:50%;top:-13px;margin-left:-11px;transform:rotate(135deg)}
.bubble p:last-child,.bubble ul:last-child{margin-bottom:0}
.bubble .speaker{display:block;font:600 14px/1.2 var(--serif);color:var(--green-700);letter-spacing:.3px;margin-bottom:4px}
.bubble-tip{background:#eef7ff}
.bubble-exp{background:#fff6dc}
.experience{background:none;border:0;padding:0}
.experience h2{color:var(--green-900)}
.placeholder{border:2.5px dashed #c99a3b;border-radius:18px}
.notice{border:2.5px solid var(--ink-line);border-left-width:8px;border-radius:16px;box-shadow:3px 3px 0 var(--ink-line)}
.notice-info{border-left-color:var(--blue-600)}.notice-warn{border-left-color:var(--red-600)}.notice-green{border-left-color:var(--green-500)}
.badge{border:1.8px solid var(--ink-line);font-family:var(--serif);font-weight:600;letter-spacing:.4px}
.infobox{border:2.5px solid var(--ink-line);border-radius:18px;box-shadow:var(--pop)}
.infobox h2{background:#3f7d44;border-bottom:2.5px solid var(--ink-line);font-size:1.1rem}
.toc{border:2.5px solid var(--ink-line);border-radius:18px;box-shadow:var(--pop)}
.cannabinoid{border:2.5px solid var(--ink-line);border-radius:20px;box-shadow:var(--pop)}
.cannabinoid h2{background:none}
.cannabinoid h2 .chip{display:inline-grid;place-items:center;min-width:64px;height:40px;padding:0 10px;border:2.5px solid var(--ink-line);border-radius:999px;background:#bfe3a8;box-shadow:2px 2px 0 var(--ink-line);margin-right:6px;font-size:1.3rem}
.evidence > div{border:2px solid var(--ink-line);border-radius:14px}
.table-wrap{border:2.5px solid var(--ink-line);border-radius:16px;box-shadow:var(--pop);overflow:hidden}
table{margin:0}
.planned li{border:2px solid var(--ink-line);border-radius:14px;box-shadow:2px 2px 0 var(--ink-line)}
.site-footer{border-top:3px solid var(--ink-line)}
.site-footer h2{background:none;font-family:var(--serif)}
.feature{border-left-width:2.5px}
.leaf-divider{display:block;width:120px;margin:28px auto 0;opacity:.9}

@media (max-width:1100px){.infobox{float:none;width:auto;margin:0 0 20px}}
@media (max-width:900px){
  .layout{grid-template-columns:1fr;gap:0;padding-top:16px}
  .sidebar{position:fixed;inset:64px 0 auto 0;max-height:calc(100vh - 64px);background:var(--paper);padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none;z-index:15}
  .sidebar.open{display:block}
  .menu-btn{display:inline-block}
  .hero{grid-template-columns:1fr;padding:30px 26px}.hero-art{display:none}.greeter img{width:140px}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-inner{grid-template-columns:1fr}
  .content{padding:26px 22px}
}
@media (max-width:620px){
  body{font-size:16px}
  a.card.feature{grid-template-columns:1fr}
  .brand-tag{display:none}
  .header-inner{flex-wrap:wrap;gap:10px;padding:10px 16px}
  .search{order:3;width:100%}
  .grid-2,.grid-3,.evidence{grid-template-columns:1fr}
  h1{font-size:1.9rem}.hero h1{font-size:2rem}
  .layout{padding:12px 12px 0}
  .feature{grid-template-columns:1fr}
  .bubble-row .avatar{width:54px}
}
@media print{.site-header,.sidebar,.site-footer{display:none}.layout{display:block}.content{border:0;box-shadow:none}}
.bubble.down::before{left:50%;top:auto;bottom:-13px;margin-left:-11px;transform:rotate(-45deg)}
.greeter .bubble{flex:none}
.brand-hempey{width:46px;height:50px}
.hero .greeter .bubble p{color:var(--ink);font-size:15px;margin:0}
.sidebar h2,.site-footer h2,.infobox h2,.bubble h2{background:none}
.sidebar .mini-hempey{width:44px}
.evidence{align-items:start}
.notice{display:flow-root}
.infobox{margin-right:2px}
.infobox h2{background:#3f7d44}
.menu-btn{border:2.5px solid var(--ink-line);box-shadow:2px 2px 0 var(--ink-line);font-weight:700}
.feature-hempey{width:64px;height:auto}
.content blockquote{font-size:1.05rem}
.table-wrap{margin-bottom:1.2em}
.sidebar{font-size:14.5px}
.sidebar li a{padding:4px 12px}
.sidebar ul{margin-bottom:16px}
.sidebar .note{font-size:12.5px;padding:8px 10px}
.sidebar .mini-hempey{width:36px;margin-bottom:4px}
.owner-intro{position:relative;background:#fff;border:2.5px solid var(--ink-line);border-radius:20px;box-shadow:var(--pop);padding:18px 22px 8px;font-size:1.05rem}
.owner-intro .owner-sign{font-family:var(--serif);font-weight:600;color:var(--green-700)}

/* ---------- Fotos (comic-gerahmt) ---------- */
.photo{margin:1.4em 0;background:#fff;border:2.5px solid var(--ink-line);border-radius:18px;box-shadow:var(--pop);padding:8px;overflow:hidden}
.photo img{display:block;width:100%;height:auto;border-radius:12px;border:2px solid var(--ink-line)}
.photo figcaption{font-size:.86rem;color:var(--muted,#4d5b4f);padding:8px 4px 2px;line-height:1.4}
.photo .credit{display:block;font-size:.76rem;opacity:.85;margin-top:2px}
.photo .credit a{color:inherit}
.photo.hero-photo img{aspect-ratio:16/7;object-fit:cover}
.photo.float{float:right;width:min(42%,320px);margin:.3em 0 1em 1.4em;transform:rotate(1deg)}
.photo.float img{aspect-ratio:4/3;object-fit:cover}
@media (max-width:700px){.photo.float{float:none;width:auto;margin:1.2em 0;transform:none}}
h2{clear:both}

.gallery{margin:1.6em 0;clear:both}
.gallery-title{font-family:var(--serif);margin:0 0 .5em}
.gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.gallery-grid li{margin:0}
.gallery-grid a{display:block;background:#fff;border:2.5px solid var(--ink-line);border-radius:16px;box-shadow:3px 3px 0 var(--ink-line);padding:5px;transition:transform .15s,box-shadow .15s}
.gallery-grid li:nth-child(odd) a{transform:rotate(-1deg)}
.gallery-grid li:nth-child(even) a{transform:rotate(1deg)}
.gallery-grid a:hover,.gallery-grid a:focus-visible{transform:translate(-2px,-2px) rotate(0);box-shadow:5px 5px 0 var(--ink-line)}
.gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:11px}
.gallery-caps{list-style:none;padding:0;margin:.7em 0 0;font-size:.84rem;color:var(--muted,#4d5b4f)}
.gallery-caps li{margin:.15em 0}
.gallery-caps .credit{font-size:.76rem;opacity:.85}
.gallery-caps .credit a{color:inherit}
.gallery-note{font-size:.88rem;color:var(--muted,#4d5b4f);margin:.4em 0 1em}

/* Kategorie-Karten mit Foto */
.card.card-img{padding-top:0;overflow:hidden;position:relative}
.card-photo{display:block;margin:0 -18px 12px;height:130px;border-bottom:2.5px solid var(--ink-line);overflow:hidden}
.card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.card.card-img:hover .card-photo img{transform:scale(1.05)}
.card.card-img .cat-icon{position:absolute;top:96px;right:14px}

/* Neu im Wiki mit Foto */
.feature-photo{position:relative;display:block;width:150px;height:110px;flex:none}
.feature-photo>img:first-child{width:100%;height:100%;object-fit:cover;border-radius:12px;border:2.5px solid var(--ink-line);display:block}
.feature-photo .feature-hempey{position:absolute;right:-12px;bottom:-12px;width:44px;height:auto}

/* Hero-Collage */
.hero-visual{position:relative;min-height:300px}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:300px;margin-left:auto}
.collage .tile{display:block;background:#fff;border:2.5px solid var(--ink-line);border-radius:16px;padding:4px;box-shadow:3px 3px 0 var(--ink-line)}
.collage .tile img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:11px}
.collage .t0{transform:rotate(-3deg)}.collage .t1{transform:rotate(2deg) translateY(10px)}
.collage .t2{transform:rotate(2deg)}.collage .t3{transform:rotate(-2deg) translateY(8px)}
.hero .greeter-row{flex-direction:row;align-items:center;justify-self:start;gap:14px;margin-top:22px}
.hero .greeter-row img{width:92px;flex:none}
.hero .greeter-row .bubble{max-width:360px}
.hero-visual{min-height:0;align-self:center}
.collage{width:340px}
@media (max-width:900px){.hero-visual{min-height:0}.collage{width:100%;max-width:340px;margin:0 auto}}

/* Lightbox */
dialog.lightbox{border:3px solid var(--ink-line);border-radius:20px;padding:10px;max-width:min(92vw,900px);background:#fff;box-shadow:6px 6px 0 var(--ink-line)}
dialog.lightbox::backdrop{background:rgba(20,35,22,.75)}
dialog.lightbox img{display:block;max-width:100%;max-height:78vh;margin:auto;border-radius:12px}
dialog.lightbox p{margin:.6em .3em .2em;font-size:.9rem}
dialog.lightbox button{position:absolute;top:8px;right:8px;border:2.5px solid var(--ink-line);border-radius:999px;background:#fff7d6;font-weight:700;padding:2px 10px;cursor:pointer}

/* Bildnachweise */
table.credits img.credit-thumb{width:84px;height:64px;object-fit:cover;border-radius:10px;border:2px solid var(--ink-line)}
table.credits td{vertical-align:top}
.hero .greeter-row .bubble{flex:1 1 auto;min-width:0}
@media (max-width:620px){.hero .greeter-row img{width:64px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.feature-photo{width:100%;height:150px}}

/* ---------- Sprachumschalter ---------- */
.lang-switch{position:relative;flex:none;margin-left:12px}
.lang-switch summary{list-style:none;cursor:pointer;font:600 14px/1 var(--sans);background:#fff;border:2.5px solid var(--ink-line);border-radius:999px;padding:8px 14px;box-shadow:3px 3px 0 var(--ink-line);white-space:nowrap}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary::after{content:" ▾"}
.lang-switch ul{position:absolute;right:0;top:calc(100% + 8px);z-index:60;list-style:none;margin:0;padding:6px;background:#fff;border:2.5px solid var(--ink-line);border-radius:16px;box-shadow:var(--pop);min-width:170px;max-height:70vh;overflow:auto}
.lang-switch li a{display:block;padding:6px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:15px}
.lang-switch li a:hover,.lang-switch li a:focus-visible{background:#e3f1d8}
.lang-switch li a[aria-current]{font-weight:700;background:#d6ecc8}
@media (max-width:820px){.lang-switch summary{padding:6px 10px;font-size:13px}}
@media (max-width:620px){.lang-switch ul{left:0;right:auto;max-width:calc(100vw - 24px)}}

.notice-law{background:#fff6dc;border-left-color:#c98a12}
.law-foot{font-size:13px;opacity:.9}

/* Sprachweiche */
.lang-gate{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px}
.gate{max-width:560px;text-align:center}
.gate-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.gate-list a{display:inline-block;padding:8px 14px;border:2.5px solid var(--ink-line);border-radius:999px;background:#fff;box-shadow:3px 3px 0 var(--ink-line);text-decoration:none;color:var(--ink);font-weight:600}

/* ---------- Schriften je Schriftsystem (nur Systemschriften, kein Nachladen) ---------- */
/* Fredoka hat kein Kyrillisch: Überschriften auf Nunito (rund, mit Kyrillisch) */
html:lang(ru){--serif:"Nunito","Segoe UI",Roboto,"Noto Sans",Arial,sans-serif}
html:lang(zh-Hans){--serif:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC",sans-serif;--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC",sans-serif}
html:lang(ja){--serif:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",sans-serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",sans-serif}
html:lang(ko){--serif:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR","Noto Sans KR",sans-serif;--sans:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR","Noto Sans KR",sans-serif}
html:lang(th){--serif:"Leelawadee UI","Thonburi","Noto Sans Thai","Noto Sans Thai UI","Tahoma",sans-serif;--sans:"Leelawadee UI","Thonburi","Noto Sans Thai","Noto Sans Thai UI","Tahoma",sans-serif}
html:lang(hi){--serif:"Nirmala UI","Kohinoor Devanagari","Noto Sans Devanagari","Mangal",sans-serif;--sans:"Nirmala UI","Kohinoor Devanagari","Noto Sans Devanagari","Mangal",sans-serif}
/* Latin-Teile (z. B. „I Grow Pedia“) bleiben in Fredoka/Nunito */
html:lang(zh-Hans) .brand-name,html:lang(ja) .brand-name,html:lang(ko) .brand-name,html:lang(th) .brand-name,html:lang(hi) .brand-name{font-family:"Fredoka",sans-serif}
/* Zeilenumbruch: CJK strikt, Koreanisch an Wortgrenzen, Thai per Wörterbuch des Browsers */
html:lang(zh-Hans) body,html:lang(ja) body{line-break:strict;word-break:normal;overflow-wrap:anywhere}
html:lang(ko) body{word-break:keep-all;overflow-wrap:anywhere}
html:lang(th) body,html:lang(hi) body{word-break:normal;overflow-wrap:break-word;line-height:1.8}
html:lang(zh-Hans) body,html:lang(ja) body,html:lang(ko) body{line-height:1.8}
html:lang(zh-Hans) h1,html:lang(zh-Hans) h2,html:lang(zh-Hans) h3,html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(ko) h1,html:lang(ko) h2,html:lang(ko) h3,html:lang(th) h1,html:lang(th) h2,html:lang(th) h3,html:lang(hi) h1,html:lang(hi) h2,html:lang(hi) h3{font-weight:700;letter-spacing:0;line-height:1.4}
html:lang(zh-Hans) .eyebrow,html:lang(ja) .eyebrow,html:lang(ko) .eyebrow,html:lang(th) .eyebrow,html:lang(hi) .eyebrow,html:lang(zh-Hans) .sidebar h2,html:lang(ja) .sidebar h2,html:lang(ko) .sidebar h2,html:lang(th) .sidebar h2,html:lang(hi) .sidebar h2{letter-spacing:0;text-transform:none}
html:lang(zh-Hans) em,html:lang(ja) em,html:lang(ko) em{font-style:normal;font-weight:700}

/* ---------- Hempey Cup ---------- */
.cup-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.cup-hero h1{margin-top:.1em}
.cup-badge-hero{width:190px;height:auto;filter:drop-shadow(4px 5px 0 rgba(31,58,38,.18));transform:rotate(4deg)}
.cup-chips{display:flex;flex-wrap:wrap;gap:6px}
.cup-chips code,.cup-tag code,.cup-cat-h code{font:600 13px/1 var(--sans);background:#fff;border:2px solid var(--ink-line,#1f3a26);border-radius:999px;padding:5px 9px;color:var(--green-900);white-space:nowrap}
.cup-cards .card h3{margin-top:.3em}
.cup-tag{margin:.2em 0 .5em!important;display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:13px}
.cup-steps{counter-reset:s;list-style:none;padding:0}
.cup-steps li{counter-increment:s;position:relative;padding:8px 0 8px 48px;min-height:40px}
.cup-steps li::before{content:counter(s);position:absolute;left:0;top:4px;width:34px;height:34px;border-radius:50%;background:#f2b632;border:2.5px solid var(--ink-line,#1f3a26);font:700 17px/29px var(--serif);text-align:center;color:#1f3a26}
.cup-post-mock{margin:1em 0 1.6em;max-width:460px}
.cup-post-mock figcaption{font:600 14px/1.2 var(--serif);color:var(--muted);margin-bottom:6px}
.mock{display:flex;gap:12px;background:#fff;border:2.5px solid var(--ink-line,#1f3a26);border-radius:16px;padding:14px;box-shadow:var(--pop)}
.mock-avatar{flex:0 0 40px;height:40px;border-radius:50%;background:var(--green-100);display:grid;place-items:center;font-size:20px}
.mock p{margin:.2em 0 .6em;font-size:15px}
.mock img{border-radius:12px;border:2px solid var(--line);width:180px;height:auto}
.cup-round{margin:1.2em 0;padding:4px 18px 10px;background:var(--paper);border:2.5px solid var(--ink-line,#1f3a26);border-radius:18px;box-shadow:var(--pop)}
.cup-round h3{margin:.6em 0 .2em}
.cup-round summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none}
.cup-round summary::-webkit-details-marker{display:none}
.cup-sum{font:600 14px var(--serif);color:var(--green-700);white-space:nowrap}
.cup-cat-h{font-size:1.08rem;margin:1.3em 0 .5em;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cup-empty{color:var(--muted);font-size:15px;font-style:italic}
.cup-counted{font-size:14px;color:var(--muted);margin:.2em 0}
.cup-table{width:100%;border-collapse:collapse}
.cup-table th,.cup-table td{vertical-align:middle}
.cup-rank{font:700 1.3rem var(--serif);color:var(--green-900);text-align:center;width:3.5em}
.cup-likes{font:700 1.1rem var(--serif);text-align:right;width:5em}
.cup-likes::after{content:" ♥";color:#c2412d}
.cup-jury{text-align:center;width:4.5em}
.cup-entry{display:flex;gap:12px;align-items:flex-start}
.cup-thumb{position:relative;flex:0 0 auto}
.cup-thumb img{display:block;width:84px;height:84px;object-fit:cover;border-radius:12px;border:2px solid var(--ink-line,#1f3a26)}
.cup-thumb img.no-thumb{object-fit:contain;background:var(--green-50);padding:8px}
.cup-ex{position:absolute;left:-4px;bottom:-6px;background:#fff6dc;border:1.8px solid var(--ink-line,#1f3a26);border-radius:999px;font:600 10.5px/1 var(--serif);padding:3px 6px;text-transform:uppercase;letter-spacing:.4px}
.cup-meta{min-width:0;flex:1}
.cup-handle{font-family:var(--serif);font-size:1.02rem;margin-right:4px;word-break:break-all}
.cup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;align-items:center}
.cup-x{font-size:14px;font-weight:700}
.cup-embed{font:600 13px/1 var(--serif);background:#eef7ff;border:2px solid var(--ink-line,#1f3a26);border-radius:999px;padding:6px 10px;cursor:pointer;color:var(--ink)}
.cup-embed:hover{background:#dcefff}.cup-embed[disabled]{opacity:.6;cursor:default}
.cup-embed-box{margin-top:8px;font-size:14px;color:var(--muted)}
.cup-embed-box:not([hidden]){display:block}
.badge-gold{background:#ffe17a;color:#5a3d00}
.badge-jury{background:#e3d7f5;color:#3d2766}
.badge-ex{background:#fff6dc;color:#7a5310}
.hof-badge{vertical-align:middle;width:20px;height:auto}
.cup-badge-box{display:flex;gap:22px;align-items:center}
.cup-badge-box img{flex:0 0 auto;width:150px;height:auto}
.cup-rules li{margin-bottom:.6em}
.cup-embed-note{margin-top:-.3em}
.cup-teaser{display:flex;gap:18px;align-items:center;margin:1.6em 0;background:linear-gradient(135deg,#fff6dc,#fffef9 60%)}
.cup-teaser img{flex:0 0 auto;width:100px;height:auto}
.cup-teaser h3{margin:0 0 .3em}
.cup-teaser p{margin:0 0 .6em}
@media (max-width:760px){
  .cup-hero{grid-template-columns:1fr}.cup-badge-hero{width:130px;justify-self:center;order:-1}
  .cup-badge-box,.cup-teaser{flex-direction:column;align-items:flex-start}
  .cup-table thead{display:none}
  .cup-table,.cup-table tbody,.cup-table tr,.cup-table td{display:block;width:auto}
  .cup-table tr{display:grid;grid-template-columns:2.6em 1fr auto;grid-template-areas:"rank entry likes" "rank entry jury";gap:2px 8px;padding:10px 6px;border-bottom:1px solid var(--line)}
  .cup-table td{border:0;padding:0}
  .cup-rank{grid-area:rank;width:auto}.cup-table td:nth-child(2){grid-area:entry}.cup-likes{grid-area:likes;width:auto}.cup-jury{grid-area:jury;width:auto;text-align:right}
  .cup-thumb img{width:64px;height:64px}
  .cup-round{padding:2px 12px 8px}
  .hof-table thead{display:none}
  .hof-table,.hof-table tbody,.hof-table tr,.hof-table td{display:block;width:auto}
  .hof-table tr{padding:10px 12px;border-bottom:1px solid var(--line)}
  .hof-table td{border:0;padding:2px 0}
  .hof-table td::before{content:attr(data-label) ": ";font:600 12px/1 var(--serif);color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
  .hof-table td:first-child{font-family:var(--serif);font-weight:600}
}
/* Hempey Cup: Aktuelle Champions + Ruhmeshalle */
.champions{background:linear-gradient(135deg,#fff6dc,#fffef9 70%);border:2px solid var(--ink-line,#1f3a26);border-radius:18px;padding:6px 18px 14px;margin:1.4em 0}
.champions h2{margin-top:.6em}
.champ-lead{margin:.2em 0 .9em}
.champ-none{font-style:italic;color:var(--muted)}
.champ-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.champ-card{background:#fff;border:2px solid var(--ink-line,#1f3a26);border-radius:14px;padding:10px 12px 12px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"cat cat" "thumb meta";gap:6px 12px;align-items:start}
.champ-cat{grid-area:cat;font:700 1rem var(--serif);color:var(--green-900)}
.champ-thumb{grid-area:thumb}.champ-card .cup-meta{grid-area:meta;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.champ-thumb img{width:76px;height:76px}
.champ-card .badge-gold{font-size:11.5px}
.champ-jury{margin:0;font-size:13.5px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.champ-h{white-space:nowrap}
.champ-month{display:block;font:600 12.5px/1.3 var(--sans,inherit);color:var(--muted);margin-top:1px}
.champ-card .badge{white-space:normal}
.champ-more{margin:.9em 0 .2em}
.champ-mini{background:#fff;border:1.8px solid var(--line);border-radius:12px;padding:8px 12px;margin:.2em 0 .8em;font-size:14.5px}
.champ-mini h4{margin:0 0 .3em;font-size:.98rem}
.champ-mini ul{list-style:none;margin:0 0 .3em;padding:0;columns:2;column-gap:18px}
.champ-mini li{break-inside:avoid;padding:1px 0}
.champ-mini-cat{color:var(--muted)}
.cup-hall-link{display:flex;gap:16px;align-items:center}
.cup-hall-link img{flex:0 0 auto}
.hall-filter{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;background:var(--green-50);border:1.8px solid var(--line);border-radius:14px;padding:10px 14px;margin:1em 0}
.hall-filter label{display:flex;flex-direction:column;font:600 12.5px var(--serif);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);gap:3px}
.hall-filter select{font:15px var(--sans,inherit);padding:6px 8px;border:2px solid var(--ink-line,#1f3a26);border-radius:10px;background:#fff;color:var(--ink);min-width:9em}
.hall-count{margin-left:auto;font-size:14px;color:var(--muted);align-self:center}
.hall-table td{vertical-align:middle;font-size:14.5px;padding:7px 9px}
.hall-table th{font-size:13px;padding:7px 9px}
.hall-table strong,.hall-table td:nth-child(4){white-space:nowrap}
.hall-table .cup-embed{white-space:nowrap;padding:5px 9px;font-size:12.5px}
.hall-table .badge-ex{font-size:10px;margin-left:4px}
.hall-table .cup-embed-box{max-width:360px}
.hall-round{white-space:nowrap;font-family:var(--serif);font-weight:600}
.hall-likes{font-size:13px;color:var(--muted);white-space:nowrap}
.hall-table .cup-actions{margin-top:0}
.hall-empty{font-style:italic;color:var(--muted)}
@media (max-width:760px){
  .champions{padding:4px 12px 12px}
  .champ-grid{grid-template-columns:1fr}
  .champ-mini ul{columns:1}
  .hall-filter label{flex:1 1 40%}.hall-filter select{min-width:0;width:100%}
  .hall-count{margin-left:0;flex-basis:100%}
  .hall-round{white-space:normal}
  .hall-table tr{background:#fff}
  .hall-table td{padding:2px 0}
  .hall-table td:nth-child(5)::before{display:none}
  .hall-table .cup-actions{margin-top:6px}
}
.menu-btn,.brand-name{white-space:nowrap}
.brand{flex:none}
@media (max-width:820px) and (min-width:621px){.search{width:auto;flex:1 1 auto;min-width:0}}

/* ---------- Weltweit: Cannabis & Recht ---------- */
.world .s-legal{--c:#2f9e55}.world .s-decrim{--c:#9ccc4e}.world .s-medical{--c:#4a9fd8}.world .s-varies{--c:#f0c24b}
.world .s-prohibited{--c:#ea8a3c}.world .s-severe{--c:#a5262f}.world .s-unclear{--c:#a68bd3}.world .s-none{--c:#dcdcd4}
.world-fig{margin:12px 0 6px;padding:10px;background:#f4f8fb;border:2.5px solid var(--ink-line);border-radius:18px;box-shadow:3px 3px 0 var(--ink-line)}
.world-map{display:block;width:100%;height:auto}
.world-map path,.world-map circle{fill:var(--c);stroke:#fff;stroke-width:.6;transition:opacity .15s}
.world-map circle.mk{stroke:#1d2b22;stroke-width:1.2}
.world-map [data-i]{cursor:pointer}
.world-map [data-i]:hover,.world-map .hl{stroke:#1d2b22;stroke-width:1.6}
.world-map.filtering [data-i]:not(.on),.world-map.filtering path:not([data-i]){opacity:.18}
.world-fig figcaption{font-size:12.5px;color:#5b6660;margin-top:6px}
.world-info{margin:6px 0 0;padding:8px 12px;border-radius:12px;background:#fffbe6;border:2px solid var(--ink-line)}
.lg-h{margin-top:18px}
.world-legend{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.world-legend .lg{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;font:inherit;font-size:14px;line-height:1.35;background:#fff;border:2px solid var(--ink-line);border-radius:14px;padding:8px 10px;cursor:pointer;color:var(--ink)}
.world-legend .lg[aria-pressed=true]{background:#e3f1d8;box-shadow:inset 0 0 0 2px var(--ink-line)}
.world-legend .sw{flex:none;width:18px;height:18px;margin-top:2px;border-radius:5px;background:var(--c);border:1.5px solid var(--ink-line)}
.lg-d{color:#5b6660;font-size:13px}.lg-n{color:#5b6660;font-weight:400}
.world-cov{margin:8px 0}
.world-tools{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.world-tools input{font:inherit;padding:7px 12px;border:2px solid var(--ink-line);border-radius:999px;min-width:200px}
.world-count{color:#5b6660;font-size:14px}
.world-table-wrap{overflow-x:auto;border:2.5px solid var(--ink-line);border-radius:16px;box-shadow:3px 3px 0 var(--ink-line);background:#fff}
.world-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.4}
.world-table th,.world-table td{padding:8px 10px;border-bottom:1.5px solid #e3e6e0;vertical-align:top;text-align:left}
.world-table thead th{background:#eef5e9;position:sticky;top:0;z-index:1}
.world-table .sort{font:inherit;font-weight:700;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);text-align:left}
.world-table .sort::after{content:" ↕";color:#8a948e}
.world-table th[aria-sort=ascending] .sort::after{content:" ↑";color:var(--ink)}
.world-table th[aria-sort=descending] .sort::after{content:" ↓";color:var(--ink)}
.world-table tbody th{font-weight:700;white-space:nowrap}
.world-table tr.flash{animation:wflash 2s ease}
@keyframes wflash{0%,40%{background:#fff3b0}100%{background:transparent}}
.world .st{display:inline-block;padding:2px 9px;border-radius:999px;font-weight:700;font-size:13px;background:var(--c);color:#14231a;border:1.5px solid var(--ink-line);white-space:nowrap}
.world .st.s-severe,.world .st.s-legal{color:#fff}
.world .na{color:#8a948e;cursor:help}
.wnote{display:block;font-size:12.5px;color:#5b6660;margin-top:4px}
.world-table .srcs ul{margin:0;padding-left:16px;font-size:12.5px}
.world-table .srcs li{margin:0 0 3px}
.asof,.stand{color:#5b6660;font-size:12px}.stand{display:block;margin-top:2px}
.src-n{font-size:12px}
.opinion{margin:28px 0 8px;padding:18px 20px;background:#fff8ec;border:2.5px dashed #b7792b;border-radius:18px}
.opinion h2{margin-top:4px}
.opinion-label{display:inline-block;margin:0;padding:3px 10px;border-radius:999px;background:#b7792b;color:#fff;font-weight:700;font-size:13px}
.mission-link{margin:10px 0 0;font-weight:600}
@media (max-width:760px){
  .world-table-wrap{border:0;box-shadow:none;background:none;overflow:visible}
  .world-table thead{display:none}
  .world-table,.world-table tbody,.world-table tr,.world-table th,.world-table td{display:block;width:auto}
  .world-table tr{background:#fff;border:2px solid var(--ink-line);border-radius:14px;margin:0 0 10px;padding:6px 4px;box-shadow:2px 2px 0 var(--ink-line)}
  .world-table th,.world-table td{border:0;padding:4px 10px}
  .world-table tbody th{font-size:16px;white-space:normal}
  .world-table td[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:#5b6660}
  .world-table tr[hidden]{display:none}
  .world-legend{grid-template-columns:1fr}
}
.world-table .srcs{white-space:nowrap}
.world-table .src-n{display:inline-block;margin-right:2px}
.world .st{white-space:normal}
.world-sources{font-size:14px;padding-left:28px}
.world-sources li{margin:0 0 4px;overflow-wrap:anywhere}
.world-table th:first-child{min-width:110px}
@media (max-width:760px){.world-table td,.world-table th{overflow-wrap:anywhere}.world-table .srcs{white-space:normal}.world-tools input{min-width:0;width:100%}.world-tools label{width:100%}}
.world .badge{white-space:normal;max-width:100%;line-height:1.4}
.world-table{font-size:13px}
.world-table tbody th{white-space:normal}
.world-table th:first-child{min-width:96px}
.world-table .srcs{white-space:normal}
.world-table .srcs .stand{display:block;white-space:nowrap}
.world-table .sort{font-size:12.5px}
@media (max-width:760px){
  .world-table td[data-label]{position:relative;padding-left:44%;min-height:22px}
  .world-table td[data-label]::before{position:absolute;left:10px;top:5px;width:38%;display:block;line-height:1.3}
  .world-table td{font-size:13.5px}
}
.world-table td,.world-table thead th{hyphens:auto;-webkit-hyphens:auto}
.world-table .srcs .stand{white-space:normal}.world-table .st{display:inline-block;max-width:100%}.world-table td,.world-table th{padding:8px 8px}
.world-table td,.world-table th{padding:8px 7px}
@media (max-width:760px){
  .world-table td[data-label]{position:static;padding-left:10px;display:flow-root;min-height:0}
  .world-table td[data-label]::before{position:static;float:left;width:38%;margin-right:10px;padding-top:1px}
}
@media (max-width:760px){.world-table td.empty{display:none}}
/* Flos neue Foto-Serie */
.gallery-grid picture,.collage picture,.credit-strip picture{display:block}
.flo-hero img{object-position:50% 38%}
.gallery-caps-num{padding-left:22px}
.gallery-flo-new>.credit{font-size:13px;color:#5b6660;margin-top:4px}
.credit-strip{list-style:none;padding:0;margin:8px 0 18px;display:flex;flex-wrap:wrap;gap:8px}
.credit-strip img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:2px solid var(--ink-line);display:block}
.gallery-caps.gallery-caps-num{list-style:decimal;padding-left:26px}
.gallery-caps.gallery-caps-num li{display:list-item}
@media (min-width:621px){.gallery-flo-new .gallery-grid{grid-template-columns:repeat(4,1fr)}}
.flo-cross{margin-top:18px;padding:12px 14px 6px;border:2.5px dashed #b07a2a;border-radius:16px;background:#fffaf0}
.flo-cross .gallery-subtitle{margin:0 0 4px;font-size:17px}
@media (min-width:621px){.gallery-flo-new .flo-cross .gallery-grid{grid-template-columns:repeat(4,1fr)}}
.flo-cross .cross-cats{margin:10px 0 6px;padding:8px 12px;background:#fff;border-radius:12px;border:2px solid #e8d6b5;font-size:15px}
.flo-cross .pet-hint{font-size:13px;color:#5b4a2a;margin:0 0 8px}

/* ==========================================================================
   Look 2026-10: Schwarz- und Neon-Akzente (heller Modus).
   Neon nur als Akzent: Neon-TEXT nur auf Schwarz/Dunkel; auf Hell dunkler Text + Neon-Linie/Rahmen/Glow.
   Nachtmodus: assets/css/dark.src.css → wird von build.py zu dark.css erzeugt.
   ========================================================================== */
:root{
  --black:#0b0f0c; --black-2:#161d18; --neon:#3dff6e; --neon-hot:#39ff14; --neon-deep:#16a83c;
  --ink-line:#0b0f0c; color-scheme:light;
}
/* Kopfzeile: schwarze Leiste mit Neon-Kante */
.site-header{background:var(--black);border-bottom:3px solid var(--neon);box-shadow:0 3px 18px rgba(61,255,110,.22)}
.brand,.brand:hover{color:#f2fff5}
.brand-name{color:#f2fff5}.brand-name span{color:var(--neon)}
.brand-tag{color:#aebfb2}
.brand-hempey{filter:drop-shadow(0 0 1px rgba(242,255,245,.9)) drop-shadow(0 0 6px rgba(61,255,110,.45))}
.search input{border-color:#2c3a30;box-shadow:3px 3px 0 var(--neon-deep)}
.search input:focus{border-color:var(--neon);box-shadow:0 0 0 3px rgba(61,255,110,.35),3px 3px 0 var(--neon)}
.menu-btn,.lang-switch summary,.theme-btn{background:var(--black-2);color:#f2fff5;border:2px solid var(--neon);box-shadow:2px 2px 0 var(--neon-deep)}
.menu-btn:hover,.lang-switch summary:hover,.theme-btn:hover{box-shadow:0 0 0 2px rgba(61,255,110,.25),2px 2px 0 var(--neon);color:var(--neon)}
/* Nachtmodus-Schalter (Sonne/Mond) – ohne JavaScript ausgeblendet */
.theme-btn{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;padding:0;cursor:pointer;margin-left:10px}
.theme-btn svg{width:20px;height:20px;display:block}
.theme-btn .i-sun{display:none}
html[data-theme=dark] .theme-btn .i-sun{display:block}
html[data-theme=dark] .theme-btn .i-moon{display:none}
html:not([data-theme]) .theme-btn{display:none}
.lang-switch{margin-left:10px}
/* Navigation: aktiver Punkt schwarz mit Neon-Kante */
.sidebar li a:hover{background:var(--green-50);border-color:var(--neon-deep)}
.sidebar li a[aria-current="page"]{background:var(--black);color:#f2fff5;border-color:var(--black);box-shadow:3px 3px 0 var(--neon)}
/* Buttons */
.btn-light{background:var(--black);color:var(--neon);border-color:var(--black);box-shadow:3px 3px 0 var(--neon-deep)}
.btn-light:hover{background:#000;color:var(--neon);box-shadow:4px 4px 0 var(--neon),0 0 12px rgba(61,255,110,.35)}
.btn-ghost{background:#fff;color:var(--black);border-color:var(--black);box-shadow:3px 3px 0 var(--neon-deep)}
.btn-ghost:hover{background:#f2fff5;color:var(--black);box-shadow:4px 4px 0 var(--neon)}
/* Links & Unterstreichungen: dunkler Text, Neon-Linie */
a{text-decoration-color:var(--neon-deep);text-decoration-thickness:2px}
a:hover{text-decoration-color:var(--neon-hot)}
h2{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 9'%3E%3Cpath d='M2 6.2 Q 12 2.2 22 6.2 T 42 6.2 T 62 6.2 T 82 6.2 T 102 6.2 T 118 6.2' fill='none' stroke='%230b0f0c' stroke-width='3.4' stroke-linecap='round'/%3E%3Cpath d='M2 5 Q 12 1 22 5 T 42 5 T 62 5 T 82 5 T 102 5 T 118 5' fill='none' stroke='%2339ff14' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:120px 9px}
.sidebar h2,.site-footer h2,.infobox h2,.bubble h2,.cannabinoid h2{background-image:none}
/* Fokus-Ring: schwarz + Neon-Halo (auf Hell und Dunkel sichtbar) */
:focus-visible{outline:3px solid var(--black);outline-offset:2px;box-shadow:0 0 0 6px var(--neon)!important}
.site-header :focus-visible,.site-footer :focus-visible{outline-color:var(--neon);box-shadow:0 0 0 6px rgba(61,255,110,.35)!important}
.skip:focus{background:var(--black);color:var(--neon)}
/* Badges & Hempey Cup */
.badge-gold{background:var(--black);color:var(--neon);border-color:var(--black)}
.champions{border:3px solid var(--black);box-shadow:5px 5px 0 var(--neon-deep)}
.champ-card{border:2.5px solid var(--black);box-shadow:4px 4px 0 var(--neon-deep);transition:box-shadow .15s,transform .15s}
.champ-card:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--neon),0 0 14px rgba(61,255,110,.35)}
.champ-cat{border-bottom:2px solid var(--neon);padding-bottom:3px}
.cup-embed{border-color:var(--black)}
.cup-embed:hover{box-shadow:0 0 0 3px rgba(61,255,110,.45)}
.age{background:var(--neon);color:var(--black)}
/* Weltkarte: Hervorhebung schwarz mit Neon-Glow */
.world-map [data-i]:hover,.world-map .hl{stroke:var(--black);stroke-width:1.8;filter:drop-shadow(0 0 2.5px var(--neon-hot))}
.world-legend .lg[aria-pressed=true]{background:var(--black);color:#f2fff5;box-shadow:3px 3px 0 var(--neon)}
.world-legend .lg[aria-pressed=true] .lg-d,.world-legend .lg[aria-pressed=true] .lg-n{color:#c3d3c6}
.world-legend .lg[aria-pressed=true] .sw{border-color:#f2fff5}
/* Fußzeile schwarz */
.site-footer{background:var(--black);border-top:3px solid var(--neon);color:#c9d6cc}
.site-footer h2{color:var(--neon)}
.site-footer a{color:#f2fff5;text-decoration-color:var(--neon)}
.footer-bottom{color:#a9bba9}
@media (max-width:620px){.theme-btn{width:36px;height:36px;margin-left:6px}.lang-switch{margin-left:6px}}
/* Missions-Banner (Startseite oben) – schwarz/neon in beiden Modi; Texte in i18n/banner.py */
.mission-banner{position:relative;display:flex;gap:20px;align-items:center;background:var(--black) radial-gradient(circle at 92% 10%,rgba(61,255,110,.16),transparent 45%);color:#e8f3ea;border:3px solid var(--black);border-radius:22px;box-shadow:6px 6px 0 var(--neon),0 0 26px rgba(61,255,110,.22);padding:22px 28px;margin:0 0 26px;overflow:hidden}
.mission-banner::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--neon-hot),var(--neon) 60%,transparent)}
.mission-banner h2{margin:0 0 .35em;padding:0;background:none;color:var(--neon);font-size:1.75rem;line-height:1.2;text-shadow:0 0 14px rgba(61,255,110,.45)}
.mission-banner p{margin:0 0 .9em;color:#dbe8de;font-size:1.04rem;max-width:62ch}
.mission-banner .mb-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.mission-banner .btn{box-shadow:none}
.mission-banner .mb-join{background:var(--neon);color:var(--black);border-color:var(--neon)}
.mission-banner .mb-join:hover{background:var(--neon-hot);color:var(--black);box-shadow:0 0 16px rgba(61,255,110,.6)}
.mission-banner .mb-why{background:transparent;color:#f2fff5;border-color:#f2fff5}
.mission-banner .mb-why:hover{color:var(--neon);border-color:var(--neon);background:rgba(61,255,110,.08)}
.mission-banner .mb-hempey{flex:none;width:64px;height:auto;align-self:flex-start;filter:drop-shadow(0 0 1px rgba(242,255,245,.9)) drop-shadow(0 0 8px rgba(61,255,110,.5))}
.mission-banner :focus-visible{outline-color:var(--neon);box-shadow:0 0 0 6px rgba(61,255,110,.35)!important}
@media (max-width:620px){.mission-banner{padding:16px 16px 18px;gap:12px;border-radius:18px;box-shadow:4px 4px 0 var(--neon)}.mission-banner .mb-hempey{width:44px}.mission-banner h2{font-size:1.35rem}.mission-banner p{font-size:.98rem}}
/* Kontrast-Korrekturen (WCAG AA, Prüfung tools/check_contrast.py) */
:root{--muted:#4f5d52}
.exp-note{font-size:14px;color:#6b4a12;margin-top:12px}
.hero p,.hero .eyebrow{color:#fff}
.world .st.s-legal{color:#0b0f0c}
.opinion-label{background:#8a5a14}
.world .na{color:#68736c}
.world-fig figcaption,.lg-d,.lg-n,.world-count,.wnote,.asof,.stand,.gallery-flo-new>.credit,.world-table td[data-label]::before{color:#4f5d52}
.photo figcaption,.gallery-caps,.gallery-note{color:var(--muted)}
/* Unterstützung: „Unsere Tiger“ (tiger.py, unterstuetzen.html) – Comics auf heller Bühne, funktioniert in Hell + Dunkel */
.tiger h2{margin-top:1.2em}
.tiger-intro{font-size:1.08rem;max-width:62ch}
.tiger-stage{background:radial-gradient(ellipse at 50% 40%,#fbfdf6 0,#eef6e8 55%,#dcebd3 100%);border-radius:16px}
.tiger-stage img{display:block;width:100%;height:auto}
.tiger-group{margin:18px 0 26px}
.tiger-group .tiger-stage{border:3px solid var(--black);box-shadow:5px 5px 0 var(--neon-deep);padding:8px 10px 0;border-radius:22px}
.tiger-group figcaption{margin-top:10px;text-align:center;color:var(--muted);font-size:.95rem}
.tiger-grid{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tiger-card{background:var(--paper);border:2.5px solid var(--black);border-radius:18px;box-shadow:4px 4px 0 var(--neon-deep);padding:12px 12px 16px;text-align:center;transition:box-shadow .15s,transform .15s}
.tiger-card:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--neon),0 0 14px rgba(61,255,110,.35)}
.tiger-card .tiger-stage{margin-bottom:10px;padding:4px}
.tiger-name{margin:.1em 0 .2em;font-size:1.5rem;display:inline-block;border-bottom:3px solid var(--tc,var(--neon));padding-bottom:1px}
.tiger-haze{--tc:#9b8cc9}.tiger-cookie{--tc:#f0a04b}.tiger-runtz{--tc:#7f9cc8}
.tiger-role{display:inline-block;margin:0 0 .5em;background:var(--black);color:var(--neon);border-radius:999px;padding:2px 12px;font:600 .9rem/1.5 var(--serif);letter-spacing:.2px}
.tiger-name+.tiger-role{display:table;margin:0 auto .5em}
.tiger-text{margin:0;font-size:.98rem}
.tiger-credit{font-size:.9rem;color:var(--muted)}
@media (max-width:900px){.tiger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.tiger-grid{grid-template-columns:1fr;gap:18px}.tiger-card .tiger-stage img{max-width:300px;margin:0 auto}.tiger-group .tiger-stage{padding:4px 4px 0;box-shadow:4px 4px 0 var(--neon-deep)}}
/* Unterstützung: Patreon-Stufen & Unterstützer-Wand (tiger.py, unterstuetzen.html) */
.support{margin:1.2em 0 2.2em}
.support-hero{position:relative;display:flex;gap:20px;align-items:flex-start;background:var(--black) radial-gradient(circle at 92% 10%,rgba(61,255,110,.16),transparent 45%);color:#e8f3ea;border:3px solid var(--black);border-radius:22px;box-shadow:6px 6px 0 var(--neon),0 0 26px rgba(61,255,110,.22);padding:22px 26px;margin:0 0 24px;overflow:hidden}
.support-hero::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--neon-hot),var(--neon) 60%,transparent)}
.support-hempey{flex:none;width:68px;height:auto;filter:drop-shadow(0 0 1px rgba(242,255,245,.9)) drop-shadow(0 0 8px rgba(61,255,110,.5))}
.support-hero-body{flex:1;min-width:0}
.support-hero h2{margin:0 0 .35em;padding:0;background:none;color:var(--neon);font-size:1.7rem;line-height:1.2;text-shadow:0 0 14px rgba(61,255,110,.45)}
.support-hero p{margin:0 0 .9em;color:#dbe8de;font-size:1.02rem;max-width:66ch}
.support-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0!important}
.support-hero .btn{box-shadow:none}
.support-btn-main{background:var(--neon);color:var(--black);border-color:var(--neon)}
.support-btn-main:hover{background:var(--neon-hot);color:var(--black);box-shadow:0 0 16px rgba(61,255,110,.6)}
.support-btn-once{background:var(--black-2);color:#f2fff5;border-color:#f2fff5}
.support-btn-once:hover{color:var(--neon);border-color:var(--neon);background:#000}
.support-hero :focus-visible{outline-color:var(--neon);box-shadow:0 0 0 6px rgba(61,255,110,.35)!important}
.support-tiers-h{margin:1.2em 0 .7em;font-size:1.35rem}
.support-grid{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.support-card{background:var(--paper);border:2.5px solid var(--black);border-radius:18px;box-shadow:4px 4px 0 var(--neon-deep);padding:16px 18px 18px;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.support-card:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--neon),0 0 14px rgba(61,255,110,.3)}
.support-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.support-badge{display:inline-block;background:var(--green-100);color:var(--green-900);border:1.8px solid var(--black);border-radius:999px;padding:2px 11px;font:700 .82rem/1.4 var(--serif);letter-spacing:.3px}
.support-price{display:inline-block;background:var(--black);color:var(--neon);border-radius:999px;padding:3px 12px;font:700 .88rem/1.4 var(--serif);letter-spacing:.2px}
.support-tier-name{margin:.15em 0 .35em;font-size:1.25rem}
.support-tier-desc{margin:0 0 .9em;font-size:.98rem;color:var(--ink);flex:1}
.support-tier-link{margin:0;font:700 .96rem/1.3 var(--serif)}
.support-once{background:var(--green-50);border:2.5px solid var(--black);border-radius:18px;box-shadow:4px 4px 0 var(--neon-deep);padding:18px 20px}
.support-once h3{margin:.2em 0 .35em;font-size:1.28rem}
.support-once p{margin:0 0 .8em}
.support-once-cta{margin:0!important}
.support-btn-shop{background:var(--black);color:var(--neon);border-color:var(--black);box-shadow:3px 3px 0 var(--neon-deep)}
.support-btn-shop:hover{background:#000;color:var(--neon);box-shadow:4px 4px 0 var(--neon),0 0 12px rgba(61,255,110,.35)}
.supporters{margin:1.8em 0 2.2em}
.supporters-intro{max-width:66ch}
.supporters-wall{margin-top:.6em}
@media (max-width:720px){.support-grid{grid-template-columns:1fr}.support-hero{padding:18px 16px;gap:12px;border-radius:18px;box-shadow:4px 4px 0 var(--neon)}.support-hempey{width:46px}.support-hero h2{font-size:1.35rem}}
.tiger-video-box{margin:1.6em 0;padding:18px 20px;background:var(--black);color:#e8f3ea;border:3px solid var(--black);border-radius:20px;box-shadow:5px 5px 0 var(--neon)}
.tiger-video-box h3{margin:0 0 .35em;color:var(--neon);font-size:1.35rem}
.tiger-video-box p{margin:0 0 .8em;color:#dbe8de;font-size:.98rem}
.tiger-video-box video{display:block;width:100%;height:auto;border-radius:14px;border:2px solid var(--neon);background:#060a07}

.notice-trans{background:var(--green-50);border-left-color:var(--green-500);margin-top:20px}
/* Mobile-Fix 2026-10-24: Tabellen scrollbar statt abgeschnitten, lange Wörter umbrechen, Sprechblasen-Zeile robust */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.content{min-width:0}
.content h1,.content h2,.content h3,.content h4{overflow-wrap:break-word}
.bubble-row{flex-wrap:wrap}
.bubble-row>:not(.avatar):not(.bubble){flex:1 1 100%;min-width:0}
.planned li a{min-width:0;overflow-wrap:break-word}
@media (max-width:620px){.planned li{flex-wrap:wrap}}
.support-hero .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media (max-width:760px){.table-wrap{overscroll-behavior-x:contain;background:linear-gradient(to right,var(--paper) 40%,transparent) left center/36px 100% no-repeat local,linear-gradient(to left,var(--paper) 40%,transparent) right center/36px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,color-mix(in srgb,var(--green-500) 45%,transparent),transparent) left center/14px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,color-mix(in srgb,var(--green-500) 45%,transparent),transparent) right center/14px 100% no-repeat scroll}}
