.eh{text-align:center;padding:10px;border-radius:14px}
.eh h1{font-size:1.6rem}
.stage{position:relative;width:min(100%,440px);aspect-ratio:1;margin:30px auto 10px}
.wheel{width:100%;height:100%;border-radius:50%;border:10px solid #222;position:relative;box-shadow:0 8px 25px #0004}
.wheel.spin{animation:spin 4.5s cubic-bezier(.15,.8,.2,1) forwards}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(var(--end))}}
.label{position:absolute;left:50%;top:50%;width:45%;transform-origin:0 50%;transform:rotate(calc(var(--a) - 90deg));padding-left:22%;font-weight:700;font-size:clamp(.6rem,2.6vw,.9rem);color:#111;text-align:left;white-space:nowrap;margin-top:-.6em;text-shadow:0 0 3px #fff8}
.hub{position:absolute;inset:39%;border-radius:50%;background:repeating-radial-gradient(#e53950 0 6%,#fff 6% 12%);border:4px solid #fff;box-shadow:0 0 8px #0006}
.pointer{position:absolute;top:-22px;left:50%;transform:translateX(-50%);z-index:2;width:0;height:0;border:16px solid transparent;border-top:34px solid #d50000;filter:drop-shadow(0 2px 2px #0006)}
.result{font-size:1.4rem;font-weight:800;background:#fff;border-radius:12px;padding:14px;box-shadow:0 4px 12px #0002;opacity:0;animation:show .4s 4.6s forwards}
@keyframes show{to{opacity:1}}
.error{background:#ffebee;color:#b71c1c;padding:10px;border-radius:8px}
.buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:16px 0}
.btn{border:0;background:#1e88e5;color:#fff;font-size:1rem;font-weight:700;padding:12px 22px;border-radius:999px;cursor:pointer;text-decoration:none}
.btn:disabled{opacity:.4}.btn.ghost{background:#fff;color:#1e88e5;border:2px solid #1e88e5}
.overlay{display:none;position:fixed;inset:0;background:#0008;align-items:center;justify-content:center;padding:12px;z-index:10}
.overlay:target,.overlay.open{display:flex}
.modal{background:#fff;border-radius:16px;padding:20px;max-width:480px;width:100%;max-height:90vh;overflow:auto;position:relative}
.close{position:absolute;right:14px;top:6px;font-size:2rem;color:#555;text-decoration:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:12px 0 18px;text-align:left}
.check{display:flex;align-items:center;gap:8px;padding:8px;border:2px solid #eee;border-radius:10px;cursor:pointer}
.check input{width:20px;height:20px;accent-color:#43a047}.check:has(input:checked){border-color:#43a047;background:#f1f8e9}
.hint{color:#666;margin:0}
.wheel.dur-kurz.spin{animation-duration:2s}.wheel.dur-lang.spin{animation-duration:8s}
.result.dur-kurz{animation-delay:2.1s}.result.dur-lang{animation-delay:8.1s}
.eh .back{display:inline-block;margin-top:8px;color:inherit}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-width:760px;margin:20px auto;padding:12px}
.card{display:block;padding:22px 10px;border-radius:16px;color:#fff;text-decoration:none;font-weight:800;font-size:1.05rem;box-shadow:0 4px 14px #0003}
.card .e{display:block;font-size:2.4rem}
.row{display:flex;gap:6px;align-items:center;margin:6px 0}.row input[type=text]{flex:1;padding:8px;border-radius:8px;border:1px solid #ccc}
.del{border:0;background:#e53935;color:#fff;border-radius:8px;padding:4px 9px;cursor:pointer}
fieldset{border:1px solid #ddd;border-radius:10px;margin:12px 0;text-align:left}
.eh-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:14px 0}
.eh-feature{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:18px 10px;border-radius:14px;text-decoration:none;color:#fff;box-shadow:0 4px 14px #0003;transition:.2s}
.eh-feature:hover{transform:translateY(-3px)}.eh-feature .e{font-size:2.3rem}.eh-feature small{opacity:.85}
.eh-feature.mode-ja-nein{background:#2e7d32}.eh-feature.mode-heute-morgen{background:#0277bd}.eh-feature.mode-drei-tage{background:#5e35b1}
.eh-feature.mode-liebt-mich{background:#e91e63}.eh-feature.mode-bestellen{background:#e53935}.eh-feature.mode-kochen{background:#6d4c41}
.eh-feature.mode-zahlen{background:#1b5e20}.eh-feature.mode-gassi{background:#795548}
.eh form{max-width:560px;margin:auto}
