/* gadfun, Startseite nach Probe 829fa487 (Stefan, 20.10.: «seite 1»). Werte aus bibliothek/tokens.css, keine rohen Farben außer in den Augen. */
@font-face{font-family:Gabarito;font-style:normal;font-weight:400 900;font-display:swap;src:url(/schrift/gabarito-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Gabarito;font-style:normal;font-weight:400 900;font-display:swap;src:url(/schrift/gabarito-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Seite */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--schrift-text);font-size:var(--groesse-text);line-height:1.45;color:var(--tinte);background:var(--bogen)}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}
a{color:inherit}
.ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wrap{max-width:var(--breite-seite);margin:0 auto;padding:0 18px}
/* Name mit Augen */
.wm{display:inline-flex;align-items:center;gap:.2em;font-weight:800;letter-spacing:-.035em;line-height:1;font-size:28px;text-decoration:none}
.wm svg{width:1.12em;height:1.12em}
/* Die Augen am Namen (Stefan, 20.10.: «die augen im logo sollen der maus folgen und wenn ein button oder so geklickt wird verdrehen die sich ganz witzig
   oder schielen»): ohne Maus nach unten, am Schreibtisch nach rechts; augen.js setzt den Blick, die Klassen verdreht, schielt, wackelt die Reaktion. */
