:root{--bg:#faf5ef;--bg-deep:#799797;--ink:#5e515c;--ink-soft:#75646f;--taupe:#776674;--taupe-soft:#a79aa3;--gold:#f3ac94;--mist:#e2d8ec;--paper:#fffcf8;--gold-text:#a94f27;--sage-text:#3f5959;--gold-soft:#f8c7b4;--mist-soft:#f6edf3;--ok-bg:#e4eedc;--ok-text:#27500a;--warn-bg:#faeeda;--warn-text:#854f0b;--error:#b3261e;--serif:"Spectral",serif;--sans:"Albert Sans",sans-serif;--mono:"Martian Mono",monospace;--wordmark:"Red Hat Display",sans-serif}*{box-sizing:border-box}body{align-items:center;background:#faf5ef;background:var(--bg);color:#5e515c;color:var(--ink);font-family:Albert Sans,sans-serif;font-family:var(--sans);margin:0;min-height:100vh;min-height:100dvh}#root,body{display:flex;justify-content:center}#root{width:100%}.phone-frame{background:#faf5ef;background:var(--bg);border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:none;max-width:100%;overflow:hidden;position:relative;width:100%}.phone-notch{flex-shrink:0;height:env(safe-area-inset-top,0)}.phone-screen{flex:1 1;overflow-y:auto;padding:20px 22px calc(28px + env(safe-area-inset-bottom, 0px))}@media (min-width:560px){body{background:#799797;background:var(--bg-deep)}.phone-frame{border-radius:40px;box-shadow:0 30px 60px #2b242040;height:100vh;height:100dvh;max-height:844px;max-width:100vw;width:390px}.phone-notch{height:28px}}.screen-center{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.eyebrow{color:#776674;color:var(--taupe);font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.75rem;letter-spacing:.14em;margin:0 0 10px;text-transform:uppercase}.screen-title{font-family:Spectral,serif;font-family:var(--serif);font-size:1.7rem;font-style:italic;font-weight:500;margin:0 0 14px}.screen-lead{color:#75646f;color:var(--ink-soft);line-height:1.6;margin:0 0 24px}.cta-btn{background:#776674;background:var(--taupe);border:none;border-radius:999px;color:#fffcf8;color:var(--paper);cursor:pointer;font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.92rem;font-weight:500;letter-spacing:.03em;padding:13px 26px}.cta-btn:hover{background:#5e515c;background:var(--ink)}.mini-card{background:#fffcf8;background:var(--paper);border:1px solid #7766741a;border-radius:16px;color:inherit;display:flex;flex-direction:column;font:inherit;gap:4px;margin-top:20px;padding:16px 18px;text-align:left;width:100%}.mini-card-label{color:#75646f;color:var(--ink-soft);font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.mini-card-value{font-family:Spectral,serif;font-family:var(--serif);font-size:1.05rem;font-style:italic}.termin-card{align-items:flex-start;background:#fffcf8;background:var(--paper);border:1px solid #7766741a;border-radius:16px;display:flex;gap:14px;justify-content:space-between;margin-bottom:12px;padding:16px 18px}.termin-card.is-past{background:#0000}.termin-titel{font-weight:500;line-height:1.3}.termin-meta{color:#75646f;color:var(--ink-soft);font-size:.85rem}.termin-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.termin-card-aktionen{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:8px}.view-toggle{display:flex;gap:6px;margin-bottom:20px}.view-toggle-btn{background:#fffcf8;background:var(--paper);border:1px solid #77667433;border-radius:999px;color:#75646f;color:var(--ink-soft);cursor:pointer;flex:1 1;font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.76rem;font-weight:500;padding:9px 10px}.view-toggle-btn.active{background:#776674;background:var(--taupe);border-color:#776674;border-color:var(--taupe)}.cta-btn-small{font-size:.8rem;padding:9px 18px}.storno-btn{background:#0000;border:1px solid #b3261e;border:1px solid var(--error);border-radius:999px;color:#b3261e;color:var(--error);cursor:pointer;font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.76rem;font-weight:500;padding:7px 16px;white-space:nowrap}.storno-btn:hover{background:#b3261e0f}.btn-link{background:none;border:none;color:#75646f;color:var(--ink-soft);cursor:pointer;font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.76rem;padding:0;text-decoration:underline}.confirm-row{align-items:center;display:flex;gap:8px;white-space:nowrap}.confirm-row,.storno-hinweis{color:#75646f;color:var(--ink-soft);font-size:.78rem}.storno-hinweis{font-style:italic;margin:6px 0 0;max-width:220px}.status-badge{border-radius:999px;font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.72rem;padding:4px 10px;white-space:nowrap}.status-gebucht{background:#e2d8ec;background:var(--mist)}.status-warteliste{background:#faeeda;background:var(--warn-bg);color:#854f0b;color:var(--warn-text)}.form-hint{color:#75646f;color:var(--ink-soft);font-size:.82rem;font-style:italic;margin-top:16px}.resonance{align-items:center;display:flex;height:220px;justify-content:center;margin-bottom:30px;position:relative;width:220px}.ring{border:1.5px solid #f3ac94;border:1.5px solid var(--gold);border-radius:50%;height:30%;opacity:0;position:absolute;width:30%}.resonance.is-active .ring{animation:ripple 10s ease-out infinite}.ring.r1{animation-delay:0s}.ring.r2{animation-delay:2.5s}.ring.r3{animation-delay:5s}.ring.r4{animation-delay:7.5s}@keyframes ripple{0%{opacity:.55;transform:scale(1)}70%{opacity:.08;transform:scale(3.1)}to{opacity:0;transform:scale(3.4)}}.resonance-core{background:radial-gradient(circle at 35% 30%,#f8c7b4,#f3ac94 70%);background:radial-gradient(circle at 35% 30%,var(--gold-soft),var(--gold) 70%);border-radius:50%;box-shadow:0 8px 30px #f3ac9459;height:26%;width:26%;z-index:2}@media (prefers-reduced-motion:reduce){.ring{animation:none!important;opacity:.25;transform:scale(1.8)}}.login-form{display:flex;flex-direction:column;gap:10px;margin-top:18px;width:100%}.field-label{color:#75646f;color:var(--ink-soft);display:block;font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.72rem;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.text-input{background:#fffcf8;background:var(--paper);border:1px solid #77667433;border-radius:12px;color:#5e515c;color:var(--ink);font-family:Albert Sans,sans-serif;font-family:var(--sans);font-size:.95rem;padding:12px 14px;width:100%}.text-input:focus{outline:2px solid #f3ac94;outline:2px solid var(--gold);outline-offset:1px}.btn-secondary{background:#0000;border:1px solid #776674;border:1px solid var(--taupe);border-radius:999px;color:#776674;color:var(--taupe);cursor:pointer;font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.85rem;font-weight:500;padding:11px 24px}.btn-secondary:hover{background:#7766740f}.btn-secondary:disabled,.cta-btn:disabled{cursor:not-allowed;opacity:.55}.error-text{color:#b3261e;color:var(--error)}.error-text,.success-text{font-size:.85rem;margin-top:2px}.success-text{color:#27500a;color:var(--ok-text)}.tabbar{background:#fffcf8;background:var(--paper);border-top:1px solid #7766741a;display:flex;flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0)}.tab-btn{background:none;border:none;color:#75646f;color:var(--ink-soft);cursor:pointer;flex:1 1;font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.78rem;padding:14px 0 18px}.tab-btn.active{color:#776674;color:var(--taupe);font-weight:500}.kind-form{background:#fffcf8;background:var(--paper);border:1px solid #7766741a;border-radius:16px;display:flex;flex-direction:column;gap:6px;margin:-4px 0 12px;padding:14px 18px 16px}.kind-form-aktionen{align-items:center;display:flex;gap:14px;margin-top:8px}.bewertung-form{background:#fffcf8;background:var(--paper);border:1px solid #7766741a;border-radius:16px;display:flex;flex-direction:column;gap:6px;margin:-4px 0 12px;padding:14px 18px 16px}.star-input{display:flex;gap:4px;margin-bottom:6px}.star-btn{background:none;border:none;color:#77667440;cursor:pointer;font-size:1.7rem;line-height:1;padding:0}.star-btn.gefuellt{color:#a94f27;color:var(--gold-text)}.star-btn:disabled{cursor:not-allowed}.bewertung-abgegeben{color:#75646f;color:var(--ink-soft);font-size:.85rem;margin-top:4px}.bewertung-abgegeben .stars-readonly{color:#a94f27;color:var(--gold-text);letter-spacing:1px}.newsletter-toggle{align-items:center;cursor:pointer;display:flex;gap:16px;justify-content:space-between}.newsletter-toggle>span{display:flex;flex-direction:column}.newsletter-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;background:#77667438;border-radius:999px;cursor:pointer;flex:0 0 auto;height:28px;margin:0;position:relative;transition:background .2s ease;width:46px}.newsletter-toggle input[type=checkbox]:after{background:#fffcf8;background:var(--paper);border-radius:50%;box-shadow:0 1px 3px #00000026;content:"";height:22px;left:3px;position:absolute;top:3px;transition:transform .2s ease;width:22px}.newsletter-toggle input[type=checkbox]:checked{background:#799797;background:var(--bg-deep)}.newsletter-toggle input[type=checkbox]:checked:after{transform:translateX(18px)}.newsletter-toggle input[type=checkbox]:disabled{opacity:.6}.newsletter-toggle input[type=checkbox]:focus-visible{outline:2px solid #776674;outline:2px solid var(--taupe);outline-offset:2px}.app-header{margin-bottom:22px}.wordmark{color:#776674;color:var(--taupe);font-size:1.05rem;letter-spacing:.02em}.section-label,.wordmark{font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-weight:500}.section-label{color:#75646f;color:var(--ink-soft);font-size:.72rem;letter-spacing:.1em;margin:28px 0 10px;text-transform:uppercase}.datum-block{align-items:center;background:#e2d8ec;background:var(--mist);border-radius:12px;color:#5e515c;color:var(--ink);display:flex;flex:0 0 52px;flex-direction:column;line-height:1.05;padding:7px 0 8px}.datum-block.is-past{background:#77667414;color:#75646f;color:var(--ink-soft)}.datum-monat,.datum-wtag{font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.datum-tag{font-family:Spectral,serif;font-family:var(--serif);font-size:1.45rem;font-weight:500;margin:1px 0}.mini-card-link,.termin-card-link{align-items:center;color:inherit;cursor:pointer;flex-direction:row;font:inherit;justify-content:space-between;text-align:left;width:100%}.termin-card-link{margin-top:0}.mini-card-link{gap:12px;margin-top:0}.mini-card-link:hover,.termin-card-link:hover,.uebung-card:hover{border-color:#77667447}.chevron{color:#a79aa3;color:var(--taupe-soft);flex-shrink:0;font-size:1.4rem;line-height:1}.uebung-card{align-items:center;background:linear-gradient(135deg,#fffcf8,#f6edf3);background:linear-gradient(135deg,var(--paper) 0,var(--mist-soft) 100%);border:1px solid #7766741a;border-radius:20px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:16px;padding:18px;text-align:left;width:100%}.uebung-orb{background:radial-gradient(circle at 35% 30%,#f8c7b4,#f3ac94 70%);background:radial-gradient(circle at 35% 30%,var(--gold-soft),var(--gold) 70%);border-radius:50%;box-shadow:0 0 0 8px #f3ac9429,0 0 0 16px #f3ac9414;flex-shrink:0;height:48px;margin:0 8px;width:48px}.uebung-text{display:flex;flex:1 1;flex-direction:column;gap:3px}.uebung-titel{font-family:Spectral,serif;font-family:var(--serif);font-size:1.15rem;font-style:italic;font-weight:500}.uebung-sub{color:#75646f;color:var(--ink-soft);font-size:.8rem}.termin-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{background:#77667414;border-radius:999px;color:#5e515c;color:var(--ink);font-family:Red Hat Display,sans-serif;font-family:var(--wordmark);font-size:.7rem;padding:3px 9px;white-space:nowrap}.chip-warn{background:#faeeda;background:var(--warn-bg);color:#854f0b;color:var(--warn-text)}.cta-btn-ghost{background:#0000;border:1px solid #776674;border:1px solid var(--taupe);color:#776674;color:var(--taupe)}.cta-btn-ghost:hover{background:#7766740f}.status-gebucht{background:#e4eedc;background:var(--ok-bg);color:#27500a;color:var(--ok-text)}.btn-link-accent{align-self:flex-start;color:#a94f27;color:var(--gold-text);font-weight:500;margin-top:6px;text-decoration:none}.empty-state{border:1px dashed #7766744d;border-radius:16px;color:#75646f;color:var(--ink-soft);font-size:.9rem;padding:20px;text-align:center}.empty-state p{margin:0 0 12px}.view-toggle{background:#77667414;border-radius:999px;gap:4px;padding:4px}.view-toggle-btn{border:none;font-size:.82rem;padding:8px 10px}.view-toggle-btn.active{box-shadow:0 1px 3px #2b242026}.profil-kopf{align-items:center;display:flex;gap:14px;margin-bottom:8px}.profil-name{font-size:1.45rem;margin:0 0 2px}.avatar{align-items:center;background:#e2d8ec;background:var(--mist);border-radius:50%;color:#5e515c;color:var(--ink);display:flex;flex-shrink:0;font-family:Spectral,serif;font-family:var(--serif);font-size:1.5rem;font-style:italic;height:56px;justify-content:center;width:56px}.list-group{background:#fffcf8;background:var(--paper);border:1px solid #7766741a;border-radius:16px;overflow:hidden}.list-row{align-items:center;color:#5e515c;color:var(--ink);display:flex;gap:12px;justify-content:space-between;min-height:52px;padding:14px 18px;text-decoration:none}.list-row+.list-row{border-top:1px solid #77667414}.list-row-toggle{display:block}.list-row-link:hover{background:#7766740a}.row-label{font-size:.95rem}.row-sub{font-size:.8rem;margin-top:2px}.row-sub,.row-value{color:#75646f;color:var(--ink-soft)}.row-value{font-size:.92rem}.btn-block{margin-top:28px;width:100%}.tab-btn{align-items:center;display:flex;flex-direction:column;font-size:.72rem;gap:4px;padding:10px 0 12px;position:relative}.tab-icon{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;height:24px;width:24px}.tab-btn.active{color:#5e515c;color:var(--ink)}.tab-btn.active:before{background:#f3ac94;background:var(--gold);border-radius:0 0 3px 3px;content:"";height:3px;left:50%;margin-left:-14px;position:absolute;top:0;width:28px}.tab-btn.active .tab-icon{stroke-width:2}.storno-mail-hinweis{font-size:.8rem;margin:6px 0 0;overflow-wrap:anywhere}.storno-mail-hinweis a{color:inherit}.code-eingabe{margin-top:4px}.code-zeile{align-items:stretch;display:flex;gap:8px}.code-zeile .code-input{flex:1 1;font-family:Martian Mono,monospace;letter-spacing:.05em;margin-bottom:0;min-width:0;text-transform:uppercase}.code-zeile .cta-btn{flex:none}.code-eingabe .error-text,.code-eingabe .success-text{margin-top:8px}.termin-card-aktionen .btn-link{font-size:.8rem;margin-top:6px}.adresse-kopf{display:flex;gap:12px;justify-content:space-between}.adresse-wert{flex:1 1;overflow-wrap:anywhere;text-align:right}.adresse-form{display:flex;flex-direction:column;gap:6px;margin-top:12px}.btn-link,.btn-secondary,.cta-btn,.cta-btn-ghost,.list-row-link,.mini-card-link,.storno-btn,.tab-btn,.termin-card-link,.uebung-card{-webkit-tap-highlight-color:transparent}.btn-secondary,.cta-btn,.cta-btn-ghost,.mini-card-link,.storno-btn,.termin-card-link,.uebung-card{transition:transform .12s ease-out,background-color .15s ease,border-color .15s ease}.tab-icon{transition:transform .12s ease-out}.cta-btn:not(:disabled):active{background:#5e515c;background:var(--ink);transform:scale(.97)}.btn-secondary:not(:disabled):active,.cta-btn-ghost:not(:disabled):active{background:#7766741a;transform:scale(.97)}.storno-btn:not(:disabled):active{background:#b3261e1a;transform:scale(.97)}.mini-card-link:active,.termin-card-link:active,.uebung-card:active{border-color:#77667447;transform:scale(.985)}.list-row-link:active{background:#77667412}.tab-btn:active .tab-icon{transform:scale(.88)}.btn-link:active{opacity:.6}a:focus-visible,button:focus-visible{outline:2px solid #776674;outline:2px solid var(--taupe);outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn-secondary:active,.cta-btn-ghost:active,.cta-btn:active,.mini-card-link:active,.storno-btn:active,.tab-btn:active .tab-icon,.termin-card-link:active,.uebung-card:active{transform:none}}.phone-frame>.tabbar{-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:#fffcf8c7;bottom:0;left:0;position:absolute;right:0;z-index:20}.phone-frame:has(>.tabbar)>.phone-screen{padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px))}@media (prefers-reduced-transparency:reduce){.phone-frame>.tabbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffcf8;background:var(--paper)}}.app-logo{display:block;height:auto;width:120px}.leitsatz{border-left:2px solid #f3ac94;border-left:2px solid var(--gold);color:#5e515c;color:var(--ink);font-family:Spectral,Georgia,serif;font-size:1.12rem;font-style:italic;letter-spacing:-.005em;line-height:1.45;margin:4px 0 26px;padding:2px 0 2px 16px}.termin-meta .ort{white-space:nowrap}.view-toggle{position:relative}.view-toggle-btn{background:#0000;border-color:#0000;min-height:40px;position:relative;transition:color .2s ease;z-index:1}.view-toggle-btn.active{background:#0000;border-color:#0000;box-shadow:none;color:#fffcf8;color:var(--paper)}.view-toggle:before{background:#776674;background:var(--taupe);border-radius:999px;bottom:4px;box-shadow:0 1px 3px #2b242026;content:"";left:4px;position:absolute;top:4px;transform:translateX(0);transition:transform .32s cubic-bezier(.22,1,.36,1);width:calc(50% - 6px)}.view-toggle[data-aktiv=buchen]:before{transform:translateX(calc(100% + 4px))}.buchung-summe{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.buchung-summe-zeile{display:flex;font-size:.88rem;gap:14px;justify-content:space-between}.buchung-summe-zeile span:first-child{color:#75646f;color:var(--ink-soft);flex:none}.buchung-summe-zeile span:last-child{color:#5e515c;color:var(--ink);text-align:right}.buchung-erfolg{background:#6ca0781f;border-radius:12px;color:#5e515c;color:var(--ink);display:flex;flex-direction:column;font-size:.85rem;gap:2px;margin-top:10px;padding:10px 12px}.buchung-erfolg strong{font-family:Spectral,Georgia,serif;font-size:1rem;font-style:italic;font-weight:500}.storno-hinweis-weich{color:#75646f;color:var(--ink-soft);font-style:normal}.storno-hinweis-weich a{color:#776674;color:var(--taupe)}.btn-bewerten{align-self:flex-start;margin-top:8px}.cta-btn-small{min-height:44px}.adresse-kopf .btn-link,.kind-form-aktionen .btn-link{align-items:center;display:inline-flex;min-height:44px;padding:0 6px}.adresse-kopf{grid-column-gap:12px;align-items:center;column-gap:12px;display:grid;grid-template-areas:"label knopf" "wert knopf";grid-template-columns:1fr auto}.adresse-kopf .row-label{grid-area:label}.adresse-kopf .adresse-wert{grid-area:wert;text-align:left}.adresse-kopf .btn-link{grid-area:knopf}.tab-wechsel{animation:tab-ein .16s ease-out}@keyframes tab-ein{0%{opacity:0}to{opacity:1}}body,html{overscroll-behavior:none}.phone-screen{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}@media (prefers-reduced-motion:reduce){.view-toggle:before{transition:none}.tab-wechsel{animation:none}}