/* Gemeinsames Design für Startseite, Verfahrensseite und Platzhalterseiten.
   Farben und Schriften entsprechen der Such-App (lotse.html). */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin-wdth-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --bg:#eef1f4; --surface:#fff; --sunk:#f6f8fa; --ink:#16202b; --muted:#5a6573; --line:#d6dce3;
  --accent:#1c4f8a; --accent-ink:#fff; --accent-soft:#e3ecf7;
  --warn-bg:#fbeed6; --warn:#9a5b00;
  --radius:8px; --shadow:0 1px 2px rgba(22,32,43,.06),0 6px 18px rgba(22,32,43,.06);
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --head:"Archivo","Arial Narrow",system-ui,sans-serif;
  color-scheme:light;
}
html[lang=zh]{--body:"IBM Plex Sans","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;--head:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif}
html[lang=ja]{--body:"IBM Plex Sans","Hiragino Sans","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",sans-serif;--head:"Hiragino Sans","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",sans-serif}
html[lang=hi]{--body:"IBM Plex Sans","Noto Sans Devanagari","Kohinoor Devanagari","Nirmala UI","Mangal",sans-serif;--head:"Noto Sans Devanagari","Kohinoor Devanagari","Nirmala UI","Mangal",sans-serif}
html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3,html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=hi] h1,html[lang=hi] h2,html[lang=hi] h3{font-stretch:100%;letter-spacing:0}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--body)}
html:not(.i18n-ready) main{opacity:0}
main{transition:opacity .15s}
h1,h2,h3{font-family:var(--head);font-stretch:85%;letter-spacing:-.005em;text-wrap:balance;margin:0;line-height:1.15}
h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800}
h2{font-size:1.35rem;font-weight:700}
h3{font-size:1rem;font-weight:700}
p{margin:0}
a{color:var(--accent)}
:focus-visible{outline:3px solid #6aa5ec;outline-offset:2px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;background:var(--accent);color:#fff;padding:8px 12px;border-radius:6px;z-index:10}
.skip:focus{top:8px}

/* Kopfleiste */
.bar{max-width:1080px;margin:0 auto;padding:14px max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--head);font-stretch:85%;font-weight:700;font-size:1.05rem}
.brand .mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:6px;background:var(--accent);color:#fff;font:500 .8rem "IBM Plex Mono",monospace}
.back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:.95rem;color:var(--accent);padding:6px 0}
.back:hover{text-decoration:underline}
.lang select{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:7px 28px 7px 10px;min-height:38px;cursor:pointer}

.wrap{max-width:1080px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left)) 40px}

/* Startseite: Hero */
.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:center;padding:20px 0 12px}
.eyebrow{font:500 .78rem "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.hero h1{margin-bottom:16px}
.lead{font-size:1.15rem;color:var(--ink);max-width:34em}
.note{margin-top:14px;font-size:.92rem;color:var(--muted);display:flex;gap:8px;align-items:center}
.note::before{content:"";width:8px;height:8px;border-radius:50%;background:#23714a;flex:none}
.mascot-box{display:flex;flex-direction:column;align-items:center;gap:8px}
.mascot{width:min(100%,340px);height:auto;display:block}
.bubble{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 16px;font-weight:500;box-shadow:var(--shadow);max-width:280px;text-align:center}
.bubble::after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}

/* Karten */
section.block{margin-top:28px}
section.block>h2{margin-bottom:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-2px);border-color:var(--accent)}
.card .ico{width:40px;height:40px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:4px}
.card h3{font-size:1.2rem}
.card p{color:var(--muted);font-size:.95rem;flex:1}
.card .go{margin-top:6px;color:var(--accent);font-weight:600}
.card .go::after{content:" →"}
.card.wide{flex-direction:row;align-items:center;gap:18px}
.card.wide .txt{flex:1}
.card.wide h3{margin-bottom:4px}
.card.soon{border-style:dashed}
.badge{position:absolute;top:16px;right:16px;font:500 .72rem "IBM Plex Mono",monospace;letter-spacing:.04em;text-transform:uppercase;background:var(--warn-bg);color:var(--warn);border-radius:999px;padding:3px 10px}

.badge.static{position:static}