.wm-augen .pupille{transform:translate(1px,7px);transition:transform .12s ease-out}
.wm-augen.verdreht .pupille{animation:verdrehen .8s ease-in-out}
.wm-augen.schielt .p-l{animation:schielen-l .9s ease-in-out}
.wm-augen.schielt .p-r{animation:schielen-r .9s ease-in-out}
.wm-augen.wackelt .pupille{animation:wackeln .9s ease-out}
.wm-augen.wackelt .p-r{animation-delay:.06s}
@keyframes verdrehen{0%{transform:translate(0,-6.5px)}12.5%{transform:translate(4.6px,-4.6px)}25%{transform:translate(6.5px,0)}37.5%{transform:translate(4.6px,4.6px)}50%{transform:translate(0,6.5px)}62.5%{transform:translate(-4.6px,4.6px)}75%{transform:translate(-6.5px,0)}87.5%{transform:translate(-4.6px,-4.6px)}100%{transform:translate(0,-6.5px)}}
@keyframes schielen-l{0%,100%{transform:translate(0,0)}25%,75%{transform:translate(6px,1.5px)}}
@keyframes schielen-r{0%,100%{transform:translate(0,0)}25%,75%{transform:translate(-6px,1.5px)}}
@keyframes wackeln{0%{transform:translate(0,6.5px)}15%{transform:translate(-6px,3px)}30%{transform:translate(5px,4px)}45%{transform:translate(-3.5px,5.5px)}60%{transform:translate(2px,6px)}75%{transform:translate(-1px,6.5px)}100%{transform:translate(0,6.5px)}}
@media (prefers-reduced-motion:reduce){.wm-augen .pupille{transition:none;animation:none!important}}
/* Kopf; das Testband in Sand, solange die Geschenke Beispiele sind */
.testband{background:var(--sand);color:var(--tinte);font-size:13px;text-align:center;padding:8px 18px}
.testband b{font-weight:800}
.nav{display:flex;justify-content:space-between;align-items:center;padding:16px 0}
.nav a.leise{font-size:var(--groesse-klein);font-weight:600}
/* Leer */
.h1{font-size:44px;font-weight:800;line-height:.95;letter-spacing:-.045em;margin-top:var(--abstand-l)}
.unter{font-size:16px;color:var(--meta);margin-top:12px;max-width:30ch}
.form{margin-top:var(--abstand-l)}
.form label{display:block;font-size:var(--groesse-klein);font-weight:700;margin-bottom:6px}
.satzfeld{display:block;width:100%;min-height:96px;resize:vertical;border:var(--kante-feld) solid var(--tinte);border-radius:var(--radius-kachel);background:var(--flaeche);padding:14px;font-size:17px;line-height:1.35}
.satzfeld::placeholder{color:var(--meta)}
.gruppe{margin-top:var(--abstand-m)}
.gruppe p{font-size:13px;font-weight:600;color:var(--meta);margin-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{background:var(--sand);border-radius:var(--radius-knopf);padding:9px 12px;font-size:15px;font-weight:500;min-height:40px}
.chip[aria-pressed=true]{background:var(--tinte);color:var(--bogen)}
.knopf{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:var(--abstand-l);background:var(--akzent);color:var(--auf-akzent);font-weight:800;font-size:17px;padding:16px;border-radius:var(--radius-knopf)}
.ohne{font-size:13px;color:var(--meta);margin-top:10px;text-align:center}
.bsp{display:none}
/* Ergebnis */
.satz-kurz{display:flex;gap:10px;align-items:flex-start;border:var(--kante-linie) solid var(--linie);background:var(--flaeche);border-radius:var(--radius-kachel);padding:12px 12px 12px 14px;font-size:15px;color:var(--meta);margin-top:var(--abstand-m)}
.satz-kurz span{flex:1}
.satz-kurz button{font-size:13px;font-weight:700;color:var(--tinte);text-decoration:underline;min-height:24px}
.merk-titel{font-size:13px;font-weight:600;color:var(--meta);margin:var(--abstand-m) 0 6px}
.merkmal{display:inline-flex;align-items:center;gap:6px;background:var(--flaeche);border:var(--kante-linie) solid var(--tinte);border-radius:var(--radius-knopf);padding:8px 10px 8px 12px;font-size:15px;font-weight:600;min-height:40px}
.merkmal .ico{width:14px;height:14px;color:var(--meta)}
.merkmal.offen{border-style:dashed;color:var(--meta);background:transparent}
.frage{background:var(--sand);border-radius:var(--radius-kachel);padding:var(--abstand-m);margin-top:var(--abstand-m)}
.frage h2{font-size:17px;font-weight:800;letter-spacing:-.01em}
.frage p{font-size:14px;color:var(--meta);margin:2px 0 10px}
.frage .chip{background:var(--flaeche)}
.ergebnis-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:var(--abstand-xl) 0 var(--abstand-m)}
.ergebnis-kopf h2{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.05}
.ergebnis-kopf p{font-size:13px;color:var(--meta);white-space:nowrap}
.raster{display:grid;grid-template-columns:1fr 1fr;gap:var(--abstand-l) 12px}
.k{display:flex;flex-direction:column}
.foto{position:relative;aspect-ratio:1;background:var(--flaeche);border:var(--kante-linie) solid var(--linie);border-radius:var(--radius-kachel);overflow:hidden;display:grid;place-items:center;color:var(--symbol-leise)}
.foto img{width:100%;height:100%;object-fit:contain;display:block}
.foto .ico{width:38%;height:38%;stroke-width:1.4}
.foto small{position:absolute;right:8px;bottom:6px;font-size:10px;letter-spacing:.06em;color:var(--meta)}
.shop{font-size:13px;color:var(--meta);margin-top:8px}
.k h3{font-size:15px;font-weight:600;line-height:1.25;margin-top:1px}
.preis{font-size:18px;font-weight:800;margin-top:2px}
.zum{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:14px;font-weight:700}
.zum a{display:inline-flex;align-items:center;gap:4px;min-height:32px}
.zum .ico{width:14px;height:14px}
.anz{font-size:11px;font-weight:600;color:var(--meta);border:1px solid var(--linie);border-radius:4px;padding:1px 5px}
.wahl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto;padding-top:8px}
.wahl button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:40px;border:1px solid var(--linie);border-radius:var(--radius-knopf);font-size:13px;font-weight:600;background:var(--bogen)}
.wahl .ico{width:14px;height:14px}
/* Volltreffer */
.k.top{grid-column:1/-1}
.k.top .foto{border:var(--kante-treffer) solid var(--akzent);aspect-ratio:4/3}
.treffer{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;background:var(--akzent);color:var(--auf-akzent);font-size:13px;font-weight:800;padding:4px 9px 4px 6px;border-radius:7px;z-index:1}
.treffer svg{width:1.35em;height:1.35em}
.k.top h3{font-size:21px;font-weight:700;letter-spacing:-.01em}
.k.top .preis{font-size:24px}
.warum{font-size:15px;color:var(--meta);margin-top:4px}
.k.top .zum a{background:var(--tinte);color:var(--bogen);padding:10px 14px;border-radius:var(--radius-knopf);text-decoration:none;min-height:44px}
.andere{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-align:center;border:var(--kante-feld) dashed var(--symbol-leise);border-radius:var(--radius-kachel);font-weight:800;font-size:17px;padding:20px;min-height:160px}
.andere .ico{width:28px;height:28px}
.andere span{font-size:13px;font-weight:500;color:var(--meta)}
.noch{margin-top:var(--abstand-xl)}
.noch label{display:block;font-size:17px;font-weight:800;margin-bottom:6px}
.noch-zeile{display:flex;gap:8px}
.noch input{flex:1;min-width:0;border:var(--kante-feld) solid var(--tinte);border-radius:var(--radius-kachel);background:var(--flaeche);padding:12px 14px;font-size:16px}
.noch input::placeholder{color:var(--meta)}
.noch button{background:var(--tinte);color:var(--bogen);border-radius:var(--radius-knopf);padding:0 16px;font-weight:700;font-size:15px}
footer{margin-top:var(--abstand-xxl);border-top:var(--kante-feld) solid var(--tinte);padding:var(--abstand-l) 0 var(--abstand-xl);font-size:13px;color:var(--meta);display:grid;gap:10px}
footer p b{color:var(--tinte)}
/* Schreibtisch */
@media (min-width:900px){
 .wrap{padding:0 48px}
 .wm{font-size:34px}.wm-augen .pupille{transform:translate(6px,4px)}
 .nav{padding:26px 0}
 .leer{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:center;padding:var(--abstand-xl) 0 var(--abstand-xxl)}
 .h1{font-size:88px;margin-top:0}
 .unter{font-size:var(--groesse-gross);max-width:32ch}
 .satzfeld{min-height:84px;font-size:19px}
 .gruppen{display:flex;gap:var(--abstand-xl)}
 .knopf{width:auto;display:inline-flex;padding:15px 22px}
 .ohne{text-align:left;display:inline-block;margin-left:14px}
 .bsp{display:block}
 .bsp>p{font-size:var(--groesse-klein);font-weight:600;color:var(--meta);margin-bottom:10px}
 .bsp-raster{display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .bsp-raster .foto{aspect-ratio:1}
 .ergebnis{display:grid;grid-template-columns:4fr 8fr;gap:56px;align-items:start}
 .steuer{position:sticky;top:20px}
 .ergebnis-kopf{margin-top:var(--abstand-m)}
 .ergebnis-kopf h2{font-size:var(--groesse-titel)}
 .raster{grid-template-columns:repeat(3,1fr);gap:var(--abstand-xl) 18px}
 .k.top{display:grid;grid-template-columns:7fr 5fr;gap:24px;align-items:end}
 .k.top .foto{aspect-ratio:4/3}
 .k.top h3{font-size:var(--groesse-unterzeile)}
 .k.top .wahl{max-width:280px}
 .andere{grid-column:1/-1;flex-direction:row;min-height:72px}
 .andere span{margin-left:6px}
 .noch{margin-top:var(--abstand-l)}
 footer{grid-template-columns:2fr 1fr}
}

/* Gebaut statt Probe: Symbole, Chips ohne Skript, Auswahl über details, Links statt Knöpfe */
.symbole{position:absolute}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
fieldset{border:0;min-width:0}
legend{font-size:13px;font-weight:600;color:var(--meta);margin-bottom:6px}
label.chip{display:inline-flex;align-items:center;cursor:pointer}
label.chip:has(input:checked){background:var(--tinte);color:var(--bogen)}
label.chip:has(input:focus-visible),a:focus-visible,button:focus-visible,summary:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid var(--akzent);outline-offset:2px}
a.chip{display:inline-flex;align-items:center;text-decoration:none;background:var(--flaeche)}
a.merkmal{text-decoration:none;color:inherit}
.merkmal.fest{border-color:var(--linie)}
.wahl-chip{position:relative;display:inline-block}
.wahl-chip[open] summary{background:var(--tinte);color:var(--bogen);border-color:var(--tinte)}
.wahl-chip[open] summary .ico{color:var(--bogen)}
.menue{position:absolute;z-index:5;top:calc(100% + 4px);left:0;min-width:180px;max-height:300px;overflow:auto;background:var(--flaeche);border:var(--kante-linie) solid var(--tinte);border-radius:var(--radius-kachel);padding:6px;display:grid;gap:2px}
.menue a{display:block;padding:8px 10px;border-radius:var(--radius-klein);text-decoration:none;font-size:15px}
.menue a:hover{background:var(--sand)}
.satz-kurz a{font-size:13px;font-weight:700;color:var(--tinte);text-decoration:underline;min-height:24px}
.wahl a{display:flex;align-items:center;justify-content:center;gap:4px;min-height:40px;border:1px solid var(--linie);border-radius:var(--radius-knopf);font-size:13px;font-weight:600;background:var(--bogen);text-decoration:none}
.wahl a:hover{border-color:var(--tinte)}
a.andere{text-decoration:none;color:inherit}
.bsp .k h3{margin-top:8px}
.leer-hinweis{color:var(--meta);margin-top:var(--abstand-m)}
.beispiel{padding:var(--abstand-xl) 0 var(--abstand-xxl);max-width:40ch}
.beispiel .knopf{display:inline-flex;width:auto;text-decoration:none;padding:15px 22px}
.recht{padding:var(--abstand-xl) 0 var(--abstand-xxl);max-width:68ch}
.recht h2{font-size:18px;font-weight:800;letter-spacing:-.02em;margin-top:var(--abstand-l)}
.recht p{margin-top:8px;line-height:1.5}
.recht .unter{max-width:none}
/* Suche v2: Warten ohne Skript, Korrektur am Chip, leise Hinweise */
.wartet{display:flex;align-items:center;gap:14px;padding:var(--abstand-xl) 0;color:var(--meta);font-weight:600}
.wartet-augen{width:56px;height:56px;animation:gucken 1.2s ease-in-out infinite alternate}
@keyframes gucken{from{transform:translateX(-4px)}to{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){.wartet-augen{animation:none}}
.wartet:has(+ .ergebnis){display:none}
.statt{display:block;font-size:11px;font-weight:500;color:var(--meta)}
.leise-hinweis{font-size:13px;color:var(--meta);margin-top:8px}
.leise-hinweis a{color:var(--tinte);font-weight:700}
