/* Consistent cards, links and optional appearance controls. */
[hidden]{display:none!important}
body{overflow-wrap:anywhere}
h1,h2,h3,h4{hyphens:auto}
.breadcrumb{display:flex;width:fit-content;max-width:100%;flex-wrap:wrap}
.cursor-option span{max-width:100%;overflow-wrap:anywhere;hyphens:auto}
.tool-card{display:flex;flex-direction:column;min-width:0;position:relative;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}
.tool-card h3,.download-card h3{overflow-wrap:anywhere;hyphens:auto;line-height:1.35}
.tool-card .card-action{margin-top:auto;padding-top:22px}
.tool-card .badge-line{margin-bottom:12px}
a.tool-card:hover{transform:translateY(-4px);border-color:var(--cr-2fa99b);box-shadow:0 24px 54px var(--cf-000000-a333)}
.tool-grid>.tool-card{height:100%}
.page-hero h1,.hero h1,.section h2,.lab-card h2{overflow-wrap:anywhere;hyphens:auto}
.quick-grid>a{text-decoration:none;transition:border-color .18s,background .18s}.quick-grid>a:hover{border-color:var(--cr-2fa99b);background:var(--cf-173730)}
.related-learning{margin:36px auto 0;padding:25px;border:1px solid var(--cr-294352);border-radius:22px;background:var(--cf-10202b)}
.related-learning h2{font-size:1.25rem;margin:0 0 15px}.related-links{display:flex;gap:12px;flex-wrap:wrap}.related-links a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid var(--cr-385c69);border-radius:12px;color:var(--ct-a6f1df);text-decoration:none}.related-links a:hover{background:var(--cf-164538)}
.future-intro{max-width:760px;color:var(--text-secondary);margin:15px 0 25px}.future-card{padding:26px;border:1px dashed var(--cr-536077);border-radius:24px;background:linear-gradient(145deg,var(--cf-191b2b),var(--cf-101922));display:flex;flex-direction:column;min-width:0;text-decoration:none;scroll-margin-top:160px}
.future-card h3{color:var(--ct-ece8ff);margin:15px 0 10px;font-size:1.25rem;line-height:1.4;overflow-wrap:anywhere}.future-card p{color:var(--ct-b9c4d5);margin:0 0 15px}.future-state{align-self:flex-start;padding:4px 10px;border:1px solid var(--cr-6a5886);border-radius:99px;font-size:.75rem;font-weight:800;color:var(--ct-dec7ff);background:var(--cf-392e4d)}
.future-card .future-link{margin-top:auto;color:var(--ct-a5e6df);font-weight:750;display:inline-flex;min-height:44px;align-items:center}.future-card a{color:var(--ct-a5e6df)}.future-card:target{border-style:solid;border-color:var(--cr-bb93f7);background:var(--cf-211d30)}.future-card .future-now{border-top:1px solid var(--cr-ffffff-a086);padding-top:15px;margin-top:auto;font-size:.88rem}
.section-link{display:inline-flex;align-items:center;min-height:44px;margin-top:23px;color:var(--ct-8ee4d4);font-weight:800;text-underline-offset:5px}
.appearance-controls{margin-top:26px;padding-top:20px;border-top:1px solid var(--cr-ffffff-a106);max-width:570px}.appearance-title{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--ct-98b4c4);margin:0 0 10px}.appearance-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.appearance-button,.cursor-option{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:9px 14px;border-radius:13px;border:1px solid var(--cr-3a6269);background:var(--cf-112833);color:var(--ct-e5f4f7);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.appearance-button:hover,.cursor-option:hover{border-color:var(--cr-6ddfc4);background:var(--cf-173e3d)}.appearance-button img,.cursor-option img{width:27px;height:27px;object-fit:contain;flex:none}.appearance-button:disabled{cursor:default;opacity:.7}.appearance-button[aria-pressed=true]{border-color:var(--cr-399c85);color:var(--ct-acf5d8)}
.cursor-picker{margin-top:11px}.cursor-picker summary{color:var(--ct-a7becf);font-size:.88rem;cursor:pointer;padding:7px 0;width:fit-content}.cursor-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.cursor-option{flex-direction:column;gap:5px;font-size:.75rem;padding:12px 6px}.cursor-option[aria-pressed=true]{border-color:var(--cr-72e2c1);background:var(--cf-16473e);color:var(--ct-bdffe9)}.cursor-touch-note{display:none;color:var(--ct-aac0cf);font-size:.85rem}.appearance-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.circuit-panel{position:relative;min-width:0;border:1px solid var(--cr-275956);border-radius:36px;background:radial-gradient(ellipse at 50% 49%,var(--cf-126357-a333),transparent 52%),linear-gradient(150deg,var(--cf-10262d),var(--cf-0a141d) 65%);box-shadow:0 25px 75px var(--cf-000000-a333),0 0 65px var(--cf-00bd9d-a043);overflow:hidden;isolation:isolate}
.circuit-panel::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--cf-88c1c9-a141) .8px,transparent .8px);background-size:18px 18px;z-index:-1}.circuit-kicker{display:flex;justify-content:space-between;gap:12px;padding:25px 27px 0;color:var(--ct-8bbebd);text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.13em}.circuit-kicker span:last-child{color:var(--ct-68e7bd)}.circuit-art{display:block;width:100%;height:auto;overflow:visible}.pcb-track{fill:none;stroke:var(--ct-24666a);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pcb-pulse{fill:none;stroke:var(--ct-70ffdb);stroke-width:3;stroke-linecap:round;stroke-dasharray:10 90;animation:pcb-current 5s linear infinite;filter:drop-shadow(0 0 4px var(--cf-5de4c3))}.pcb-pulse.blue{stroke:var(--ct-48d8ff);animation-duration:6.5s}.pcb-port{fill:var(--ct-0e2631);stroke:var(--ct-54afac);stroke-width:2}.pcb-chip{fill:var(--ct-112e36);stroke:var(--ct-48c1b1);stroke-width:1.5}.pcb-chip-inner{fill:var(--ct-0a2029);stroke:var(--ct-296970);stroke-width:1}.pcb-bolt{fill:var(--ct-bffff0);filter:drop-shadow(0 0 14px var(--cf-5aefc6))}.circuit-caption{display:flex;justify-content:space-between;gap:18px;margin:0;padding:0 27px 25px;color:var(--ct-afd1d2);font-size:.78rem}.circuit-caption strong{color:var(--ct-e6fffb)}
@keyframes pcb-current{to{stroke-dashoffset:-100}}
html[data-circuit-motion=paused] .pcb-pulse,.circuit-panel[data-visible=false] .pcb-pulse{animation-play-state:paused}
@media(pointer:coarse){.cursor-cycle,.cursor-picker{display:none}.cursor-touch-note{display:block;margin:10px 0 0}}
@media(max-width:1000px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:28px}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.circuit-panel{max-width:530px;width:100%;margin:auto}.circuit-kicker{padding:22px 21px 0}.circuit-caption{padding:0 21px 22px}.related-links{flex-direction:column}.future-card{padding:22px}}
@media(max-width:450px){.cursor-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){a.tool-card:hover{transform:none}.pcb-pulse{animation:none!important;stroke-dasharray:6 94;opacity:.7}.gc-path,.gc-point{opacity:1}}
@media print{.appearance-controls,.circuit-panel{display:none}.learn-chapter[hidden]{display:block!important}}

