/* Matte Papierfarben, klare Typografie und geometrische Weihnachtsdetails. */
:root{font-family:"Bahnschrift","DIN Alternate","Arial",sans-serif;color:#253d32;background:#eae1d2;font-synthesis:none;--paper:#f5efe4;--ink:#253d32;--muted:#686357;--line:#c9beaa;--red:#8e3e33;--gold:#917343}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;background:#eae1d2;border-top:6px solid var(--ink)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:4px}header{max-width:1160px;margin:auto;padding:25px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:11px;letter-spacing:2px;font-weight:700;text-decoration:none;color:var(--ink)}header button{background:none;border:0;color:var(--ink);font-size:12px;text-decoration:underline;text-underline-offset:5px}.stars{display:none}main{max-width:1100px;margin:auto;padding:24px 28px}.login{text-align:center;max-width:640px;margin:25px auto 30px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--red)}h1,h2{font-family:inherit;font-weight:700;font-style:normal;letter-spacing:-1.4px;text-wrap:balance}h1{font-size:clamp(34px,5vw,58px);line-height:1.12;margin:20px auto;max-width:780px}.login p,.hero p{line-height:1.7;color:var(--muted);font-size:15px}.winter-mark{color:var(--ink);margin:0 auto 20px;width:90px;height:38px}.winter-mark svg{width:100%;height:100%;display:block}.winter-mark .star{fill:var(--red)}.login-gift{display:block;width:120px;height:120px;object-fit:contain;margin:22px auto}form{margin:25px auto;max-width:520px}label{display:block;text-align:left;font-size:12px;margin:12px 0;font-weight:600}.input-row{display:flex;gap:8px}input{min-width:0;width:100%;border:1px solid var(--line);background:var(--paper);border-radius:0;padding:15px;color:var(--ink)}input::placeholder{color:#807668}button[type=submit],.done{border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:0;padding:15px 20px;white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:.3px}button[type=submit]:hover,.done:hover{background:#3c5646}small{font-size:12px;color:var(--muted)}#login-error,#notice,#waiting-error{color:var(--red);font-size:14px}.hero{text-align:center;padding:18px 0 32px}.hero .winter-mark{margin-bottom:17px}.countdown{display:flex;flex-direction:column;gap:12px;background:#eae1d2;border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:0;padding:20px;width:fit-content;min-width:260px}.countdown span{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.countdown strong{font-family:inherit;font-size:25px;font-weight:650;font-variant-numeric:tabular-nums}.admin{background:#e3d8bf;border:1px solid #baaa87;border-left:4px solid var(--gold);padding:13px;border-radius:0;font-size:12px;text-align:center;margin:0 auto 24px;line-height:1.6}.calendar-top{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--ink);border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:16px}.calendar-top>span:first-child{font-weight:700}.doors{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.door{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:0;padding:16px 12px 12px;color:var(--ink);box-shadow:none;transition:transform .18s,background .18s,border-color .18s}.door img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.door .number{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);background:var(--paper);border:1px solid var(--ink);width:34px;height:34px;display:grid;place-items:center;border-radius:0;font-weight:750;font-size:17px;box-shadow:none}.door small{display:block;text-align:center;font-size:10px;margin-top:10px;min-height:15px;color:var(--muted);line-height:1.5}.door[data-locked=true]{background:#e4dac9;cursor:pointer}.door[data-locked=true] img{opacity:.65}.door.opened{filter:grayscale(1)}.door:hover{transform:translateY(-3px);border-color:var(--ink);background:#f7f1e7}.door:active{transform:translateY(0)}.door.opening{animation:unwrap .35s ease}.legend{text-align:center;color:var(--muted);font-size:11px;line-height:2;margin:26px 0 0}footer{max-width:1044px;margin:20px auto 0;padding:23px 16px;text-align:center;border-top:1px solid var(--line);font-family:inherit;font-style:normal;font-size:11px;letter-spacing:.5px;color:var(--muted)}footer span{color:var(--red);margin-left:9px}dialog{border:1px solid var(--line);border-top:5px solid var(--ink);border-radius:0;padding:42px 28px 28px;width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;color:var(--ink);background:var(--paper);box-shadow:0 20px 70px #1e2e262b}dialog::backdrop{background:#24352dd1}dialog[open]{animation:unwrap .3s ease}dialog h2{font-size:30px;line-height:1.2;letter-spacing:-.7px;margin:20px 0}#preview{padding-right:12px;line-height:1.8;font-size:10px}#gift-text{white-space:pre-wrap;line-height:1.8;color:var(--muted)}#gift-image{display:block;max-width:100%;max-height:350px;object-fit:contain;border-radius:0;margin:15px auto}.close{position:absolute;right:12px;top:8px;background:none;border:0;font-size:30px;color:var(--ink);line-height:1;padding:4px}.tag{font-size:12px;color:#75603e}.done{margin-top:16px;width:100%}.waiting-countdown{width:100%;min-width:0;text-align:center;margin:24px 0}.waiting-countdown strong{font-size:clamp(21px,5vw,27px);line-height:1.6;text-wrap:balance}#waiting-description{line-height:1.8;color:var(--muted)}#waiting-date{text-align:center;line-height:1.8}@keyframes unwrap{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:700px){header{padding:21px 18px}.brand{font-size:9px;letter-spacing:1.2px}main{padding:24px 16px}.hero{padding:8px 0 26px}.hero h1{font-size:35px}.doors{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.door{padding:12px 7px 10px}.door .number{width:29px;height:29px;font-size:15px}.door small{font-size:9px}.input-row{flex-direction:column}.login{margin:10px auto 20px}.desktop{display:none}.login h1{font-size:43px}.calendar-top{font-size:11px}.admin{font-size:11px;margin-bottom:22px}.winter-mark{width:78px;height:33px}dialog{padding:40px 22px 24px}dialog h2{font-size:27px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Touchbedienung, kein automatisches Eingabe-Zoom auf iOS, lange Inhalte. */
input{font-size:16px;min-height:48px}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}header button{min-height:44px;padding:10px 4px}.close{width:44px;height:44px;display:grid;place-items:center;top:4px;right:4px}.done,button[type=submit]{min-height:48px}h1,h2,#gift-text,#waiting-description{overflow-wrap:anywhere}.door .number{font-variant-numeric:tabular-nums}#gift{scrollbar-gutter:stable}.login h1{font-size:clamp(29px,8vw,58px)}@media(hover:none){.door:hover{transform:none;background:var(--paper)}}@media(max-width:360px){main{padding:20px 12px}.hero h1{font-size:31px}.brand{letter-spacing:.7px}.doors{gap:7px}.door small{font-size:9px}.door .number{width:27px;height:27px}dialog{padding:48px 18px 22px}}
