/* Amtshilfe Werkzeuge: gemeinsamer Stil */
@font-face{font-family:'Bricolage Grotesque';font-weight:700;font-display:swap;src:url('../fonts/BricolageGrotesque-Bold.woff2') format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-weight:800;font-display:swap;src:url('../fonts/BricolageGrotesque-ExtraBold.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:400;font-display:swap;src:url('../fonts/IBMPlexSans-Regular.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:500;font-display:swap;src:url('../fonts/IBMPlexSans-Medium.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:600;font-display:swap;src:url('../fonts/IBMPlexSans-SemiBold.woff2') format('woff2')}
:root{--papier:#f4f1ea;--papier-2:#eae5d9;--linie:#d8d2c4;--tinte:#12234f;--tinte-2:#1c2f66;--wein:#7b1e2e;--gelb:#f5c33b;--wein-2:#5e1622;--grau:#5c6572;--gruen:#2a7a4b;--display:'Bricolage Grotesque','Arial Black',sans-serif;--body:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none !important}
html,body{height:100%}
body{margin:0;background:var(--tinte);color:var(--papier);font-family:var(--body);font-size:17px;line-height:1.5;display:flex;flex-direction:column;min-height:100dvh}
button{font:inherit;cursor:pointer;min-height:44px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffb6a3;outline-offset:3px}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px}
.marke{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--papier)}
.marke .st{font-family:var(--display);font-weight:800;font-size:21px;line-height:1;letter-spacing:-.02em;transform:none;border:0;padding:0;background:none}
.geraet{width:24px;height:26px;fill:currentColor;transform:rotate(-8deg);flex:none}.geraet .band{fill:var(--gelb)}
.marke .n{font-family:var(--body);font-weight:500;font-size:15px;color:rgba(244,241,234,.72);padding-left:11px;margin-left:2px;border-left:1px solid rgba(244,241,234,.28);line-height:1.1}
.kopf-r{display:flex;gap:8px;align-items:center}
.icon{white-space:nowrap;background:rgba(244,241,234,.1);border:0;color:var(--papier);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;cursor:pointer;transition:background .15s}
.icon:hover{background:rgba(244,241,234,.2)}.icon[aria-pressed="true"]{background:var(--papier);color:var(--tinte)}
.icon[aria-pressed="true"]{background:var(--papier);color:var(--tinte);border-color:var(--papier)}
main{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px 20px 24px;gap:18px;width:100%}
.btn{background:var(--wein);color:var(--papier);border:2px solid var(--wein);border-radius:10px;padding:12px 24px;font-weight:600;font-size:17px;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn:hover{background:var(--wein-2);border-color:var(--wein-2)}
.btn.leise{background:transparent;color:var(--papier);border-color:rgba(244,241,234,.4)}
.btn.leise:hover{border-color:var(--papier);background:transparent}
.btn.klein{padding:8px 14px;font-size:14px;min-height:38px}
.hinweis{font-size:13px;color:rgba(244,241,234,.6);text-align:center;max-width:60ch}
footer{padding:12px 20px 18px;text-align:center;font-size:13px;color:rgba(244,241,234,.6)}
footer a{color:rgba(244,241,234,.85)}
/* Helle Fläche */
.flaeche{background:#fff;color:var(--tinte);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.35);padding:clamp(20px,3vw,32px);width:min(960px,100%)}
.flaeche h2{font-family:var(--display);font-weight:700;font-size:24px;margin:0 0 6px;letter-spacing:-.01em}
.flaeche p{margin:0 0 12px;color:var(--grau);font-size:15px}
label.feld{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--tinte)}
label.feld span{font-weight:400;color:var(--grau)}
input[type=text],input[type=number],select,textarea{font:inherit;font-size:16px;padding:10px 12px;border-radius:8px;border:2px solid var(--linie);background:#fff;color:var(--tinte);min-height:44px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--tinte);outline:none}
.b2{background:var(--tinte);color:#fff;border:2px solid var(--tinte);border-radius:8px;padding:8px 14px;font-weight:600;font-size:14px;min-height:40px}
.b2:hover{background:var(--tinte-2)}
.b2.leise{background:transparent;color:var(--tinte)}
.b2.leise:hover{background:var(--papier-2)}
.b2.rot{background:var(--wein);border-color:var(--wein)}
.b2.rot:hover{background:var(--wein-2)}
.leer{color:var(--grau);font-size:15px;padding:14px;border:1px dashed var(--linie);border-radius:10px;text-align:center}
.zeile{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.zeile > *{flex:1 1 160px}
.zeile > button{flex:0 0 auto}
.gross{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1}
.vollbild header,.vollbild footer,.vollbild .hinweis{display:none}
.vollbild main{padding:3vh 4vw;justify-content:center}
@media (max-width:560px){.marke .n{display:none}.flaeche{padding:16px;border-radius:14px}}
/* Karten-Engine */
.wahl{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:760px}
.wahl button{background:transparent;border:2px solid rgba(244,241,234,.3);color:var(--papier);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}
.wahl button[aria-pressed="true"]{background:var(--papier);color:var(--tinte);border-color:var(--papier)}
.buehne{position:relative;width:min(640px,100%);aspect-ratio:3/2;max-height:58vh}
.karte{position:absolute;inset:0;background:#fff;color:var(--tinte);border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.35);padding:clamp(22px,4vw,40px);display:flex;flex-direction:column;justify-content:space-between;transform-origin:50% 100%}
.karte.hinten{inset:6% 4% -3% 4%;background:var(--papier-2);box-shadow:none;z-index:0}
.karte.vorn{z-index:1}
.karte .kat{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:var(--wein)}
.karte .kat .zeit{color:var(--grau);font-weight:500}
.karte .text{font-family:var(--display);font-weight:700;font-size:clamp(22px,3.4vw,36px);line-height:1.15;letter-spacing:-.01em;overflow:auto}
.karte .text.lang{font-size:clamp(18px,2.6vw,27px)}
.karte .fuss{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--grau);flex-wrap:wrap}
.karte .fuss b{color:var(--tinte);font-weight:600}
.aufl{background:transparent;border:2px solid var(--tinte);color:var(--tinte);border-radius:8px;padding:6px 12px;font-size:14px;font-weight:600;min-height:36px}
.aufl:hover{background:var(--tinte);color:#fff}
.aufl.rot{background:var(--wein);border-color:var(--wein);color:#fff}
.aufl.rot:hover{background:var(--wein-2);border-color:var(--wein-2)}
.loesung{margin-top:12px;padding:12px 14px;background:var(--papier);border-radius:10px;font-family:var(--body);font-size:16px;font-weight:500;line-height:1.45;color:var(--tinte)}
.loesung[hidden]{display:none}
.karte.zieh{animation:zieh .42s cubic-bezier(.2,.7,.3,1)}
@keyframes zieh{0%{transform:translateY(0) rotate(0)}40%{transform:translateY(-34px) rotate(-2.5deg)}100%{transform:translateY(0) rotate(0)}}
@media (prefers-reduced-motion:reduce){.karte.zieh{animation:none}}
.start{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:14px;text-align:center}
.start h1{font-family:var(--display);font-weight:800;font-size:clamp(36px,7vw,58px);margin:0;letter-spacing:-.02em}
.start p{margin:0;color:var(--grau);max-width:36ch}
.vollbild .wahl{display:none}
.vollbild .buehne{width:min(1100px,100%);max-height:80vh}
.vollbild .karte .text{font-size:clamp(28px,4.4vw,60px)}
.vollbild .karte .text.lang{font-size:clamp(22px,3.2vw,40px)}
dialog{border:0;border-radius:16px;padding:0;max-width:min(560px,calc(100% - 32px));background:var(--papier);color:#1a1a1a;font-family:var(--body)}
dialog::backdrop{background:rgba(18,35,79,.7)}
dialog .in{padding:28px}
dialog h2{font-family:var(--display);color:var(--tinte);margin:0 0 10px;font-size:26px}
dialog p{margin:0 0 12px;line-height:1.55}
dialog .kats{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:15px;margin:14px 0}
dialog .kats span b{color:var(--wein)}
@media (max-width:560px){.buehne{aspect-ratio:4/5;max-height:62vh}}

@media (max-width:560px){header{padding:12px 14px;gap:8px}.icon{white-space:nowrap;background:rgba(244,241,234,.1);border:0;color:var(--papier);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;cursor:pointer;transition:background .15s}.kopf-r{gap:6px}}