/* Native cursors keep the operating system hit testing and keyboard focus. */
@media(any-pointer:fine){
 html[data-cursor=hammer]{--tool-cursor:url('../cursors/hammer.svg') 4 4,auto}
 html[data-cursor=screwdriver]{--tool-cursor:url('../cursors/screwdriver.svg') 4 4,auto}
 html[data-cursor=caliper]{--tool-cursor:url('../cursors/caliper.svg') 4 4,auto}
 html[data-cursor=wrench]{--tool-cursor:url('../cursors/wrench.svg') 4 4,auto}
 html[data-cursor=solder]{--tool-cursor:url('../cursors/solder.svg') 4 4,auto}
 html[data-cursor=duck]{--tool-cursor:url('../cursors/duck.svg') 4 8,auto}
 html[data-cursor]:not([data-cursor=standard]),html[data-cursor]:not([data-cursor=standard]) body,html[data-cursor]:not([data-cursor=standard]) body *{cursor:var(--tool-cursor)!important}
 html[data-cursor] input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),html[data-cursor] textarea,html[data-cursor] [contenteditable=true]{cursor:text!important}
}
[hidden]{display:none!important}
.nav-links a{flex:0 0 auto;white-space:nowrap}

/* Speicherwahl-Leiste (§ 165 Abs. 3 TKG 2021) */
.consent-bar{position:fixed;left:0;right:0;bottom:0;z-index:999;background:var(--dark-card);border-top:1px solid var(--cr-00b4d8-a400);box-shadow:0 -14px 40px var(--cf-000000-a400)}
.consent-bar-inner{max-width:1180px;margin:0 auto;padding:18px 20px;display:flex;flex-wrap:wrap;gap:16px 20px;align-items:center;justify-content:space-between}
.consent-text{margin:0;flex:1 1 400px;min-width:0;color:var(--text-secondary);font-size:.92rem;line-height:1.55;overflow-wrap:anywhere}
.consent-text strong{color:var(--text-primary)}
.consent-text a{color:var(--tech-blue)}
.consent-current{margin:0;flex:1 1 100%;color:var(--tech-green);font-size:.84rem;font-weight:700}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}
.consent-btn{min-height:44px;border-radius:999px;padding:10px 18px;font:inherit;font-weight:800;font-size:.88rem;cursor:pointer;border:1px solid var(--dark-border);white-space:nowrap}
/* Beide Knöpfe gleich auffällig (gleichwertige Wahl) */
.consent-btn-decline,.consent-btn-accept{background:linear-gradient(90deg,var(--tech-blue),var(--tech-green));color:var(--ct-031117);border-color:transparent}
.consent-btn-decline:hover,.consent-btn-accept:hover{transform:translateY(-2px)}
.consent-bar:focus{outline:none}.consent-bar:focus-visible{outline:2px solid var(--tech-blue);outline-offset:-2px}
.legal-links-consent{background:none;border:0;padding:0;margin:0;font:inherit;font-size:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){.consent-bar-inner{flex-direction:column;align-items:stretch}.consent-actions{justify-content:stretch}.consent-btn{flex:1 1 0}}
@media print{.consent-bar{display:none}}

