@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@300;400;500&display=swap");:root{--bg:#f4f1e8;--bg-tint:#ebe6d6;--card:#fbf9f1;--ink:#2a2620;--muted:#5a5345;--line:#d8d1bd;--line-soft:#e6dfc9;--accent:#2a3d2e;--accent-soft:#e3e0cf;--gold:#6b5824;--taken-bg:#ece7d3;--danger:#8a3a2e;--ok:#3a5a3e}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);background-image:radial-gradient(circle at 18% 12%,rgba(138,115,53,.06),transparent 55%),radial-gradient(circle at 82% 88%,rgba(42,61,46,.05),transparent 55%);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;min-height:100vh}main{max-width:620px;margin:0 auto;padding:72px 28px 120px;position:relative}.crest{display:flex;align-items:center;gap:14px;font-family:Cormorant Garamond,serif;font-size:15px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}.crest:after,.crest:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.crest span{white-space:nowrap;display:flex;align-items:center;gap:10px}.crest span:after,.crest span:before{content:"❖";font-size:11px;opacity:.7}.runes{color:var(--gold);letter-spacing:.4em;font-size:14px;opacity:.55;margin:0 0 6px}.runes,h1{text-align:center;font-family:Cormorant Garamond,serif}h1{font-size:58px;font-weight:500;letter-spacing:-.005em;margin:0 0 18px;line-height:1.05;position:relative}h1:after{content:"✦ ❖ ✦";display:block;font-size:14px;color:var(--gold);letter-spacing:.6em;margin-top:14px;opacity:.7}h2{font-size:22px;font-weight:400;color:#3d3829;line-height:1.55;text-align:center;max-width:560px;margin:0 auto 52px;font-family:Cormorant Garamond,serif;font-style:italic}.toggle{display:grid;grid-template-columns:1fr 1fr;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:5px;position:relative;margin-bottom:26px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6),0 2px 14px rgba(42,38,32,.04)}.toggle input{display:none}.toggle label{position:relative;z-index:2;text-align:center;padding:18px 12px;border-radius:2px;cursor:pointer;font-size:21px;letter-spacing:.05em;color:var(--muted);transition:color .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle label,.toggle label .sub{font-family:Cormorant Garamond,serif;font-weight:500}.toggle label .sub{display:block;font-style:italic;font-size:17px;letter-spacing:.06em;margin-top:5px;opacity:1}.toggle .pill{position:absolute;top:5px;left:5px;width:calc(50% - 5px);height:calc(100% - 10px);background:var(--accent);border-radius:2px;transition:transform .4s cubic-bezier(.65,0,.35,1);z-index:1;box-shadow:0 2px 8px rgba(42,61,46,.18)}.toggle .pill:after,.toggle .pill:before{content:"";position:absolute;top:50%;width:6px;height:6px;border:1px solid var(--gold);transform:translateY(-50%) rotate(45deg);opacity:.55}.toggle .pill:before{left:8px}.toggle .pill:after{right:8px}.toggle[data-day=monday] .pill{transform:translateX(100%)}.toggle[data-day=monday] label[for=day-monday],.toggle[data-day=sunday] label[for=day-sunday]{color:#f4f1e8}.location{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:900;color:var(--ink);margin:0 0 2px;text-align:center;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;gap:14px}.location:after,.location:before{content:"✧";font-size:11px;opacity:.7}.info-toggle{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 16px;background:none;border:0;padding:6px 14px;font-family:Cormorant Garamond,serif;font-style:italic;font-size:19px;font-weight:600;letter-spacing:.06em;color:var(--accent);cursor:pointer;transition:color .2s,transform .2s;text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:6px}.info-toggle:after,.info-toggle:before{content:"❖";font-size:11px;color:var(--gold);opacity:.85}.info-toggle:hover{color:#1f2e22}.info-toggle .chev{display:none}.info-toggle.open{color:#1f2e22}.info-toggle_2{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 16px;background:none;border:0;padding:6px 14px;font-family:Cormorant Garamond,serif;font-style:italic;font-size:19px;font-weight:600;letter-spacing:.06em;color:var(--accent);cursor:pointer;transition:color .2s,transform .2s;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-decoration-thickness:1px}.info-toggle_2:after,.info-toggle_2:before{font-size:11px;color:var(--gold);opacity:.85}.info-toggle_2:hover{color:#59b56c}.info-toggle_2 .chev{transform:translate(0) scale(.7)}.info-toggle_2.open{color:#1f2e22}.info-panel{max-height:0;overflow:hidden;transition:max-height .35s ease,margin .35s ease;margin:0 auto;max-width:460px}.info-panel.open{max-height:500px;margin:0 auto 26px}.info-panel-inner{background:transparent;border:0;padding:0 4px 4px;font-family:Cormorant Garamond,serif;font-size:18px;line-height:1.65;color:#2a2620;text-align:center;white-space:pre-wrap;position:relative}.info-panel-inner:after,.info-panel-inner:before{content:"✦";display:block;color:var(--gold);font-size:11px;opacity:.7;margin:6px 0}.slots{display:flex;flex-direction:column;gap:6px}.slot{background:var(--card);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,background .25s;position:relative}.slot:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);opacity:0;transition:opacity .25s}.slot:not(.taken):hover{border-color:var(--gold)}.slot:not(.taken):hover:before{opacity:.5}.slot.open{border-color:var(--accent);box-shadow:0 6px 24px rgba(42,38,32,.07)}.slot.open:before{opacity:1;background:var(--accent)}.slot button.head{width:100%;background:none;border:0;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font:inherit;color:inherit;text-align:left}.slot button.head:disabled{cursor:not-allowed}.slot .time{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500;letter-spacing:.03em;display:flex;align-items:center;gap:12px}.slot .time:before{content:"✦";color:var(--gold);font-size:11px;opacity:.6}.slot.taken .time:before{content:"✕";opacity:.4}.slot .status{font-family:Cormorant Garamond,serif;font-size:14px;color:var(--accent);text-transform:uppercase;letter-spacing:.22em;font-style:italic;font-weight:600}.slot.taken{background:var(--taken-bg)}.slot.taken .time{color:#8a8270;text-decoration:line-through;-webkit-text-decoration-color:rgba(122,114,99,.5);text-decoration-color:rgba(122,114,99,.5)}.slot.taken .status{color:#8a8270;font-weight:500}.slot .body{max-height:0;overflow:hidden;transition:max-height .4s ease}.slot.open .body{max-height:900px}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:0 22px}.form{padding:18px 22px 22px;display:flex;flex-direction:column;gap:16px}.field label{display:flex;align-items:center;gap:8px;font-family:Cormorant Garamond,serif;font-size:16px;font-weight:600;font-style:italic;text-transform:uppercase;letter-spacing:.16em;color:#4a3d18;margin-bottom:12px}.field label:before{content:"❖";font-size:9px;opacity:.7}.ids{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}input[type=text],textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:2px;background:#fdfcf6;font-family:Cormorant Garamond,serif;font-size:19px;font-weight:500;color:var(--ink);outline:none;transition:border-color .2s,background .2s}input[type=text]::placeholder,textarea::placeholder{color:#9a9180;font-weight:400;font-style:italic}input[type=text]:focus,textarea:focus{border-color:var(--gold);background:#fff}textarea{min-height:80px;resize:vertical}.actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:4px}button.primary{background:var(--accent);color:#f4f1e8;border:1px solid var(--accent);border-radius:2px;padding:14px 32px;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s;position:relative;display:inline-flex;align-items:center;gap:12px}button.primary:after,button.primary:before{content:"❖";font-size:9px;color:var(--gold);opacity:.85}button.primary:hover{background:#1f2e22}button.primary:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:none;border:0;color:var(--muted);cursor:pointer;font-family:Cormorant Garamond,serif;font-size:17px;font-style:italic;letter-spacing:.06em;padding:12px 16px}button.ghost:hover{color:var(--ink)}.confirm-box{background:var(--accent-soft);border-left:2px solid var(--accent);padding:14px 18px;text-align:center;font-family:Cormorant Garamond,serif;position:relative}.confirm-box:after,.confirm-box:before{content:"❖";color:var(--gold);font-size:10px;display:block;opacity:.8}.confirm-title{font-size:15px;font-style:italic;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:600;margin:4px 0 8px}.confirm-detail{font-size:18px;color:#2a2620;margin:2px 0}.confirm-detail.group{margin-top:8px;font-style:italic;color:var(--gold);font-weight:600}.msg{font-size:13px;padding:4px 0;font-style:italic}.msg.err{color:var(--danger)}.msg.ok{color:var(--ok)}.confirmed{text-align:center;padding:36px 24px;background:var(--card);border:1px solid var(--line);border-radius:3px;position:relative}.confirmed:after,.confirmed:before{content:"❖";position:absolute;left:50%;transform:translateX(-50%);color:var(--gold);font-size:14px}.confirmed:before{top:12px}.confirmed:after{bottom:12px}.confirmed h3{margin:0 0 14px;font-size:32px;font-weight:500}.confirmed h3,.confirmed p{font-family:Cormorant Garamond,serif}.confirmed p{margin:6px 0;color:var(--muted);font-size:17px}.confirmed .group{margin-top:18px;font-style:italic;color:var(--gold)}.frieren{position:fixed;left:0;bottom:0;width:clamp(140px,18vw,260px);height:auto;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0;opacity:.92}@media (max-width:900px){.frieren{width:120px;opacity:.7}}@media (max-width:600px){.frieren{display:none}main{padding:56px 22px 80px}h1{font-size:44px}.toggle label{font-size:18px}.slot .time{font-size:19px}}.runes-row{display:flex;align-items:center;justify-content:center;gap:18px;margin:36px 0 0;color:var(--gold);opacity:.5;font-family:Cormorant Garamond,serif;font-size:13px;letter-spacing:.5em}.runes-row:after,.runes-row:before{content:"";width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}