:root{--cream:#faf5ed;--ink:#34372f;--muted:#6d6e62;--line:#ded7ca;--accent:#885337;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 var(--sans)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #377b80;outline-offset:5px}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.06}em{font-weight:400}.wrap{max-width:1320px;margin:auto;padding-left:48px;padding-right:48px}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{text-decoration:none;font-family:var(--serif);font-size:31px;letter-spacing:-1.6px}.brand-star{display:inline-block;margin-left:5px;font-size:28px;color:#9c7952}.header-note{font-size:12px;letter-spacing:.7px;color:var(--muted)}.sample-pill{font-size:10px;letter-spacing:.7px;border:1px solid #d8ccba;padding:7px 13px;border-radius:30px}.intro{text-align:center;padding-top:65px;padding-bottom:32px}.eyebrow{font:10px/1.5 var(--sans);letter-spacing:2.1px;font-weight:600}.intro .eyebrow{color:#886c4b}.intro .eyebrow span{font-size:18px;vertical-align:middle;margin-right:9px}h1{font-size:clamp(48px,5.8vw,82px);letter-spacing:-3px;margin:22px 0}.intro h1 em{color:#99704f}.intro-text{color:var(--muted);font-size:14px;line-height:1.9}.intro-flourish{display:flex;align-items:center;justify-content:center;gap:17px;color:#ac8d5a;font-size:14px;margin-top:25px}.intro-flourish span{width:42px;height:1px;background:#d9c9ae}.worlds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;padding-top:20px}.world-link{text-decoration:none;display:block}.world-art{height:auto;aspect-ratio:3/4;position:relative;overflow:hidden;border-radius:160px 160px 9px 9px;background:#e8d1c3;isolation:isolate;box-shadow:0 16px 30px -24px #3f3028}.world-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}.world-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#251b231a,transparent 35%,#15212b05 58%,#17212bd9);z-index:0}.world-link:hover img{transform:scale(1.045)}.world-number{position:absolute;top:45px;left:0;right:0;text-align:center;color:#fff5e6;font-size:9px;letter-spacing:2px;z-index:1;text-shadow:0 1px 8px #000}.art-caption{position:absolute;bottom:25px;left:25px;right:60px;color:#fff9ed;font:italic 21px/1.22 var(--serif);z-index:1;text-wrap:balance}.round-arrow{position:absolute;bottom:25px;right:20px;border:1px solid #fff9e780;border-radius:50%;width:29px;height:29px;text-align:center;line-height:27px;color:#fff6e5;z-index:1}.world-description{padding:23px 3px}.world-description .eyebrow{letter-spacing:1.3px;font-size:8px;color:#89694b}.world-description h2{font-size:27px;letter-spacing:-.7px;margin:9px 0 13px}.world-description p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.8;max-width:310px}.text-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:19px;padding-top:13px;font-size:11px;font-weight:bold;letter-spacing:.2px}.text-link span{font-size:17px}.team .eyebrow{color:#386b6e}.pokal .eyebrow{color:#79613d}.afterword{text-align:center;padding-top:50px;padding-bottom:62px}.little-star{font-size:30px;color:#a88a58;display:block;margin-bottom:17px}.afterword p{font:28px/1.4 var(--serif);letter-spacing:-.6px}.afterword p em{color:#98704e}.afterword>span:last-of-type{display:block;margin-top:18px;font-size:11px;color:var(--muted)}.quiet-button{background:none;border:0;border-bottom:1px solid #bda78b;padding:7px 0;font-size:12px}.afterword button{margin-top:12px}.site-footer{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;padding-bottom:26px}.site-footer .wordmark{font-size:25px}.site-footer p,.site-footer>a:last-child{font-size:10px;color:var(--muted)}.site-footer>a:last-child{text-decoration:none}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:var(--cream);padding:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{border:0;padding:0;color:var(--ink)}dialog::backdrop{background:#171c20cc;backdrop-filter:blur(8px)}body.dialog-open{overflow:hidden}.invitation{width:min(1180px,100%);max-width:100%;height:min(850px,100dvh - 48px);max-height:100dvh;border-radius:18px;background:#26322c;overflow:hidden}.invitation-shell{--accent:#83513d;--panel:#fff8ed;position:relative;width:100%;height:100%;display:grid;grid-template-columns:1fr 450px;background:#1d292b}.invitation-shell[data-theme="team"]{--accent:#216669;--panel:#eff9f5}.invitation-shell[data-theme="pokal"]{--accent:#795520;--panel:#fcf5e5}.scene-backdrop{position:absolute;inset:0 40% 0 0;overflow:hidden}.scene-backdrop>img{height:100%;width:100%;object-fit:cover;object-position:center 38%;transition:transform 2s ease,filter 1.4s}.invitation-shell[data-step="1"] .scene-backdrop>img{transform:scale(1.045)}.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0c172453,transparent 35%,transparent 60%,#10212675)}.invite-header{position:absolute;inset:20px 24px auto;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px}.glass-button{background:#14282999;color:#fff9ec;border:1px solid #fff5df55;border-radius:30px;padding:8px 13px;backdrop-filter:blur(12px);font-size:11px;line-height:20px;min-height:39px}.invite-logo{font:23px var(--serif);color:#fff7e7;position:absolute;left:45%;transform:translateX(-50%);text-shadow:0 2px 12px #0009}.tool-buttons{display:flex;gap:7px;margin-left:auto}.icon-button{width:39px;padding:8px 0;font-size:19px}.scene-caption{position:absolute;left:35px;top:91px;z-index:2;color:#fff7ed;text-shadow:0 2px 12px #18222d}.scene-caption>span{font-size:9px;letter-spacing:2.2px}.scene-caption p{font:italic 28px/1.3 var(--serif);margin-top:6px}.invite-panel{grid-column:2;background:var(--panel);z-index:4;padding:96px 38px 22px;overflow-y:auto;display:flex;flex-direction:column;transition:background .7s ease}.panel-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1.4px;color:var(--accent);margin-bottom:27px}.demo-mark{font-size:8px;border:1px solid currentColor;padding:2px 5px;border-radius:3px;opacity:.8}.invite-step{flex:1;animation:page-in .6s both}.invite-step[hidden]{display:none}.invite-step h2{font-size:43px;letter-spacing:-1.8px;margin-bottom:20px;outline-offset:8px}.invite-step h2 em{color:var(--accent)}.invite-step>p{font-size:13px;line-height:1.9;color:#68685d}.primary-button{background:var(--accent);color:#fffaf0;border:1px solid var(--accent);border-radius:8px;width:100%;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;font-size:12px;margin-top:24px;min-height:48px;box-shadow:0 5px 14px -8px #392a1a88;transition:filter .2s,transform .2s}.primary-button:hover{filter:brightness(1.13)}.primary-button:active{transform:scale(.985)}.primary-button span{font-size:17px}.skip-story{display:block;margin:12px auto 0;background:none;border:0;border-bottom:1px solid #b9ac98;font-size:10px;padding:5px 0;color:#66685e}.step-nav{border-top:1px solid #b6aa922e;padding-top:15px;margin-top:25px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.step-nav button{background:none;border:0;border-radius:4px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;color:#737268;font-size:9px;min-height:45px}.step-nav button span{font-family:var(--serif);font-size:16px}.step-nav [aria-current]{color:var(--accent);background:#a98b4e12}.edit-link{border:0;background:none;font-size:9px;letter-spacing:.5px;color:#777263;margin:10px auto 0;padding:6px}.scene-bottom-note{position:absolute;bottom:23px;left:30px;color:#fff6e5;font:italic 16px var(--serif);z-index:3}.scene-object-wrap{position:absolute;z-index:3;left:30%;top:58%;transform:translate(-50%,-50%);transition:opacity .6s,transform .6s}.magic-object{background:none;border:0;padding:20px;position:relative;display:flex;align-items:center;flex-direction:column;gap:12px;filter:drop-shadow(0 8px 16px #1b222a66)}.object-visual{width:117px;height:83px;display:block;position:relative;transition:transform .5s}.object-label{color:#fff9ec;font-size:10px;background:#14272caa;border:1px solid #fff6d95c;padding:8px 13px;border-radius:30px;white-space:nowrap;backdrop-filter:blur(10px)}.envelope .object-visual{background:linear-gradient(145deg,#fffdf4,#edd6b0);border:1px solid #b7976a;border-radius:5px;box-shadow:inset 0 0 0 5px #fff7e4aa;transform:rotate(-7deg);animation:object-float 4s ease-in-out infinite}.envelope .object-visual:before{content:'';position:absolute;inset:0;background:#fcf1db;clip-path:polygon(0 0,100% 0,50% 59%);filter:drop-shadow(0 2px 1px #7e5b35)}.envelope .object-visual:after{content:'✧';position:absolute;left:45px;top:31px;width:26px;height:26px;background:#b17a59;border:2px solid #c99e78;border-radius:50%;color:#fff3d4;line-height:21px;font-size:18px;text-align:center}.orb .object-visual{width:99px;height:99px;border-radius:50%;border:1px solid #ffffffc0;background:radial-gradient(circle at 30% 25%,#fff 0%,#e2fff74d 12%,#7affed17 38%,#d8fff39c 88%,#fff9);box-shadow:0 0 25px #b1fff6a8,inset -10px -10px 25px #f5fff788;animation:object-float 4s ease-in-out infinite}.orb .object-visual:before{content:'✧';position:absolute;inset:0;color:white;text-shadow:0 0 14px #fff;line-height:97px;text-align:center;font-size:45px}.lantern .object-visual{width:78px;height:104px;border-radius:42% 42% 30% 30%;border:1px solid #ffe0a9;background:repeating-linear-gradient(90deg,transparent 0 13px,#b77f2638 13px 14px),radial-gradient(ellipse at 50% 65%,#fffed6,#ffd991 55%,#dba856);box-shadow:0 0 40px #ffd88770,inset 0 0 12px #ffedc2;animation:object-float 4s ease-in-out infinite}.lantern .object-visual:after{content:'';position:absolute;bottom:-6px;left:18px;right:18px;height:5px;background:#a8793b;border-radius:50%}.magic-object:hover .object-visual{filter:brightness(1.15)}.invitation-shell.is-revealing .envelope .object-visual{animation:letter-open 1s forwards}.invitation-shell.is-revealing .orb .object-visual{animation:orb-open 1s forwards}.invitation-shell.is-revealing .lantern .object-visual{animation:lantern-open 1s forwards}.invitation-shell:not([data-step="0"]) .scene-object-wrap{opacity:0;pointer-events:none;transform:translate(-50%,-60%)}.paper-crown{font-size:31px;display:block;color:#b58b47;margin-bottom:12px}.invite-step .eyebrow{font-size:8px;color:var(--accent);margin-bottom:12px}.personal-message{white-space:pre-line}.princess-signature{font-family:var(--serif);font-style:italic;font-size:17px!important;color:var(--accent)!important;margin-top:17px}.party-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 8px;padding:18px 0;margin:0;border-top:1px solid #baa8894a;border-bottom:1px solid #baa8894a}.party-details .full{grid-column:1/-1}.party-details dt{font-size:8px;color:var(--accent);letter-spacing:1.5px;margin-bottom:4px}.party-details dd{margin:0;font-size:14px;line-height:1.6}.party-details dd.address{font-size:11px;color:#6c6e65}.party-note{font-size:11px!important;margin-top:14px!important}.reply-deadline{font-size:11px!important;margin-bottom:17px!important}#reply-form>label{display:block;font-size:10px;margin:13px 0 5px}#reply-form>label span{color:#71746c}input,textarea{max-width:100%;border:1px solid #c9c4b4;border-radius:6px;padding:10px 12px;background:#ffffff85;color:#303a34;line-height:1.5;font-size:13px;width:100%;min-height:42px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#777d75;opacity:1}fieldset{padding:0;border:0;margin:12px 0 0;min-width:0}legend{font-size:10px;margin-bottom:6px;padding:0}.reply-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reply-options label{position:relative;cursor:pointer}.reply-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.reply-options span{display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;min-height:43px;padding:8px 5px;border:1px solid #c1c4b6;border-radius:6px;background:#fff7}.reply-options input:checked+span{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#b5ad8c13}.reply-options input:focus-visible+span{outline:3px solid #377b80;outline-offset:3px}#reply-submit{margin-top:16px}.reply-hint{font-size:9px!important;line-height:1.6!important;margin-top:10px!important}.reply-result{background:#ffffff8c;border:1px solid #b3bea7;border-radius:8px;padding:12px;margin-top:15px}.reply-result p{font-size:11px;margin-bottom:8px}.reply-result textarea{font-size:11px;background:#fff7;min-height:95px}.reply-result button{font-size:10px}.ambient,.burst{position:absolute;inset:0;overflow:hidden;pointer-events:none}.mote{position:absolute;left:var(--x);bottom:-8%;width:var(--size);height:var(--size);border-radius:50%;background:#fff8d5;opacity:0;box-shadow:0 0 8px #fff4b8;animation:rise var(--duration) linear infinite;animation-delay:var(--delay)}[data-theme="anpfiff"] .mote{filter:blur(.6px);background:#fff6dc}[data-theme="team"] .mote{background:#b7fff318;border:1px solid #e6fff3b3;box-shadow:inset 0 0 5px #e0fff788}[data-theme="pokal"] .mote{border-radius:35%;background:#ffd389;box-shadow:0 0 12px #ffe0a5}.burst-bit{position:absolute;left:var(--x);top:var(--y);font:25px var(--serif);color:#fff5c2;text-shadow:0 0 10px #fff5c2;animation:burst-fly 1.8s ease-out forwards}.touch-bubble{position:absolute;border:1px solid #e9fffd;border-radius:50%;width:20px;height:20px;box-shadow:inset 0 0 8px #d2fff799;animation:bubble-touch 1.8s ease-out forwards}.released-light{position:absolute;width:22px;height:30px;border-radius:35%;background:radial-gradient(#fff9d1,#f9b14d);box-shadow:0 0 22px #ffe1a9;animation:release-light 4s ease-out forwards;left:50%;top:65%}.editor{width:min(570px,calc(100% - 30px));max-height:calc(100dvh - 35px);border-radius:14px;background:var(--cream);padding:30px;--accent:#805b3d;box-shadow:0 20px 100px #0004}.editor header{display:flex;justify-content:space-between;gap:20px;margin-bottom:25px}.editor h2{font-size:36px;letter-spacing:-1px;margin-top:8px}.editor h2 em{color:#99704f}.editor .eyebrow{font-size:8px}.close-editor{border:1px solid #ccc0ad;background:none;border-radius:50%;font-size:25px;width:35px;height:35px;line-height:28px;flex-shrink:0}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-grid label{font-size:11px}.editor-grid input,.editor-grid textarea{margin-top:5px}.editor-grid .wide{grid-column:1/-1}.editor small,.editor-note{font-size:10px;line-height:1.6;color:#6e6c60;display:block;margin-top:7px}.editor-note{margin-top:20px}#editor-error{color:#9a2d22;font-size:11px;margin-top:10px}.noscript-note{padding:20px;text-align:center}.paused *,.paused *:before,.paused *:after{animation-play-state:paused!important}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important}.paused .ambient,.reduced-motion .ambient{opacity:0}.reduced-motion .released-light{display:none}@keyframes page-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes object-float{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes letter-open{to{transform:rotate(0) scale(1.45);opacity:0;filter:brightness(1.6)}}@keyframes orb-open{to{transform:scale(4);opacity:0;filter:brightness(1.8)}}@keyframes lantern-open{to{transform:translateY(-160px) scale(.5);opacity:0}}@keyframes rise{0%{transform:translate(0,0);opacity:0}15%,70%{opacity:.7}100%{transform:translate(28px,-850px);opacity:0}}@keyframes burst-fly{from{transform:translate(0,0) scale(.4);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(70deg);opacity:0}}@keyframes bubble-touch{from{transform:translateY(0) scale(.4);opacity:1}to{transform:translateY(-180px) scale(1.7);opacity:0}}@keyframes release-light{from{transform:translate(0,0) scale(1);opacity:1}to{transform:translate(45px,-550px) scale(.3);opacity:0}}
@media(min-width:1400px){.world-art{aspect-ratio:3/3.9}.intro{padding-top:60px}}
@media(max-width:1000px){.wrap{padding-left:28px;padding-right:28px}.worlds{gap:18px}.world-description h2{font-size:23px}.world-number{top:32px;font-size:8px}.art-caption{font-size:18px;left:18px}.invitation{height:calc(100dvh - 24px);width:calc(100% - 24px)}.invitation-shell{grid-template-columns:1fr 410px}.invite-panel{padding-left:28px;padding-right:28px}.scene-backdrop{right:39%}.scene-caption{left:25px}.invite-logo{display:none}.scene-object-wrap{left:27%}.header-note{display:none}}
@media(max-width:700px){.wrap{padding-left:22px;padding-right:22px}.site-header{height:78px}.wordmark{font-size:28px}.sample-pill{font-size:8px;padding:6px 8px}.intro{padding-top:38px;padding-bottom:23px}h1{font-size:57px;letter-spacing:-2.8px;margin:17px 0}.intro .eyebrow{font-size:8px;letter-spacing:1.4px}.intro-text{font-size:12px}.worlds{grid-template-columns:1fr;max-width:450px;gap:20px;padding-top:10px}.world-art{aspect-ratio:3/3.5;border-radius:170px 170px 9px 9px}.world-number{top:44px}.art-caption{font-size:23px;bottom:25px}.world-description{padding:20px 4px 23px}.world-description h2{font-size:29px}.world-description p:not(.eyebrow){font-size:13px}.world-description .eyebrow{font-size:8px}.text-link{font-size:12px}.afterword{padding-top:25px;padding-bottom:40px}.afterword p{font-size:26px}.site-footer{flex-wrap:wrap;gap:8px 20px}.site-footer p{order:3;flex-basis:100%;font-size:9px}.site-footer>a:last-child{margin-left:auto}.invitation{height:100dvh;width:100%;max-height:100dvh;margin:0;border-radius:0}.invitation-shell{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:0}.scene-backdrop{inset:0}.scene-backdrop>img{object-position:center 21%;height:100%;width:100%}.scene-shade{background:linear-gradient(180deg,#0c17246e,transparent 25%,transparent 45%,#14272c50 75%)}.invite-header{inset:12px 15px auto}.glass-button{font-size:10px;min-height:38px}.scene-caption{top:66px;left:22px}.scene-caption>span{font-size:8px;letter-spacing:1.6px}.scene-caption p{font-size:23px}.invite-panel{position:relative;flex:none;max-height:60dvh;padding:20px 24px max(12px,env(safe-area-inset-bottom));margin:0 12px 12px;border-radius:18px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 -10px 40px #14212417;overflow-y:auto}.panel-meta{margin-bottom:12px;font-size:7px;letter-spacing:1.1px}.invite-step{flex:none}.invite-step h2{font-size:32px;letter-spacing:-1px;margin-bottom:11px}.invite-step>p{font-size:12px;line-height:1.7}.primary-button{margin-top:15px;padding:11px 15px;min-height:44px;font-size:11px}.skip-story{margin-top:6px;font-size:9px}.step-nav{margin-top:14px;padding-top:8px}.step-nav button{min-height:36px;font-size:8px;gap:0}.step-nav button span{font-size:13px}.edit-link{font-size:8px;margin:4px auto 0;padding:4px}.scene-object-wrap{left:50%;top:36%}.object-visual{width:100px;height:70px}.envelope .object-visual:after{left:37px;top:25px}.object-label{font-size:9px;padding:6px 10px}.orb .object-visual{width:80px;height:80px}.orb .object-visual:before{line-height:78px}.lantern .object-visual{width:61px;height:82px}.magic-object{gap:7px;padding:12px}.scene-bottom-note{display:none}.paper-crown{display:none}.invite-step .eyebrow{font-size:7px;margin-bottom:6px}.princess-signature{font-size:15px!important;margin-top:10px}.party-details{padding:12px 0;gap:9px}.party-details dd{font-size:12px}.party-details dt{font-size:7px}.party-note{font-size:10px!important;margin-top:10px!important}#reply-form>label{margin-top:8px;font-size:9px}#reply-form input,#reply-form textarea{font-size:12px;padding:7px 10px;min-height:38px}.reply-options span{min-height:38px;font-size:10px}fieldset{margin-top:8px}legend{font-size:9px}.reply-deadline{margin-bottom:8px!important}.reply-hint{font-size:8px!important}.editor{padding:24px}.editor h2{font-size:31px}.invitation-shell[data-step="3"] .invite-panel{max-height:65dvh}.invitation-shell[data-step="2"] .invite-panel{max-height:60dvh}}
@media(max-width:380px){.intro h1{font-size:50px}.invite-panel{padding-left:18px;padding-right:18px;margin:0 8px 8px}.invite-step h2{font-size:28px}.scene-caption p{font-size:20px}.editor-grid{gap:10px}.editor{padding:20px}}
@media(max-height:650px) and (min-width:701px){.invitation{height:100dvh;width:100%;border-radius:0}.invite-panel{padding-top:78px}.panel-meta{margin-bottom:15px}.invite-step h2{font-size:32px}.scene-caption{top:75px}.scene-object-wrap{top:65%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.ambient{display:none}}

/* Einzel-Einladungen: dieselbe Bühne wie in der vollständigen Webseite. */
.customer-view{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--cream)}
.customer-view .customer-invitation{display:block;margin:0;border:0;padding:0}
.customer-view .customer-name{cursor:default;font-size:11px}
.customer-noscript{position:fixed;inset:0;z-index:20;background:#fff8ed;color:#34372f;padding:40px;font:18px/1.8 Arial,sans-serif}

/* Kleiner Geburtstags-Countdown innerhalb der Einladung. */
.birthday-countdown{margin:16px 0 2px;padding:10px 0;border-top:1px solid #baa88940;border-bottom:1px solid #baa88940}
.birthday-countdown[hidden],.countdown-digits[hidden],.birthday-announcement[hidden]{display:none}
.birthday-countdown .countdown-label{font:9px/1.5 var(--sans);color:var(--accent);letter-spacing:.35px;margin:0 0 6px}
.countdown-digits{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:270px}
.countdown-digits>span{display:flex;align-items:baseline;gap:5px}
.countdown-digits strong{font:24px/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--accent)}
.countdown-digits small{font:8px var(--sans);color:#6c6e65}
.birthday-countdown .birthday-announcement{font:italic 21px/1.35 var(--serif);color:var(--accent);margin:0;text-wrap:pretty}
@media(max-width:700px){.birthday-countdown{margin-top:11px;padding:8px 0}.countdown-digits strong{font-size:21px}.birthday-countdown .birthday-announcement{font-size:18px}.countdown-digits{max-width:245px;gap:5px}}

/* Die Gegenstände der Illustration selbst sind die Klickflächen. */
.scene-object-wrap{opacity:0;transform:translate(-50%,-50%)}
.scene-object-wrap[data-ready="true"]{opacity:1}
.invitation-shell:not([data-step="0"]) .scene-object-wrap{opacity:0;pointer-events:none}
.magic-object{display:block;padding:0;background:transparent;border:0;filter:none;min-width:48px;min-height:48px}
.magic-object .object-visual,.magic-object .object-label{display:none}
.magic-object:before{content:'';position:absolute;inset:-4px;border:1.5px solid #fff2baaa;border-radius:inherit;box-shadow:0 0 14px #ffe7b94d;animation:hand-object-pulse 2.7s ease-in-out infinite;pointer-events:none}
.magic-object:hover:before{border-color:#fff6ce;box-shadow:0 0 20px #fff0ae99}
.magic-object:focus-visible{outline:3px solid #fff2bb;outline-offset:5px}
.invitation-shell.is-revealing .magic-object:before{animation:hand-object-open .85s ease-out forwards}
/* Die persönliche Kopfzeile steht in der Box statt über dem Gesicht. */
.invite-panel>.scene-caption{position:static;color:var(--accent);text-shadow:none;margin:0 0 18px}
.invite-panel>.scene-caption>span{font-size:8px;letter-spacing:1.3px;line-height:1.4}
.invite-panel>.scene-caption p{font-size:22px;line-height:1.2;margin-top:4px}
.panel-meta{display:none}
.reply-name-row>label{display:block;font-size:10px;margin:13px 0 5px}
.reply-message{margin-top:12px;font-size:10px}
.reply-message summary{cursor:pointer;padding:4px 0}
.reply-message summary span{color:#71746c}
.reply-message textarea{margin-top:6px}
.details-actions .primary-button{margin-top:18px}
#reply-form[hidden],.reply-hint[hidden]{display:none}
#reply-edit{margin-left:12px;font-size:10px}
@keyframes hand-object-pulse{0%,100%{opacity:.45;scale:1}50%{opacity:1;scale:1.07}}
@keyframes hand-object-open{to{opacity:0;scale:1.7;box-shadow:0 0 40px #fff3b8}}
@media(max-width:700px){
  .invite-panel{padding:12px 17px max(10px,env(safe-area-inset-bottom));margin:0 10px 9px;border-radius:16px;max-height:65dvh}
  .invitation-shell[data-step="2"] .invite-panel,.invitation-shell[data-step="3"] .invite-panel{max-height:66dvh}
  .invite-panel>.scene-caption{margin-bottom:8px}
  .invite-panel>.scene-caption>span{font-size:7px;letter-spacing:1px}
  .invite-panel>.scene-caption p{font-size:17px;line-height:1.15;margin-top:2px}
  .invite-step h2{font-size:24px;line-height:1.08;letter-spacing:-.65px;margin-bottom:7px}
  .invite-step h2 br{display:none}
  .invite-step>p{font-size:12px;line-height:1.5}
  .invite-step .eyebrow{font-size:7px;line-height:1.4;margin-bottom:5px}
  .princess-signature{font-size:14px!important;line-height:1.4!important;margin-top:6px}
  #open-story,#skip-story{display:none}
  .primary-button{margin-top:10px;padding:9px 12px;min-height:38px;font-size:11px}
  .primary-button span{font-size:15px}
  .step-nav{margin-top:8px;padding-top:5px;gap:3px;flex-shrink:0}
  .step-nav button{flex-direction:row;justify-content:center;gap:4px;min-height:38px;padding:3px 0;font-size:8px;line-height:1.2}
  .step-nav button span{font-size:11px}
  .edit-link{margin-top:2px;padding:3px;font-size:8px}
  .birthday-countdown{margin:8px 0 0;padding:6px 0}
  .birthday-countdown .countdown-label{font-size:8px;line-height:1.4;margin-bottom:4px}
  .countdown-digits{max-width:250px;gap:6px}
  .countdown-digits strong{font-size:20px}
  .countdown-digits small{font-size:8px}
  .birthday-countdown .birthday-announcement{font-size:16px;line-height:1.3}
  .party-details{padding:8px 0;gap:7px 10px}
  .party-details dt{font-size:7px;line-height:1.3;margin-bottom:2px}
  .party-details dd{font-size:12px;line-height:1.4}
  .party-details dd.address{font-size:10px;line-height:1.4}
  .party-note{font-size:10px!important;line-height:1.4!important;margin-top:7px!important}
  .details-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;margin-top:9px}
  .details-actions .primary-button{margin:0;min-height:38px}
  .details-actions .skip-story{margin:0;padding:6px 0;font-size:9px;line-height:1.3;text-align:center;min-height:32px}
  .reply-deadline{font-size:10px!important;line-height:1.4!important;margin-bottom:7px!important}
  .reply-name-row{display:grid;grid-template-columns:60px minmax(0,1fr);gap:8px;align-items:center}
  .reply-name-row>label{font-size:10px;line-height:1.3;margin:0}
  #reply-form input,#reply-form textarea{font-size:16px;line-height:1.3;padding:6px 9px;min-height:36px}
  #reply-form fieldset{margin-top:7px}
  #reply-form legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .reply-options{gap:7px}
  .reply-options span{min-height:36px;padding:6px;font-size:10px}
  .reply-message{margin-top:6px;font-size:10px;line-height:1.4}
  .reply-message summary{padding:6px 0;min-height:28px}
  .reply-message textarea{margin-top:3px}
  #reply-submit{margin-top:8px;min-height:38px}
  .reply-hint{font-size:8px!important;line-height:1.4!important;margin-top:6px!important}
  .reply-result{padding:9px;margin-top:8px}
  .reply-result p{font-size:10px;line-height:1.4;margin-bottom:6px}
  .reply-result textarea{font-size:11px;min-height:72px;max-height:95px}
  .reply-result .quiet-button{font-size:9px;padding:6px 0}
  .glass-button{min-height:36px;padding:7px 11px}
  .icon-button{width:36px;padding:7px 0}
}
@media(max-width:380px){.invite-panel{padding-left:15px;padding-right:15px}.invite-step h2{font-size:23px}.invite-panel>.scene-caption p{font-size:16px}}

/* Sportwelten: dieselbe kompakte Einladungsbühne, eigene Farben und Effekte. */
:root{--cream:#fdf8ef;--ink:#19272a}
.site-header{height:88px}.gallery-nav{display:flex;gap:30px;font:14px var(--serif)}.gallery-nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}.intro{padding-top:44px;padding-bottom:22px}.intro h1{font-size:clamp(43px,5.3vw,76px);margin:16px 0}.intro h1 br{display:none}.intro h1 em{font-style:normal;color:inherit}.intro h1 br:after{content:' '}.intro-text{font:20px/1.55 var(--serif);color:#48514a}.worlds{gap:25px;padding-top:12px}.world-art{border:1px solid #ac8340;aspect-ratio:3/4;box-shadow:none}.world-art:after{display:none}.world-description{text-align:center;padding-top:16px}.world-description h2{font-size:25px;margin:0 0 15px}.text-link{display:flex;justify-content:center;gap:14px;border:1px solid #a68042;border-radius:30px;padding:11px 17px;margin:0 auto;max-width:260px;font:15px var(--serif);font-weight:400}.gallery-hint{display:block;color:#746e65;font-size:10px;margin-top:9px}.single-link{font-size:11px;display:inline-block;margin-top:9px;text-underline-offset:4px;min-height:30px}.afterword{padding:36px 24px 46px}.afterword p{font-size:25px}.afterword>span:last-of-type{margin-top:12px}.site-footer p{font-size:10px}.world-art img{object-position:center top}.world-art:hover img{transform:none}
.invite-panel{padding-top:88px}.invitation-shell{--glow:#aaff83}.scene-backdrop:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 75px color-mix(in srgb,var(--glow) 22%,transparent);background:radial-gradient(ellipse at 50% 40%,transparent 30%,color-mix(in srgb,var(--glow) 9%,transparent));animation:neon-breathe 4.5s ease-in-out infinite;mix-blend-mode:screen}.scene-shade{background:linear-gradient(180deg,#06132470,transparent 25%,transparent 55%,#04111b44)}.scene-backdrop>img{transition:filter 1s ease;transform:none!important}.magic-object:before{border-color:var(--glow);box-shadow:0 0 14px color-mix(in srgb,var(--glow) 40%,transparent)}.mote{background:var(--glow);box-shadow:0 0 8px var(--glow);border:0;border-radius:50%;filter:none}.spark{width:2px!important;height:var(--size);border-radius:2px;background:var(--glow);box-shadow:0 0 7px var(--glow)}.burst-bit{font:22px Arial,sans-serif;color:var(--glow);text-shadow:0 0 10px var(--glow)}.princess-signature{font-family:var(--sans)!important;font-style:normal!important}.paper-crown{display:none}.scene-shirt{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-50%);text-align:center;color:#efffff;text-shadow:0 0 7px #c8ffff,0 2px 2px #073c52;font-weight:900;font-family:Arial,sans-serif;line-height:1}.scene-shirt span{display:block}.scene-shirt strong{display:block;line-height:1.1}.scene-shirt[hidden]{display:none}.gallery-shirt{position:absolute;top:25%;left:50%;transform:translateX(-50%);width:36%;text-align:center;color:#e9ffff;text-shadow:0 0 5px #9ff7ff;font:900 clamp(12px,1.7vw,23px)/1.2 Arial,sans-serif;pointer-events:none}.gallery-shirt strong{display:block;font-size:clamp(36px,6vw,76px);line-height:1.2}.gallery-shirt span{display:block;overflow-wrap:anywhere}.tool-buttons [hidden]{display:none}.motion-status{font-size:9px}.paused .scene-backdrop:after,.reduced-motion .scene-backdrop:after{animation:none;opacity:.4}.released-light{display:none}.invite-step>p{color:#4f584f}.gallery-downloads{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:14px;font-size:11px}.gallery-downloads a{padding:7px 0;text-underline-offset:4px}
@keyframes neon-breathe{0%,100%{opacity:.38}50%{opacity:.8}}
@media(min-width:701px){.scene-backdrop{right:450px}.invite-logo{left:30%}}
@media(min-width:701px) and (max-width:1000px){.scene-backdrop{right:410px}}
@media(max-width:700px){.site-header{height:72px}.gallery-nav{gap:16px;font-size:12px}.intro{padding-top:28px}.intro h1{font-size:43px;letter-spacing:-1.7px}.intro h1 br{display:block}.intro-text{font-size:17px}.intro .eyebrow{font-size:8px}.world-art{aspect-ratio:3/4}.world-description h2{font-size:27px}.worlds{gap:18px}.world-description{padding-bottom:18px}.gallery-shirt{font-size:22px}.gallery-shirt strong{font-size:72px}.invitation-shell .scene-backdrop{inset:0}.scene-backdrop>img{height:82%}.invite-panel{max-height:62dvh}.invitation-shell[data-step="2"] .invite-panel,.invitation-shell[data-step="3"] .invite-panel{max-height:66dvh}.invite-panel>.scene-caption{margin-bottom:6px}.invite-step h2{font-size:24px}.scene-caption p{font-size:17px}.birthday-countdown{margin-top:7px}.scene-bottom-note{display:none}.customer-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.single-link{min-height:32px}.afterword p{font-size:23px}.gallery-downloads{gap:12px}}
@media(prefers-reduced-motion:reduce){.scene-backdrop:after{animation:none}.world-art img{transition:none}}

.invitation-shell[data-theme="anpfiff"]{--accent:#245e32;--panel:#f3f8ef;--glow:#abff73}

.invitation-shell[data-theme="team"]{--accent:#176276;--panel:#eff9f8;--glow:#7cecff}

.invitation-shell[data-theme="pokal"]{--accent:#795617;--panel:#fcf6e7;--glow:#ffd670}

@media(max-width:700px){.scene-backdrop>img{height:82%}.gallery-shirt{top:25%}}

@media(max-width:700px){.scene-backdrop>img{height:82%}.gallery-shirt{top:25%}}

/* Kleine Hauptseiten-Galerie. Einladung und Einzelkarten haben eigene Klassen. */
.compact-gallery .wrap{max-width:980px;padding-left:24px;padding-right:24px}
.compact-gallery .site-header{height:66px}
.compact-gallery .intro{padding-top:24px;padding-bottom:14px}
.compact-gallery .intro h1{font-size:clamp(22px,2.6vw,32px);line-height:1.25;letter-spacing:-.45px;margin:12px 0;white-space:nowrap}
.compact-gallery .intro h1 br{display:none}
.compact-gallery .intro h1 em{font-style:normal;color:inherit}
.compact-gallery .intro .eyebrow{font-size:8px;letter-spacing:1.3px}
.compact-gallery .intro-text{font:13px/1.65 var(--sans)}
.compact-gallery .intro-flourish{margin-top:12px;font-size:12px}
.compact-gallery .worlds{width:78%;max-width:840px;gap:16px;padding:10px 20px 0;align-items:start}
.compact-gallery .world-art{border-radius:115px 115px 8px 8px}
.compact-gallery .world-number{font-size:7px;letter-spacing:1.2px;top:30px}
.compact-gallery .art-caption{font-size:17px;left:16px;right:48px;bottom:19px}
.compact-gallery .round-arrow{right:13px;bottom:18px}
.compact-gallery .world-description{padding:14px 1px 16px}
.compact-gallery .world-description h2{font-size:20px;letter-spacing:-.35px;margin:7px 0 10px}
.compact-gallery .world-description p:not(.eyebrow){font-size:12px;line-height:1.65}
.compact-gallery .world-description .eyebrow{font-size:7px;letter-spacing:.8px}
.compact-gallery .text-link{font-size:12px;margin-top:12px}
.compact-gallery .gallery-hint{font-size:9px;line-height:1.5}
.compact-gallery .single-link{font-size:10px}
.compact-gallery .afterword{padding-top:22px;padding-bottom:30px}
.compact-gallery .afterword p{font-size:22px}
.compact-gallery .little-star{font-size:23px;margin-bottom:10px}
.compact-gallery .gallery-shirt{font-size:clamp(10px,1.3vw,16px)}
.compact-gallery .gallery-shirt strong{font-size:clamp(28px,4vw,51px)}
@media(max-width:1000px) and (min-width:701px){
 .compact-gallery .world-description h2{font-size:18px}
 .compact-gallery .art-caption{font-size:15px}
}
@media(max-width:700px){
 .compact-gallery .wrap{padding-left:18px;padding-right:18px}
 .compact-gallery .site-header{height:62px}
 .compact-gallery .intro{padding-top:19px;padding-bottom:12px}
 .compact-gallery .intro h1{font-size:clamp(15px,4.4vw,22px);letter-spacing:-.2px;margin:10px 0}
 .compact-gallery.princess-gallery .intro h1{font-size:clamp(12px,3.5vw,20px);letter-spacing:-.1px}
 .compact-gallery .intro-text{font-size:12px;line-height:1.6}
 .compact-gallery .intro .eyebrow{font-size:7px;letter-spacing:1px}
 .compact-gallery .worlds{width:100%;max-width:260px;gap:12px;padding:8px 16px 0}
 .compact-gallery .world-art{border-radius:112px 112px 8px 8px}
 .compact-gallery .world-description{padding-top:12px;padding-bottom:13px}
 .compact-gallery .world-description h2{font-size:20px}
 .compact-gallery .art-caption{font-size:17px}
 .compact-gallery .afterword{padding-top:18px;padding-bottom:26px}
 .compact-gallery .afterword p{font-size:20px}
 .compact-gallery .gallery-shirt{font-size:15px}
 .compact-gallery .gallery-shirt strong{font-size:46px}
}