/* 404-Seite: Werkstatt-Illustration mit dezenten Detailanimationen */
.error-hero-art{position:relative;margin:34px 0 0;border-radius:28px;overflow:hidden;border:1px solid var(--cr-ffffff-a110);box-shadow:0 30px 90px var(--cf-000000-a340);isolation:isolate}
.error-hero-art img{display:block;width:100%;height:auto}
.error-hero-art .fx{position:absolute;border-radius:50%;pointer-events:none}
.fx-smoke{left:54%;top:6%;width:64px;height:64px;margin:-32px 0 0 -32px;background:radial-gradient(circle,var(--cf-ffffff-a600),var(--cf-ffffff-a000) 70%);filter:blur(3px);animation:fx-smoke-rise 4.5s ease-in-out infinite}
.fx-spark{left:47.5%;top:47%;width:22px;height:22px;margin:-11px 0 0 -11px;background:radial-gradient(circle,var(--cf-fff8d8),var(--cf-ffcf5c) 45%,var(--cf-ffcf5c-a000) 75%);animation:fx-spark-flicker 1.6s steps(7) infinite}
.fx-warn{left:86.5%;top:13%;width:16px;height:16px;margin:-8px 0 0 -8px;background:radial-gradient(circle,var(--cf-ffdd6b),var(--cf-ff9e00) 55%,var(--cf-ff9e00-a000) 75%);box-shadow:0 0 16px 4px var(--cf-ff9e00-a500);animation:fx-warn-blink 1.9s ease-in-out infinite}
@keyframes fx-smoke-rise{0%{transform:translateY(0) scale(.8);opacity:0}28%{opacity:.6}100%{transform:translateY(-32px) scale(1.3);opacity:0}}
@keyframes fx-spark-flicker{0%,100%{opacity:.15;transform:scale(.7)}10%{opacity:1;transform:scale(1.15)}20%{opacity:.25;transform:scale(.75)}32%{opacity:.9;transform:scale(1.05)}48%{opacity:.2;transform:scale(.7)}68%{opacity:.7;transform:scale(1)}}
@keyframes fx-warn-blink{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.error-hero-art .fx{animation:none!important;opacity:.55}}
@media(max-width:640px){.error-hero-art{border-radius:20px;margin-top:26px}}
.check-list a{white-space:nowrap}
/* Keep the storage choice compact and reachable on narrow screens. */
.consent-bar{max-height:90vh;overflow-y:auto}
@media(max-width:680px){.consent-text,.consent-current{flex:0 1 auto}.consent-actions{flex:0 1 auto}}

.learning-reward{display:block;margin-top:16px;padding:12px 15px;border-left:3px solid var(--cr-83dfc9);background:var(--cf-13332f);color:var(--ct-d6fff1);font-size:.95rem;line-height:1.6}.learning-reward a{display:inline-block;color:var(--ct-a4efd5);margin-left:8px}

html[data-cursor=drill]{--tool-cursor:url('../cursors/drill.svg') 4 4,auto}
html[data-cursor=mill]{--tool-cursor:url('../cursors/mill.svg') 4 4,auto}
html[data-cursor=torch]{--tool-cursor:url('../cursors/torch.svg') 4 4,auto}
html[data-cursor=robot]{--tool-cursor:url('../cursors/robot.svg') 4 4,auto}
html[data-cursor=nut]{--tool-cursor:url('../cursors/nut.svg') 4 4,auto}
html[data-cursor=duckking]{--tool-cursor:url('../cursors/duckking.svg') 4 8,auto}html[data-cursor=kreuz]{--tool-cursor:url('../cursors/kreuz.svg') 18 18,auto}html[data-cursor=spitze]{--tool-cursor:url('../cursors/spitze.svg') 4 4,auto}html[data-cursor=uhr]{--tool-cursor:url('../cursors/uhr.svg') 4 4,auto}html[data-cursor=weg]{--tool-cursor:url('../cursors/weg.svg') 4 4,auto}
