@charset "UTF-8";
:root{color-scheme:dark;--bg:#050505;--surface:#111111;--wine:#b01870;--gold:#ff5cb9;--ink:#fff4fb;--muted:#c9bcc5;--line:#393039;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0%,#21101b 0,transparent 45%),radial-gradient(ellipse at 95% 60%,#151015 0,transparent 50%),var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;min-height:100vh}button,input,textarea,select{font:inherit}button,.button{background:var(--wine);color:var(--ink);border:1px solid #ff65bd;border-radius:6px;padding:12px 22px;cursor:pointer;min-height:46px;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#cf2587}button:disabled{opacity:.45;cursor:wait}button.secondary,.button.secondary{background:transparent;border-color:var(--line)}button.small{font-size:14px;min-height:36px;padding:6px 12px}button.danger{border-color:#db6868}a{color:var(--gold)}input,textarea,select{display:block;width:100%;border:1px solid var(--line);background:#080808;color:var(--ink);padding:12px;border-radius:5px;min-height:46px}input[type=checkbox]{width:22px;min-height:22px;margin:0;accent-color:var(--wine)}textarea{resize:vertical;min-height:110px}label{display:block;font-size:14px;color:var(--muted)}label input,label textarea,label select{margin-top:7px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.16;color:var(--ink)}h1{font-size:clamp(2.5rem,6vw,4.8rem);margin:18px 0}h2{font-size:2rem}h3{font-size:1.5rem;margin:18px 0 10px}p{margin:12px 0}.muted,.meta{color:var(--muted)}.meta{font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:13px;color:var(--gold)}.shell{max-width:1120px;padding:32px 24px 60px;margin:auto}.entry{max-width:570px;padding:54px 40px;text-align:center;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 35px 120px #0008;background:linear-gradient(130deg,#151015,#080808);border-radius:90px 90px 8px 8px;margin:6vh auto}.entry h1{font-size:clamp(2.6rem,6vw,4rem)}.entry form{margin:34px auto 0;max-width:330px;text-align:left}.entry button{width:100%;margin-top:18px}.emblem{font-family:var(--serif);font-size:32px;letter-spacing:.15em;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:20px}.welcome{max-width:680px;margin:10vh auto;text-align:center}.welcome p{font-size:20px}.welcome button{margin-top:28px}.reveal{animation:reveal .7s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.brand{font-family:var(--serif);color:var(--gold);font-size:24px}.progress{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0}.progress button{min-height:32px;font-size:13px;padding:5px 9px;background:transparent;border:1px solid var(--line);color:var(--muted)}.progress button.current{color:var(--gold);border-color:var(--gold)}.heading{margin:26px 0}.heading h1{font-size:clamp(2.3rem,5vw,3.6rem)}.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.card,.panel{background:linear-gradient(140deg,#151015,#111111);border:1px solid var(--line);border-radius:8px;padding:22px}.card{padding:0;overflow:hidden}.card-content{padding:0 22px 22px}.gallery{max-height:440px;position:relative;background:#151015;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.gallery .gallery-prev,.gallery .gallery-next{position:absolute;bottom:12px;min-height:34px;padding:4px 12px;background:#100c0de8;border-color:#b01870}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-count{position:absolute;top:10px;right:10px;border-radius:4px;background:#100c0dcc;font-size:13px;padding:3px 9px}.image-placeholder{color:var(--gold);font-family:var(--serif);font-size:20px}.stars{display:flex;gap:4px;align-items:center;margin:15px 0}.stars button{background:none;border:0;padding:2px;min-height:44px;min-width:36px;font-size:30px;color:#80717b}.stars button.chosen{color:var(--gold)}.stars .clear-rating{font-size:13px;color:var(--muted);min-width:0;margin-left:auto}.favorite{background:none;border-color:var(--line);width:100%;margin-bottom:18px}.favorite.active{background:#29101e;border-color:var(--gold)}.card-body{white-space:pre-wrap;font-size:16px;color:var(--muted)}.controls{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}.filters,.tabs,.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.filters button.active,.tabs button.active{border-color:var(--gold);color:var(--gold)}.stack{display:grid;gap:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.check{display:flex;align-items:center;gap:10px;padding:9px 0;color:var(--ink)}.choices{display:flex;gap:18px;justify-content:center;margin:28px 0}.choices button{min-width:130px}.choices button.active{border:2px solid var(--gold);background:#29101e}.final-panel{max-width:780px;margin:auto;text-align:center}.final-panel .gallery{max-height:430px}.final-panel .card-body{margin:25px 0}.summary-section{border-top:1px solid var(--line);padding:18px 0}.summary-item{margin:12px 0;padding:12px;background:#ffffff04;border-radius:4px}.summary-item p{white-space:pre-wrap;overflow-wrap:anywhere}.save-status{font-size:13px;color:var(--muted)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:min(650px,90vw);background:#21101b;border:1px solid var(--gold);padding:14px 22px;border-radius:6px;z-index:30;display:none}#toast.visible{display:block}.admin-shell{max-width:1350px;margin:auto;padding:25px}.admin-shell h1{font-size:2.7rem}.admin-list{display:grid;gap:14px}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:14px 0}.row:last-child{border:0}.row .actions{margin:0}.thumbs{display:flex;gap:10px;flex-wrap:wrap}.thumb{width:110px}.thumb img{width:110px;height:80px;object-fit:cover;border-radius:4px}.thumb button{width:100%}.list-option{border-bottom:1px solid var(--line);padding:8px 0}.list-option .check{padding:0}.key-display{overflow-wrap:anywhere;font-family:monospace;background:#100c0d;border:1px solid var(--gold);padding:20px;font-size:20px}.live-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.event-list{max-height:650px;overflow:auto}.event{font-size:14px;padding:13px 0;border-bottom:1px solid var(--line)}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--gold);max-width:min(95vw,1000px);max-height:95vh;padding:18px;border-radius:8px}dialog::backdrop{background:#000d}dialog img{display:block;max-width:100%;max-height:75vh;margin:15px auto;object-fit:contain}.warning{border-left:3px solid var(--gold);padding:10px 18px;background:#ff5cb908}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:760px){.shell{padding:20px 16px 45px}.entry{padding:40px 22px;margin-top:3vh}.two,.live-grid{grid-template-columns:1fr}.topbar{gap:10px}.brand{font-size:20px}.row{flex-direction:column;align-items:flex-start}.admin-shell{padding:16px}.progress{gap:5px}.controls{flex-wrap:wrap}.grid{grid-template-columns:1fr}.gallery{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}

.prewrap,.event-detail{white-space:pre-wrap;overflow-wrap:anywhere}.event-detail{background:#080808;padding:12px;border-left:2px solid var(--gold);margin-top:8px}.catalog-filter{max-width:380px;margin:18px 0}[hidden]{display:none!important}.event-list{max-height:none;overflow:visible}.local-banner{padding:10px 16px;background:#21101b;color:var(--muted);font-size:14px;text-align:center}

/* Vollständiges Motiv auch bei Hochformat; feste Box verhindert Überlaufen. */
.gallery,.final-panel .gallery{width:100%;height:clamp(220px,50vw,440px);max-height:none;aspect-ratio:auto;min-width:0}
.gallery img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.thumb img{object-fit:contain;background:#080808}.thumbs{max-width:100%}.grid>*{min-width:0}

.intensity-card h3{margin-top:0}.intensity-card label{display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--ink)}.intensity-card output{font-size:18px;color:var(--gold);white-space:nowrap}.intensity-card input[type=range]{accent-color:var(--wine);padding:0;margin:16px 0 0;cursor:pointer;min-height:48px;background:transparent}.range-labels{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin-bottom:20px}

/* Dezentes Motiv hinter der Praktik; Bedienelemente bleiben auf der oberen Ebene. */
.intensity-card{position:relative;isolation:isolate;overflow:hidden;min-height:280px}.intensity-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.18;filter:grayscale(.65);pointer-events:none;z-index:-2}.intensity-card::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(10,6,10,.7),rgba(10,6,10,.35));z-index:-1;pointer-events:none}.intensity-content{position:relative}.topbar .meta{overflow-wrap:anywhere;min-width:0}

dialog img{cursor:zoom-out;margin:0 auto;max-height:88vh}