/* Fuß */
.foot{max-width:1080px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-left)) 40px;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem;display:grid;gap:6px}
.foot a{color:var(--accent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 1rem var(--body);min-height:44px;padding:10px 18px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:var(--surface);color:var(--accent)}

/* Verfahrensseite */
.intro{display:grid;grid-template-columns:1fr 170px;gap:20px;align-items:center;padding:8px 0 4px}
.intro h1{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:10px}
.intro .mascot{width:170px}
.controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 8px}
.controls .lbl{font-size:.9rem;color:var(--muted)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:3px}
.seg button{font:500 .95rem var(--body);border:0;background:transparent;color:var(--ink);padding:8px 16px;border-radius:6px;cursor:pointer;min-height:38px}
.seg button[aria-pressed=true]{background:var(--accent);color:#fff}
.helper{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-top:16px}
.helper h2{margin-bottom:10px}
.helper .q{font-size:1.05rem;margin-bottom:14px;max-width:46em}
.helper .yn{display:flex;gap:10px;flex-wrap:wrap}
.helper .res{display:grid;gap:10px}
.helper .res .name{font:700 1.4rem var(--head);color:var(--accent)}
.helper .hint,.muted{color:var(--muted);font-size:.92rem}
.procs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
.proc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;scroll-margin-top:16px}
.proc.hl{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}
.proc .head h2{font-size:1.6rem}
.proc .full{color:var(--muted);font-size:.92rem}
.proc .tag{font-weight:500}
.dots{display:flex;gap:6px;padding:4px 0}
.dots i{width:14px;height:14px;border-radius:50%;background:#d6dce3;display:block}
.dots i.a{background:var(--accent)}
.dots i.r{background:#16202b}
.dots i.c{background:var(--accent)}
.dots i.n{background:transparent;border:2px dashed var(--accent)}
.dots.eu{padding:4px 8px;border:2px solid var(--accent);border-radius:999px;width:max-content}
.facts{margin:0;display:grid;gap:10px}
.facts div{display:grid;grid-template-columns:7.5em 1fr;gap:10px}
.facts dt{font:500 .78rem "IBM Plex Mono",monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.facts dd{margin:0}
.adv{display:none;border-top:1px dashed var(--line);padding-top:12px;gap:10px;flex-direction:column}
body[data-mode=advanced] .adv{display:flex}
.adv h3{font-size:.8rem;font-family:"IBM Plex Mono",monospace;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-stretch:100%}
.adv ol,.adv ul{margin:4px 0 0;padding-left:1.3em;display:grid;gap:4px}
.adv .law{font-family:"IBM Plex Mono",monospace;font-size:.88rem;background:var(--sunk);border-radius:4px;padding:4px 8px;width:max-content;max-width:100%}
.callout{margin-top:20px;background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.callout .t{flex:1;min-width:240px}
.callout h3{font-size:1.1rem;margin-bottom:4px}
.reform{margin-top:16px;background:var(--warn-bg);border-left:3px solid var(--warn);border-radius:0 6px 6px 0;padding:10px 14px;font-size:.92rem}
.small{font-size:.88rem;color:var(--muted);margin-top:12px}


/* Unterseiten der Verfahren: Fließdiagramm */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 4px}
.chip{display:inline-flex;align-items:center;font:500 .8rem "IBM Plex Mono",monospace;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;white-space:nowrap}
.factsbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);margin-top:14px}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 0;font-size:.88rem;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.sh{width:14px;height:14px;display:inline-block;flex:none}
.sh.step{border-radius:50%;background:var(--accent)}
.sh.decision{background:#c27a00;transform:rotate(45deg) scale(.8)}
.sh.pause{border-radius:50%;border:2px dashed #7b8794}
.sh.end{border-radius:50%;background:#23714a}
.hint-b{color:var(--muted);font-size:.9rem;margin-top:6px}
body[data-mode=advanced] .hint-b{display:none}
.flow{list-style:none;margin:18px 0 0;padding:0;counter-reset:ph}
.phase{margin-top:26px}
.phase>h2{display:flex;align-items:center;gap:10px;font-size:1.15rem}
.phase>h2::before{counter-increment:ph;content:counter(ph);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font:600 .85rem "IBM Plex Mono",monospace}
.nodes{list-style:none;margin:12px 0 0;padding:0 0 0 38px;position:relative}
.nodes::before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:3px;background:linear-gradient(var(--line),var(--line));border-radius:2px}
.node{position:relative;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin:0 0 14px;box-shadow:var(--shadow)}
.node::before{content:"";position:absolute;left:-34px;top:16px;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.node::after{content:"";position:absolute;left:-27px;top:100%;margin-top:2px;border:5px solid transparent;border-top:7px solid #aab4c0;border-bottom:0;height:0;width:0;transform:translateX(-3px)}
.node:last-child::after{display:none}
.node .day{font:600 .8rem "IBM Plex Mono",monospace;background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:3px 8px;white-space:nowrap;align-self:start;grid-column:1}
.node .nb{grid-column:2}
.node.noday .nb{grid-column:1/-1}
.node h3{font-size:1.02rem;font-family:var(--body);font-stretch:100%;font-weight:600;letter-spacing:0;line-height:1.35}
.node p{color:var(--muted);font-size:.93rem;margin-top:3px}
.node.decision{border-left:4px solid #c27a00}
.node.decision::before{border-radius:2px;background:#c27a00;transform:rotate(45deg) scale(.82)}
.node.pause{background:var(--sunk);border-style:dashed}
.node.pause::before{background:var(--bg);border:3px dashed #7b8794;width:14px;height:14px}
.node.note{background:transparent;border-style:dashed;box-shadow:none}
.node.note::before{background:#7b8794;width:10px;height:10px;left:-31px}
.node.end{border-left:4px solid #23714a}
.node.end::before{background:#23714a}
.node.end::after{display:none}
.branch{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.branch p{margin:0;padding:8px 12px;border-radius:6px;font-size:.9rem;color:var(--ink)}
.branch .y{background:#e2f2e9;border-left:3px solid #23714a}
.branch .n{background:var(--warn-bg);border-left:3px solid #c27a00}
.node.adv-only,.phase.adv-only{display:none}
body[data-mode=advanced] .node.adv-only{display:grid}
body[data-mode=advanced] .phase.adv-only{display:block}
.others{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.others a{display:inline-flex;gap:8px;align-items:baseline;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px 14px;color:var(--ink)}
.others a:hover{border-color:var(--accent)}
.others small{color:var(--muted)}
.sources{margin-top:26px}
.sources ul{margin:8px 0 0;padding-left:1.2em;display:grid;gap:4px}
.proc .more{margin-top:auto;align-self:flex-start}
@media (max-width:820px){
  .node{grid-template-columns:1fr}
  .node .day,.node .nb{grid-column:1}
  .branch{grid-template-columns:1fr}
  .nodes{padding-left:32px}
  .node::before{left:-30px}
  .node::after{left:-23px}
}

/* Platzhalterseite */
.center{max-width:560px;margin:0 auto;text-align:center;display:grid;gap:14px;justify-items:center;padding:12px 0 24px}
.center .mascot{width:230px}
.center .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}

@media (max-width:820px){
  .hero{grid-template-columns:1fr}
  .mascot-box{order:-1}
  .mascot{width:210px}
  .cards{grid-template-columns:1fr}
  .procs{grid-template-columns:1fr}
  .intro{grid-template-columns:1fr}
  .intro .mascot-box{order:-1}
  .intro .mascot{width:130px}
  .card.wide{flex-direction:column;align-items:flex-start}
  .facts div{grid-template-columns:1fr;gap:2px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- Vereinfachte Suche (Assistent) ---- */
.wrap.narrow{max-width:820px}
.langnote{background:var(--accent-soft);border-radius:var(--radius);padding:10px 14px;font-size:.93rem;margin:0 0 16px}
.wizard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin:8px 0 28px}
.wizard h2.wq{font-size:1.35rem;margin:6px 0 10px;line-height:1.3;outline:none}
.wizard h3{font-size:1.05rem;margin:20px 0 6px;outline:none}
.wizard .muted{color:var(--muted)}
.wizard .small{font-size:.88rem}
.wizard .step{font:600 .8rem "IBM Plex Mono",monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}
.crumbs.wz{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:.82rem}
.chip.mono{font-family:"IBM Plex Mono",monospace}
.opts{display:grid;gap:10px;margin:14px 0}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .12s,background .12s}
.opt:hover,.opt:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
.opt b{font-weight:600}
.opt span{color:var(--muted);font-size:.9rem}
.grp{font:600 .8rem "IBM Plex Mono",monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 -4px}
.condq{margin:12px 0 16px;padding:14px 18px;border-left:4px solid var(--accent);background:var(--bg);border-radius:0 var(--radius) var(--radius) 0;font-size:1.05rem}
.yn{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px}
.wz-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.resbox{background:var(--accent-soft);border-radius:var(--radius);padding:16px 18px;margin:6px 0 4px}
.reshead{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rescode{font-size:1.4rem;font-weight:600}
.resname{margin-top:4px;font-weight:600}
.tb{display:inline-block;padding:3px 12px;border-radius:6px;font:700 1rem "IBM Plex Mono",monospace;color:#fff;background:#555}
.tb.IA{background:#23714a}.tb.IAIN{background:#1b6b73}.tb.IB{background:#b86e00}.tb.II{background:#b3261e}
.docs{margin:6px 0 0 0;padding:0;list-style:none;display:grid;gap:8px}
.docs li{display:grid;grid-template-columns:28px 1fr;gap:8px;font-size:.92rem}
.docs li b{font-family:"IBM Plex Mono",monospace;color:var(--accent)}
.lbl{font-weight:600;font-size:.88rem;margin:10px 0 2px}
.ctdl{margin:0;padding-left:20px;font-size:.92rem}
.ctdl .mono{font-family:"IBM Plex Mono",monospace;color:var(--accent)}
.ok{color:#23714a;font-weight:600}
@media (max-width:560px){.wizard{padding:16px}}

/* ---- Variation-Seite ---- */
.vsec{margin-top:34px;scroll-margin-top:16px}
.vsec .vh{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:6px}
.vsec>.lead{color:var(--muted);margin-bottom:12px}
a.chip{text-decoration:none}
a.chip:hover,a.chip:focus-visible{background:var(--accent);color:#fff}
.crumbs .muted{align-self:center;color:var(--muted);margin-right:4px}
.callout .btn+.btn{margin-left:8px}

/* ---- Startseite: drei Spalten ---- */
.wrap.wide{max-width:1180px}
.titleblock{text-align:center;padding:18px 0 6px}
.titleblock h1{margin-bottom:10px}
.titleblock .lead{max-width:640px;margin:0 auto}
.stage{display:grid;grid-template-columns:1fr minmax(230px,300px) 1fr;gap:28px;align-items:start;margin-top:18px}
.stage .mascot-box.center{align-self:center;position:sticky;top:16px}
.stage .mascot{width:100%;max-width:290px;height:auto}
.side{display:flex;flex-direction:column;gap:14px}
.sidehead{margin-bottom:4px}
.sidehead h2{font-size:1.45rem;margin-bottom:2px}
.sidehead p{color:var(--muted);font-size:.95rem}
.side .card{padding:16px 18px}
.side .card h3{font-size:1.1rem}
.center-note{text-align:center;color:var(--muted);margin:26px 0 0}
@media (max-width:900px){
  .stage{grid-template-columns:1fr}
  .stage .mascot-box.center{order:-1;position:static}
  .stage .mascot{max-width:200px}
  .side.right{order:0}.side.left{order:1}
}

.region{font:600 .78rem "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:6px 0 -4px}
.region:first-of-type{margin-top:0}
table.cmp{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:10px 0 8px}
table.cmp th,table.cmp td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line)}
table.cmp th{background:var(--accent-soft);color:var(--accent);font-weight:600}
table.cmp tr:last-child td{border-bottom:0}

/* Regionen-Buttons: teilen sich beim Überfahren in Verfahren und Änderungen */
.rg{position:relative;height:84px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;transition:border-color .15s}
.rg:hover,.rg:focus-within{border-color:var(--accent)}
.rg-name{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 20px;gap:2px;transition:opacity .18s;pointer-events:none}
.rg-name b{font-size:1.2rem}
.rg-name small{color:var(--muted);font-size:.85rem}
.rg-split{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;opacity:0;transition:opacity .18s}
.rg-split a{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 10px;color:var(--accent);text-decoration:none;background:var(--accent-soft);font-size:.95rem}
.rg-split a+a{border-left:2px solid var(--surface)}
.rg-split a:hover,.rg-split a:focus-visible{background:var(--accent);color:#fff}
.rg:hover .rg-name,.rg:focus-within .rg-name{opacity:0}
.rg:hover .rg-split,.rg:focus-within .rg-split{opacity:1}
@media (hover:none),(max-width:980px){
  .rg{height:auto}
  .rg-name{position:static;padding:12px 16px 6px;pointer-events:auto}
  .rg-split{position:static;opacity:1;min-height:56px}
  .rg:hover .rg-name,.rg:focus-within .rg-name{opacity:1}
}
@media (hover:none),(max-width:980px){.rg-name small{display:none}}

/* Maskottchen inline (Augen folgen der Maus) */

.bob{animation:bob 4.5s ease-in-out infinite;transform-origin:190px 420px}
.led{animation:pulse 2.4s ease-in-out infinite}
.blink{animation:blink 6s infinite;transform-origin:190px 106px;transform-box:fill-box}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes blink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.1)}}
@media (prefers-reduced-motion:reduce){.bob,.led,.blink{animation:none}}

#pupils{transition:transform .12s ease-out}
