@font-face{font-family:"HR Fell SC";src:url(fonts/IMFellEnglishSC-Regular.woff) format("woff");font-display:swap}
@font-face{font-family:"HR Garamond";src:url(fonts/EBGaramond-Regular.woff) format("woff");font-display:swap}
@font-face{font-family:"HR Garamond";font-style:italic;src:url(fonts/EBGaramond-Italic.woff) format("woff");font-display:swap}
@font-face{font-family:"HR Grandstander";font-weight:700;src:url(fonts/Grandstander-Bold.woff) format("woff");font-display:swap}
@font-face{font-family:"HR Andika";src:url(fonts/Andika-Regular.woff) format("woff");font-display:swap}

.hausrallye{margin:1.5em 0}
.hausrallye [hidden]{display:none!important}
.hausrallye__frame{position:relative;width:100%;max-width:100%;aspect-ratio:16/9;background:#070504;border-radius:4px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.hausrallye__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.hausrallye__bar{text-align:center;margin:.8em 0 0}
.hausrallye__start{font:inherit;font-size:1.05em;padding:.7em 1.6em;border:1px solid #8a6a2e;border-radius:3px;background:#5a1716;color:#f6e7c6;cursor:pointer}
.hausrallye__start:hover{background:#6e1f1b}
.hausrallye__close{display:none;position:absolute;top:calc(8px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid #c9a45c;background:rgba(14,9,6,.8);color:#f3e7cc;font-size:24px;line-height:1;cursor:pointer}
.hausrallye--pseudo-fs .hausrallye__frame{position:fixed;inset:0;z-index:2147483000;width:100vw;height:100vh;height:100dvh;aspect-ratio:auto;border-radius:0}
.hausrallye--pseudo-fs .hausrallye__close{display:block}
body.hausrallye-lock{overflow:hidden}

/* ---------------------------------------------------------------- Code-Eingabe */
.hausrallye__frame.is-locked{aspect-ratio:auto;min-height:clamp(380px,56.25vw,620px);display:flex}
.hausrallye-gate{--g-bg:#120c08;--g-card:transparent;--g-ink:#f3e7cc;--g-muted:#c9b48a;--g-accent:#c9a45c;--g-btn:#5a1716;--g-btn-ink:#f6e7c6;--g-btn-edge:#2a0a08;--g-err:#f1a58f;--g-input:#f3e7cc;--g-input-ink:#24160a;
	flex:1;min-width:0;width:100%;display:flex;align-items:center;justify-content:center;padding:28px max(16px,4%);box-sizing:border-box;color:var(--g-ink);text-align:center;
	background:radial-gradient(ellipse at 50% 30%,#3a2414 0%,#120c08 62%,#050302 100%)}
.hausrallye-gate *{box-sizing:border-box}
.hausrallye-gate__inner{width:100%;max-width:560px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:14px;position:relative}
.hausrallye-gate__eyebrow{margin:0;font:italic 1.05rem/1.3 "HR Garamond",Georgia,serif;color:var(--g-muted);letter-spacing:.02em}
.hausrallye-gate__title{margin:0;font:400 clamp(2rem,5vw,3.4rem)/1.05 "HR Fell SC",Georgia,serif;color:#efd28e;text-shadow:0 2px 18px rgba(255,154,60,.25);letter-spacing:.03em;text-wrap:balance;border:0;padding:0;background:none}
.hausrallye-gate__form{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;margin:10px 0 0}
.hausrallye-gate__label{font:1rem/1.3 "HR Garamond",Georgia,serif;color:var(--g-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}
.hausrallye-gate__row{display:flex;gap:10px;width:100%;min-width:0;justify-content:center;flex-wrap:wrap}
.hausrallye-gate__input{flex:1 1 220px;max-width:300px;min-width:0;height:56px;margin:0;padding:0 18px;border:2px solid var(--g-accent);border-radius:4px;background:var(--g-input);color:var(--g-input-ink);
	font:600 1.6rem/1 "HR Garamond",Georgia,serif;letter-spacing:.32em;text-align:center;text-transform:uppercase;font-variant-numeric:lining-nums tabular-nums;box-shadow:inset 0 2px 6px rgba(0,0,0,.25)}
.hausrallye-gate__input::placeholder{letter-spacing:.05em;font-size:1.05rem;font-weight:400;color:#8a7a5e;text-transform:none}
.hausrallye-gate__input:focus{outline:3px solid rgba(239,210,142,.55);outline-offset:2px}
.hausrallye-gate__btn{flex:0 0 auto;height:56px;margin:0;padding:0 26px;border:1px solid #8a6a2e;border-radius:4px;background:var(--g-btn);color:var(--g-btn-ink);
	font:400 1.2rem/1 "HR Garamond",Georgia,serif;letter-spacing:.04em;cursor:pointer;box-shadow:0 3px 0 var(--g-btn-edge);text-transform:none}
.hausrallye-gate__btn:hover{filter:brightness(1.12)}
.hausrallye-gate__btn:focus-visible{outline:3px solid #efd28e;outline-offset:2px}
.hausrallye-gate__btn.is-busy{opacity:.65;cursor:progress}
.hausrallye-gate__msg{margin:2px 0 0;max-width:460px;font:1.02rem/1.45 "HR Garamond",Georgia,serif;color:var(--g-err)}
.hausrallye-gate__msg a{color:inherit;font-weight:600;text-decoration:underline}
.hausrallye-gate__note{margin:6px 0 0;max-width:440px;font:.95rem/1.5 "HR Garamond",Georgia,serif;color:var(--g-muted)}
.hausrallye-gate__book{margin:0;font:1rem/1.4 "HR Garamond",Georgia,serif;color:var(--g-ink)}
.hausrallye-gate__book a{color:#efd28e;text-decoration:underline;text-underline-offset:3px}
.hausrallye-gate__admin{margin:8px 0 0;font:.85rem/1.4 system-ui,sans-serif;color:var(--g-muted)}
.hausrallye-gate__admin button{font:inherit;background:none;border:1px dashed var(--g-muted);color:inherit;border-radius:3px;padding:4px 10px;cursor:pointer}
.hausrallye-gate__form.is-wrong .hausrallye-gate__row{animation:hr-shake .4s}
@keyframes hr-shake{25%,75%{transform:translateX(-8px)}50%{transform:translateX(8px)}}
@media (prefers-reduced-motion:reduce){.hausrallye-gate__form.is-wrong .hausrallye-gate__row{animation:none}}

/* Märchenrallye: hell, rund, Bilderbuch */
.hausrallye--light .hausrallye__frame{background:#a9dbf2}
.hausrallye--light .hausrallye-gate{--g-ink:#3a2a20;--g-muted:#6a5a48;--g-accent:#e3d1a8;--g-btn:#5fa84a;--g-btn-ink:#fff;--g-btn-edge:#3f7d34;--g-err:#b5332e;--g-input:#fff;--g-input-ink:#3a2a20;
	background:radial-gradient(circle at 84% 18%,#fff3b0 0 7%,rgba(255,210,94,.5) 9%,transparent 16%),
		radial-gradient(ellipse 70% 30% at 20% 102%,#8cc063 0 98%,transparent 100%),
		radial-gradient(ellipse 80% 34% at 85% 106%,#6fa85b 0 98%,transparent 100%),
		linear-gradient(#8fd0f0,#e6f5f8)}
.hausrallye--light .hausrallye-gate__inner{background:#fffaf0;border-radius:28px;padding:28px max(18px,5%) 24px;box-shadow:0 6px 0 #e3d1a8,0 18px 40px rgba(58,42,32,.18)}
.hausrallye--light .hausrallye-gate__eyebrow{font:700 1rem/1.3 "HR Grandstander","HR Andika",system-ui,sans-serif;color:#8b3a62;font-style:normal}
.hausrallye--light .hausrallye-gate__title{font:700 clamp(1.9rem,4.6vw,3rem)/1.05 "HR Grandstander",system-ui,sans-serif;color:#8b3a62;text-shadow:none;letter-spacing:0}
.hausrallye--light .hausrallye-gate__label{font:700 .85rem/1.3 "HR Grandstander",system-ui,sans-serif}
.hausrallye--light .hausrallye-gate__input{border:4px solid #e3d1a8;border-radius:22px;box-shadow:none;font:700 1.6rem/1 "HR Grandstander",system-ui,sans-serif;letter-spacing:.25em}
.hausrallye--light .hausrallye-gate__input:focus{outline:none;border-color:#f3b53f}
.hausrallye--light .hausrallye-gate__btn{border:none;border-radius:30px;box-shadow:0 5px 0 var(--g-btn-edge);font:700 1.2rem/1 "HR Grandstander",system-ui,sans-serif}
.hausrallye--light .hausrallye-gate__msg,.hausrallye--light .hausrallye-gate__note,.hausrallye--light .hausrallye-gate__book{font-family:"HR Andika",system-ui,sans-serif}
.hausrallye--light .hausrallye-gate__book a{color:#8b3a62}
.hausrallye--light .hausrallye__start{background:#5fa84a;border-color:#3f7d34;border-radius:30px;color:#fff;font-weight:700}

@media (max-width:480px){
	.hausrallye-gate__btn{width:100%;max-width:300px}
	.hausrallye-gate__input{flex-basis:100%}
}
