/* Presentation layer only. Existing PHP contracts and form handlers are retained. */
:root{--page-margin:clamp(32px,4.5vw,80px);--pmu-blur:24px;--font-serif:'PMG Display',serif;--font-sans:'PMG UI',sans-serif}
html,body{background:var(--theme-canvas);color:var(--theme-text)}
body{min-height:100svh;font:400 18px/1.55 var(--font-sans);position:relative;isolation:isolate;overflow-wrap:anywhere}
[hidden]{display:none!important}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}svg{width:24px;height:24px}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;margin:0;line-height:1.08}h1{font-size:56px;letter-spacing:-.02em}h2{font-size:32px}h3{font-size:28px}h4{font-size:26px}p{margin:0 0 16px}a{color:inherit}small,.field-note{font-size:14px;line-height:1.5}button:disabled{cursor:not-allowed;color:var(--theme-muted)}
.header,body>main,body>footer{width:min(calc(100% - 2 * var(--page-margin)),1440px);margin-inline:auto;position:relative;z-index:2}.header{min-height:88px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--theme-border);z-index:10}.brand-and-groups{display:contents}.brand{font:500 32px/1 var(--font-serif);gap:10px;color:var(--theme-text);flex:none}.brand em{font-style:normal}.brand .brand-gift{display:block}.brand-gift svg{width:34px;height:38px;stroke:currentColor;fill:none;stroke-width:1.5}.brand-theme,.header-note{display:none}.account-control{margin-left:auto;position:relative}.avatar,#group-switch{min-height:48px;border:1px solid var(--theme-border);background:var(--theme-glass);color:var(--theme-text);border-radius:999px;padding:10px 16px;font-size:16px}.avatar{width:48px;padding:0}#group-switch{max-width:300px;display:flex;gap:14px;align-items:center}#group-switch span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu{position:absolute;right:0;top:60px;width:300px;max-width:calc(100vw - 32px);padding:24px;border-radius:24px;box-shadow:0 18px 50px #0004;background:var(--theme-glass-fallback);color:var(--theme-text);border:1px solid var(--theme-border)}.account-menu button,.account-menu a{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:48px;padding:8px 0;border:0;border-bottom:1px solid var(--theme-border);color:inherit;background:transparent;font-size:16px;text-decoration:none}.account-menu h2{margin-bottom:12px}.account-menu small{display:block;margin-top:16px}
.pmu-glass,.tabs,.visitor-nav,.pmu-dock,.account-menu,.post-sidebar{background:var(--theme-glass);border:1px solid var(--theme-border);box-shadow:0 12px 32px #00000029,inset 0 1px 0 #ffffff26;backdrop-filter:blur(var(--pmu-blur)) saturate(1.08);-webkit-backdrop-filter:blur(var(--pmu-blur)) saturate(1.08)}
:root[data-theme=party] .pmu-glass,:root[data-theme=party] .tabs,:root[data-theme=party] .visitor-nav,:root[data-theme=party] .pmu-dock{box-shadow:0 12px 32px #00000014,inset 0 1px 0 #fff8}
.tabs,.visitor-nav{position:relative;display:flex;align-items:center;gap:4px;width:max-content;max-width:100%;margin:24px 0 0;padding:6px;border-radius:999px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.tabs>a,.visitor-nav>a,.visitor-nav>button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;flex:none;white-space:nowrap;min-height:48px;padding:10px 20px;border:0;border-radius:999px;background:none;color:var(--theme-text);text-decoration:none;font:500 16px/1.25 var(--font-sans)}.tabs>[aria-current=page],.visitor-nav>[aria-current=page]{color:var(--theme-active-text)}.tab-marker{position:absolute;z-index:0;inset:0 auto auto 0;width:0;height:48px;border:1px solid var(--theme-border);background:var(--theme-active);border-radius:999px;pointer-events:none;transform-origin:left top}.tab-marker svg{display:none}.visitor .header .visitor-nav{margin:0 0 0 auto}.visitor .account-control{margin-left:0}.visitor .header{gap:16px}.visitor #group-switch{display:none!important}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--theme-accent);border:1px solid var(--theme-ink);display:inline-block;animation:none}.dot{display:none}
.button,.gold,.wine,#open-envelope{min-height:56px;border-radius:999px;padding:14px 28px;display:inline-flex;gap:10px;align-items:center;justify-content:center;font:500 16px/1.25 var(--font-sans);background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent) 92%,white),var(--theme-accent));color:var(--theme-on-accent);border:1px solid var(--theme-border);box-shadow:0 8px 24px #0002,inset 0 1px 0 #ffffff40;text-decoration:none;transition:transform 140ms var(--ease),background 140ms;max-width:100%}
:root[data-theme=party] .button,:root[data-theme=party] #open-envelope{background:linear-gradient(#24513a,#183e2c);color:#fffcf5;border-color:#294d38}.button:not(:disabled):active,button:not(:disabled):active{transform:scale(.98);transition-duration:100ms}.button:disabled,#open-envelope:disabled{background:var(--theme-glass-fallback);color:var(--theme-text);border-color:var(--theme-border);box-shadow:none}.button[aria-busy=true]::before{content:'';width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pmu-spin .7s linear infinite}.text-link,.visitor-link{border:0;background:none;color:inherit;min-height:48px;padding:8px 0;font-size:16px;text-decoration:underline;text-underline-offset:4px}.icon-button,.dialog-close{min-width:48px;height:48px;padding:8px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;font-size:24px;display:inline-grid;place-items:center}.eyebrow{font:500 12px/1.5 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px}.page-title{padding:0;margin:0 0 32px;font:400 18px/1.55 var(--font-sans)}.page-title h1{margin:0 0 20px}.page-title h1 em{display:block}.page-title>p:last-child{max-width:65ch}.page-deck{position:relative}.page{padding:40px 0 48px;min-width:0}.member-home{display:block}.visitor .member-home,body:not(.visitor) .visitor-home{display:none}.visitor #home{padding:0}.visitor-home{min-height:calc(100svh - 88px);display:flex;flex-direction:column}.visitor-hero{min-height:calc(100svh - 200px);display:grid;grid-template-columns:5fr 7fr;align-items:center;gap:32px;padding-block:48px;position:relative}.visitor-intro{min-width:0;position:relative;z-index:2}.visitor-intro h1{font-size:88px;letter-spacing:-.025em;line-height:1.02;margin-bottom:28px}.visitor-intro h1 em{display:block}.visitor-lead{max-width:45ch;line-height:1.55;margin-bottom:32px;white-space:pre-line}.visitor-intro .button{font:500 24px/1.15 var(--font-serif);margin-bottom:12px}.visitor-intro>small{display:block;margin-top:32px}.pmu-reassurance{font-size:14px}.visitor-intro>p:not(.eyebrow):not(.visitor-lead):not(.pmu-reassurance){display:none}.visitor-preview,.visitor-ribbon,.visitor-final{display:none}.pmu-home-backdrop{position:absolute;inset:0 0 auto;height:100svh;min-height:780px;z-index:-1;overflow:hidden;pointer-events:none;background:var(--theme-canvas)}.pmu-home-backdrop .draw-stage{position:absolute;top:50%;left:50%;width:max(100%,calc(100svh * 1.6));transform:translate(-50%,-50%)}.pmu-home-backdrop>img{height:100%;width:100%;object-fit:cover}.pmu-home-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--theme-canvas) 95%,transparent),color-mix(in srgb,var(--theme-canvas) 75%,transparent) 30%,transparent 59%)}:root[data-theme=standard] .pmu-home-backdrop:after{background:linear-gradient(90deg,#2a101c88,#2a101c40 36%,transparent 62%)}.pmu-mobile-scene{display:none}.pmu-dock{display:flex;align-items:center;gap:20px;border-radius:999px;min-height:80px;margin:0 0 24px;padding:10px 24px;position:relative;z-index:3}.pmu-dock>span{font-size:14px;white-space:nowrap}.pmu-dock .demo-theme-options{display:flex;gap:4px}.pmu-dock button,.pmu-theme-sheet button[data-demo-theme-button]{min-height:48px;padding:12px 18px;background:none;border:1px solid transparent;border-radius:999px;color:inherit;font:500 16px/1.25 var(--font-sans)}.pmu-dock button[aria-pressed=true],.pmu-theme-sheet button[aria-pressed=true]{background:var(--theme-active);color:var(--theme-active-text);border-color:var(--theme-border)}.pmu-tone{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:14px}.pmu-tone select{width:auto;min-height:48px;background:transparent;color:inherit;border:1px solid var(--theme-border);border-radius:999px;padding:8px 20px}.pmu-tone option{background:var(--theme-paper);color:var(--theme-ink)}.pmu-mobile-theme{display:none}.how-page,.visitor-faq{padding:48px 0;max-width:1040px}.how-intro h2,.visitor-faq>h2{font-size:56px;margin-bottom:24px}.how-timeline{list-style:none;margin:32px 0;padding:32px;border-radius:24px;background:var(--theme-paper);color:var(--theme-ink)}.how-timeline li{display:flex;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid #4a203329}.how-timeline li:first-child{padding-top:0}.how-timeline li:last-child{border:0;padding-bottom:0}.how-number{font:500 32px var(--font-serif)}.how-timeline h3{margin-bottom:12px}.how-tag{margin-left:auto;max-width:140px;flex-shrink:0;font-size:14px}.how-who{font-size:12px;letter-spacing:.1em}.how-pricing{padding:32px;border-radius:24px;background:var(--theme-paper);color:var(--theme-ink)}.how-plans{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:32px 0}.how-plan{border:1px solid #4a203333;padding:24px;border-radius:20px}.how-price{font:500 40px var(--font-serif);margin:20px 0}.how-more{margin-top:24px;display:flex;gap:24px;flex-wrap:wrap}.visitor-faq details{background:var(--theme-paper);color:var(--theme-ink);padding:0 24px}.visitor-faq details:first-of-type{border-radius:24px 24px 0 0}.visitor-faq details:last-child{border-radius:0 0 24px 24px}.visitor-faq summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;border-bottom:1px solid #4a203328}.visitor-faq summary:after{content:'+';font-size:24px}.visitor-faq details[open] summary:after{content:'−'}.visitor-faq details p{padding:20px 0;margin:0}
.home-welcome{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center}.welcome-copy h1{font-size:64px;margin-bottom:24px}.welcome-copy p{max-width:45ch}.welcome-foot{font-size:14px;margin-top:20px}.welcome-art{min-width:0}.welcome-art>*:not(.pmu-group-scene){display:none}.pmu-group-scene{border-radius:24px;overflow:hidden}.standard-home-actions,.christmas-note,.section-heading,.tiles svg,.tile-spark,.tile-icon,.mini-seal,.tiles .badge{display:none}.tiles{display:flex;background:var(--theme-paper);color:var(--theme-ink);border-radius:24px;margin-top:32px;padding:28px;gap:32px}.tile{flex:1;min-width:0;text-decoration:none;border-right:1px solid #4a203333;padding-right:24px}.tile:last-child{border:0;padding:0}.tile h2{font-size:28px;margin-bottom:10px}.tile p{font-size:16px;white-space:pre-line}.tile-link{display:block;font-size:16px;text-decoration:underline}.event-details{display:flex;gap:32px;justify-content:space-between;margin:32px 0}.event-details>span{display:flex;flex-direction:column;gap:8px}.event-details small{font-size:12px;letter-spacing:.12em}.welcome-art .home-ticket{display:none!important}
#lootje{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:start}#lootje>.page-title{padding-top:64px}#reveal-stage{min-width:0;display:flex;flex-direction:column;gap:20px}#reveal-stage>.scene-glow,#reveal-stage>.scene-star,#reveal-stage>.envelope-caption,#reveal-stage>.sint-scene-decor{display:none}.pmu-draw-scene{order:0;min-width:0;border-radius:24px;overflow:hidden}#open-envelope{order:1;align-self:center;height:auto;width:auto;position:static}#open-envelope>*{display:none}#open-envelope>.standard-reveal-label{display:block}#revealed-letter{grid-column:1/-1;order:2;background:var(--theme-paper);color:var(--theme-ink);border-radius:24px;padding:32px;width:100%;box-shadow:0 16px 40px #0002}#revealed-letter .letter-top{display:flex;align-items:center;justify-content:space-between}.letter-stamp,.letter-ornament,.letter-postmark{display:none}#recipient-name{font-size:44px;line-height:1.1;margin:12px 0 20px}.letter-note{padding:24px;background:#fff9ee;border-radius:16px;margin:24px 0}.letter-note p{white-space:pre-line}.letter-note>span{font-size:14px}.wishes-heading{margin:24px 0 16px;display:flex;gap:16px;justify-content:space-between}.letter-actions{display:flex;gap:16px;align-items:center;margin-top:24px}.letter-footer{margin-top:24px}.waiting-state{background:var(--theme-paper);color:var(--theme-ink);border-radius:24px;padding:40px;grid-column:1/-1}.waiting-state h2{margin-bottom:20px}.waiting-state>span{font-size:40px}.draw-stage{position:relative;width:100%;aspect-ratio:1586/992;container-type:inline-size;isolation:isolate;overflow:hidden}.draw-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.standard-stage{aspect-ratio:8/5}.standard-stage .opened-scene{position:absolute;inset:0;display:block;width:100%;height:100%}.opened-scene img{width:100%;height:100%;object-fit:contain}.draw-name{font-size:clamp(20px,8cqw,72px)}.draw-name.long-name{font-size:clamp(15px,6cqw,54px)}.shoe-ticket,.tag-label,.party-card{position:absolute;display:grid;place-items:center;text-align:center;font-family:var(--font-serif);line-height:1.05}.shoe-ticket{left:68%;top:40%;width:15%;height:22%;z-index:2;background:#fff1d6;color:#192943;transform:translateY(50%) rotate(-4deg);box-shadow:0 3px 12px #0003;font-size:3.2cqw}.shoe-front{z-index:3;clip-path:polygon(49% 66%,60% 58%,67% 56%,70% 59%,76% 60%,81% 56%,83% 57%,85% 82%,48% 85%)}.tag-label{left:73.5%;top:50%;width:17%;height:18%;transform:rotate(36deg);color:#541323;font-size:3cqw;z-index:2}.party-card{left:51%;top:31%;width:36%;height:37%;transform:rotate(8deg);perspective:1400px;border-radius:2cqw;font-size:5.3cqw;z-index:2}.card-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#d7c1e3;color:#163226;border-radius:inherit;backface-visibility:hidden;box-shadow:0 6px 20px #0002}.card-face small{font:500 1.1cqw var(--font-sans);letter-spacing:.12em;margin-bottom:2cqw}.card-back{transform:rotateY(-90deg)}.shoe-ticket .reveal-name,.tag-label .reveal-name{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0}.reveal-name small{font:500 1.2cqw var(--font-sans);margin-bottom:1cqw}.reveal-name strong{font-weight:500;font-size:4.2cqw;max-width:100%;overflow-wrap:anywhere}.reveal-name.long-name strong{font-size:3.15cqw}.is-revealed .closed-text{visibility:hidden}.is-revealed .reveal-name{opacity:1}.is-revealed .shoe-ticket{transform:translateY(-5%) rotate(-4deg)}.is-revealed .card-front{transform:rotateY(90deg)}.is-revealed .card-back{transform:rotateY(0deg)}.standard-stage.is-revealed>.closed-scene{visibility:hidden}.standard-stage.is-revealing .draw-name{opacity:0}
.wishlist-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.wish-grid{background:var(--theme-paper);color:var(--theme-ink);border-radius:24px;padding:32px;display:flex;flex-direction:column}.wish-card{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:24px;padding:24px 0;border-bottom:1px solid #4a203329;position:relative}.wish-card:first-child{padding-top:0}.wish-card:last-child{border-bottom:0;padding-bottom:0}.product-art{width:160px;height:112px;border-radius:12px;overflow:hidden;position:relative;background:#eadfcd;display:grid;place-items:center;align-self:start}.product-art>img{width:100%;height:100%;object-fit:cover}.product-art svg{width:50px;height:50px}.wish-copy small{font-size:14px}.wish-copy h4{font-size:26px;margin:4px 0 8px}.wish-copy p{font-size:16px;white-space:pre-line}.price-line{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.price{font-size:16px;font-weight:600}.shop-button{font-size:14px;min-height:48px;display:inline-flex;align-items:center}.checked{display:block}.wish-actions{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;max-width:160px}.wish-actions button{font-size:14px;border:0;background:transparent;color:var(--theme-ink);min-height:48px;text-decoration:underline}.priority-tag{position:absolute;bottom:0;background:var(--theme-paper);padding:3px 8px;font-size:12px}.demo-note{font-size:14px;margin-top:20px}.empty-wishes{padding:32px;text-align:center}.empty-wishes h3{margin-bottom:12px}
.post-office{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:520px;height:calc(100dvh - 330px);max-height:850px}.post-sidebar{border-radius:24px 0 0 24px;padding:20px;overflow:auto}.post-emblem,.post-sidebar>h2,.post-sidebar>.eyebrow,.post-sidebar>p:not(.post-aside-quote),.postal-seal,.post-date{display:none}.conversation-choices{display:flex;flex-direction:column;gap:12px}.conversation-choice{display:flex;gap:12px;align-items:center;min-height:80px;padding:12px;border:1px solid var(--theme-border);background:transparent;color:var(--theme-text);border-radius:16px;text-align:left;width:100%}.conversation-choice.selected{background:var(--theme-active);color:var(--theme-active-text)}.conversation-choice strong{font-size:16px;display:block}.conversation-choice small{display:block;margin-top:6px;font-size:14px}.correspondent{width:32px;flex:none;text-align:center;font-family:var(--font-serif);font-size:24px}.conversation-choice>span:last-of-type{margin-left:auto}.post-aside-quote{font-size:14px;margin:24px 0}.post-privacy{font-size:14px}.message-paper{background:var(--theme-paper);color:var(--theme-ink);border-radius:0 24px 24px 0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.post-heading{padding:20px 24px;border-bottom:1px solid #4a203329;display:flex;align-items:center;gap:12px}.post-heading .eyebrow{display:none}.post-heading h2{font-size:28px}.post-heading p{font-size:14px;margin:8px 0 0}#message-list{flex:1;min-height:80px;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.chat-message{align-self:flex-start;max-width:72%;padding:14px 18px;border-radius:18px;background:#fffaf2;font-size:16px}.chat-message.outgoing{align-self:flex-end;background:var(--theme-ink);color:var(--theme-paper)}.chat-message p{white-space:pre-wrap;margin:6px 0}.chat-message time,.chat-message small{font-size:12px}.message-paper #message-form{padding:16px 24px;border-top:1px solid #4a203329}.message-input{display:flex;gap:12px;align-items:flex-end}.message-input textarea{min-height:56px;max-height:150px;resize:none;margin:0}.compose-bottom{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.compose-bottom>span{display:none}#message-form>label{margin:0 0 8px}#message-form>small{font-size:12px;display:block;margin-top:8px}#message-status{margin:0}.pmu-chat-back,.pmu-chat-switches{display:none}
.admin-paper,.admin-summary,.platform-shell{background:var(--theme-paper);color:var(--theme-ink);padding:32px;border-radius:24px;margin-bottom:24px}.admin-paper h2,.admin-paper h3{margin-bottom:20px}.settings-heading,.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.settings-stamp,.preview-gift{display:none}.premium-panel{display:flex;justify-content:space-between;gap:24px;padding:24px;border:1px solid #4a203329;border-radius:16px;margin-bottom:32px}.premium-panel h3{margin-bottom:12px}.premium-panel>div{flex:1}.premium-panel p{font-size:14px}.settings-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px}.settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-preview{align-self:start;border-radius:20px;overflow:hidden;background:var(--theme-canvas);color:var(--theme-text);padding:24px;position:sticky;top:24px}.settings-preview h3{margin:20px 0}.settings-preview .preview-caption{font-size:12px;letter-spacing:.12em}.settings-preview .pmu-preview-scene{margin:-24px -24px 24px}.settings-preview p{font-size:16px}.preview-note{font-size:14px!important}.theme-options,.voice-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;padding:0;margin:24px 0}.theme-options legend,.voice-options legend{font-weight:500;margin-bottom:12px}.theme-choice,.voice-choice{padding:16px;border:1px solid #4a203344;border-radius:16px;cursor:pointer;position:relative}.theme-choice:has(:checked),.voice-choice:has(:checked){outline:2px solid var(--theme-ink)}.theme-choice input,.voice-options input{width:20px;min-height:20px;margin:0 8px 0 0;accent-color:var(--theme-ink)}.theme-choice .theme-swatch{display:block;height:84px;border-radius:10px;overflow:hidden;background-size:cover;background-position:right center;margin:12px 0;font-size:0}.theme-swatch>*{display:none}.theme-choice strong{display:block}.theme-choice small{font-size:12px}.premium-badge{display:block;font-size:12px;margin-top:8px}.premium-locked{cursor:not-allowed}.settings-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}.admin-summary{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.admin-summary>div{min-width:0}.admin-summary strong{display:block;font-size:18px}.draw-action{display:flex;flex-direction:column;gap:12px;max-width:420px}.draw-action span{font-size:14px}.admin-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.member-row{display:grid;grid-template-columns:40px minmax(70px,1fr) auto;gap:6px 12px;padding:16px 0;border-bottom:1px solid #4a203329}.member-initial{grid-row:span 2;align-self:center;width:40px;height:40px;border:1px solid #4a203333;border-radius:50%;display:grid;place-items:center}.member-row>strong{font-size:16px}.member-row>small{grid-column:2;font-size:14px}.member-status{grid-row:1;grid-column:3;font-size:14px;color:var(--theme-ink)}.member-actions{grid-column:2/-1;display:flex;gap:16px;flex-wrap:wrap}.member-actions button{font-size:14px}.exclusion-row{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:16px;padding-block:10px}.reset-panel button{margin-bottom:16px}.reset-panel p{font-size:14px}.platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.platform-grid article{padding:20px;border:1px solid #4a203333;border-radius:16px}.platform-grid strong{display:block;font-size:32px}.platform-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:16px;border-bottom:1px solid #4a203333}.platform-note{margin:24px 0;font-size:14px}
label{display:block;font:500 14px/1.5 var(--font-sans);margin:16px 0 8px}input,select,textarea{display:block;width:100%;min-height:52px;padding:14px 16px;border:1px solid #4a203344;border-radius:12px;background:#fffcf5;color:var(--theme-ink);font:400 16px/1.4 var(--font-sans);margin:8px 0 16px;max-width:100%}input[type=checkbox],input[type=radio]{display:inline-block;width:20px;min-height:20px;padding:0;vertical-align:middle;margin:0 8px 0 0}input[type=file]{padding:8px;min-height:48px;font-size:14px}textarea{resize:vertical}fieldset{min-width:0}.checkbox-label{display:flex;align-items:center;gap:8px}.field-note{margin-top:8px}.field-error{color:#8c243a;font-size:14px;display:block;margin:-8px 0 16px}input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #8c243a}.paper :focus-visible,dialog :focus-visible,.admin-paper :focus-visible,.message-paper :focus-visible,.wish-grid :focus-visible{outline-color:var(--theme-ink)}:focus-visible{outline:2px solid var(--theme-focus);outline-offset:3px}.password-wrap{position:relative}.password-wrap input{padding-right:76px}.pmu-show-password{position:absolute;right:4px;top:2px;min-height:48px;padding:8px 12px;border:0;background:none;color:var(--theme-ink);font-size:14px}
dialog{border:1px solid var(--theme-border);background:var(--theme-paper);color:var(--theme-ink);border-radius:24px;padding:32px;width:min(560px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 24px 64px #0005;margin:auto}dialog::backdrop{background:#2a101c9e;backdrop-filter:blur(8px)}dialog h2{font-size:36px;margin-bottom:24px}dialog h3{margin:24px 0 16px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-heading .eyebrow{margin:0}.dialog-close{margin-left:auto}.dialog-backdrop{display:none!important}#wish-dialog{width:min(640px,calc(100% - 48px))}.wish-photo-preview{width:160px;height:112px;border-radius:12px;background:#e6d6bf;display:grid;place-items:center;text-align:center;font-size:14px;overflow:hidden}.wish-photo-preview img{width:100%;height:100%;object-fit:cover}.photo-picker{cursor:pointer}.photo-picker input{margin-bottom:0}.account-email{font-size:16px}.recovery-code,input[readonly]{overflow-wrap:anywhere}.dialog-actions,.confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.dialog-actions>*{flex:1}#toast,.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:16px 24px;border-radius:20px;background:var(--theme-glass-fallback);border:1px solid var(--theme-border);color:var(--theme-text);z-index:100;font-size:16px;box-shadow:0 8px 24px #0003}#connection-status{position:relative;z-index:4;font-size:14px;margin:0;padding:8px 20px;text-align:center;background:var(--theme-glass-fallback);color:var(--theme-text)}#connection-status:empty{display:none}footer{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:24px 0;font-size:14px;border-top:1px solid var(--theme-border)}footer button{font-size:14px!important}body.visitor footer{margin-top:16px}.demo-banner{font-size:12px;background:var(--theme-glass-fallback);border-bottom:1px solid var(--theme-border);color:var(--theme-text);padding:6px 20px;text-align:center}.demo-banner a{margin-left:14px;text-decoration:underline}.pmu-state{padding:32px;background:var(--theme-paper);color:var(--theme-ink);border-radius:24px;margin-bottom:24px}.pmu-state h2{margin-bottom:16px}.skeleton{height:32px;max-width:80%;border-radius:8px;background:#4a20331a;margin:16px 0}.skeleton.short{max-width:50%}.pmu-theme-error{position:fixed;right:24px;bottom:24px;background:var(--theme-paper);color:var(--theme-ink);padding:24px;border-radius:24px;z-index:110;max-width:calc(100% - 48px)}.pmu-skip{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--theme-paper);color:var(--theme-ink);padding:16px}.pmu-skip:focus{top:12px}
@media(hover:hover) and (pointer:fine){.button:not(:disabled):hover,.tabs a:hover,.visitor-nav a:hover{transform:translateY(-1px)}.tabs a:hover,.visitor-nav a:hover{background:#ffffff0d}}
@media(min-width:768px) and (max-width:1199px){:root{--page-margin:32px}.header{min-height:80px;flex-wrap:wrap;gap:16px;padding:12px 0}.brand{font-size:28px}.visitor .header .visitor-nav{order:3;width:100%;margin:0}.visitor-hero{grid-template-columns:1fr 1fr;min-height:calc(100svh - 280px);gap:24px}.visitor-intro h1{font-size:64px}.visitor-intro .button{font-size:22px}.pmu-dock{flex-wrap:wrap;border-radius:32px;padding:16px 24px}.pmu-tone{margin-left:0}.page-title h1,h1{font-size:44px}.home-welcome{gap:24px}.welcome-copy h1{font-size:48px}.settings-layout{grid-template-columns:1fr}.settings-preview{position:static;display:none}.admin-grid{grid-template-columns:1fr 1fr}.premium-panel{flex-direction:column}.post-office{grid-template-columns:240px minmax(0,1fr)}.message-input{flex-wrap:wrap}.compose-bottom{margin-left:auto}.wish-actions{max-width:110px}.pmu-home-backdrop{min-height:840px}}
@media(max-width:767px){:root{--page-margin:20px;--pmu-blur:18px}body{font-size:16px}.header{height:auto;min-height:64px;flex-wrap:wrap;gap:0;padding:8px 0 0}.brand{font-size:24px;height:48px}.brand-gift svg{width:28px;height:32px}.account-control{height:48px}.brand-and-groups{display:contents}.header .visitor-nav{order:3;flex-basis:100%;width:100%;margin:8px 0 0!important;padding:0;border-radius:999px;min-height:48px}.visitor .header{gap:0}.header #group-switch{order:3;width:100%;max-width:none;height:48px;min-height:48px;margin-top:8px;padding:8px 16px;border-radius:12px}.tabs{margin:0 0 0;padding:0;height:48px;border-radius:999px;width:100%;max-width:100%}.tabs>a,.visitor-nav>a,.visitor-nav>button{min-height:48px;padding:10px 16px;font-size:16px}.mobile-label{display:inline}.desktop-label{display:none}.visitor-hero{display:block;padding:32px 0 0;min-height:0}.visitor-intro h1{font-size:48px;line-height:1.02}.visitor-lead{margin-bottom:28px}.visitor-intro .button{width:100%;max-width:360px;font-size:20px}.visitor-intro>small{margin-top:24px}.pmu-home-backdrop{display:none}.pmu-mobile-scene{display:block;width:calc(100% + 2 * var(--page-margin));margin:24px calc(-1 * var(--page-margin)) 0;height:300px;overflow:hidden;position:relative}.pmu-mobile-scene>.draw-stage{position:absolute;width:155%;top:50%;right:0;transform:translateY(-50%)}.pmu-mobile-scene>img{width:100%;height:100%;object-fit:cover;object-position:right center}.pmu-dock{display:none}.pmu-mobile-theme{display:flex;width:100%;justify-content:space-between;margin:16px 0 24px;min-height:48px}.pmu-theme-sheet .demo-theme-options{display:flex;flex-wrap:wrap;gap:8px}.pmu-theme-sheet .pmu-tone{display:block;margin-top:24px}.pmu-theme-sheet select{width:100%}.visitor-home{min-height:calc(100svh - 112px)}.page{padding:28px 0 32px}.page-title{margin-bottom:24px}.page-title h1,h1{font-size:36px}.page-title h1 em{display:inline}.home-welcome{display:flex;flex-direction:column;gap:24px;align-items:stretch}.welcome-copy h1{font-size:40px}.pmu-group-scene{max-height:260px}.pmu-group-scene .draw-stage{margin-top:-20px}.tiles{display:flex;flex-direction:column;padding:24px;gap:24px;margin-top:24px}.tile{border-right:0;border-bottom:1px solid #4a203329;padding:0 0 24px}.tile h2{font-size:28px}.event-details{flex-direction:column;gap:20px;margin:24px 0}.event-details>span{gap:4px}#lootje{display:block}#lootje>.page-title{padding-top:0}#reveal-stage{gap:24px}.pmu-draw-scene{margin-inline:calc(-1 * var(--page-margin));border-radius:0}.standard-stage{aspect-ratio:1.08}.draw-name{left:52%;top:42%;width:60%;font-size:48px}.draw-name.long-name{font-size:36px}#revealed-letter{padding:24px 20px}#recipient-name{font-size:36px}.letter-actions{flex-direction:column;align-items:stretch}.letter-note{padding:20px}#open-envelope{width:100%;max-width:360px}.waiting-state{padding:24px}.wish-grid{padding:20px}.wish-card{grid-template-columns:96px minmax(0,1fr);gap:16px}.product-art{width:96px;height:96px}.wish-copy h4{font-size:22px}.wish-copy p{font-size:16px}.wish-actions{grid-column:2;max-width:none;justify-content:flex-start}.wishlist-toolbar{flex-wrap:wrap;gap:16px}.wishlist-toolbar .button{min-height:48px}.post-office{display:block;height:auto;min-height:0}.post-sidebar{border-radius:20px;padding:16px}.post-aside-quote,.post-privacy{margin-top:16px}.message-paper{display:none;border-radius:20px;height:calc(100dvh - 210px);min-height:360px}.post-office[data-mobile-thread=true] .post-sidebar{display:none}.post-office[data-mobile-thread=true] .message-paper{display:flex}.post-heading{padding:12px 16px}.post-heading h2{font-size:24px}.post-heading p{display:none}.pmu-chat-back{display:inline-flex;min-height:48px;min-width:48px;padding:8px;border:0;background:none;color:inherit}.pmu-chat-switches{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid #4a203329}.pmu-chat-switches button{flex:1;min-height:48px;font-size:13px;border:1px solid #4a203344;border-radius:999px;background:none;color:var(--theme-ink);padding:8px}.pmu-chat-switches button[aria-pressed=true]{background:var(--theme-ink);color:var(--theme-paper)}#message-list{padding:16px;min-height:60px}.chat-message{max-width:85%}.message-paper #message-form{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.message-input{flex-direction:column;align-items:stretch;gap:8px}.message-input textarea{min-height:56px;max-height:120px}.compose-bottom{align-items:flex-end}.compose-bottom button{min-height:48px;padding:12px 20px}#message-form>small{display:none}.admin-paper,.admin-summary,.platform-shell{padding:20px;border-radius:20px}.settings-layout,.settings-pair,.admin-grid{grid-template-columns:1fr;gap:20px}.settings-preview{display:none}.premium-panel{flex-direction:column;padding:20px}.theme-options,.voice-options{grid-template-columns:1fr 1fr}.theme-choice{padding:12px}.theme-choice .theme-swatch{height:65px}.theme-choice small{font-size:12px}.settings-actions{gap:12px}.settings-actions .button{width:100%}.admin-heading{align-items:flex-start;flex-wrap:wrap}.admin-summary{align-items:flex-start;flex-direction:column}.member-row{grid-template-columns:32px minmax(0,1fr);gap:6px 10px}.member-initial{width:32px;height:32px}.member-status{grid-column:2;grid-row:auto}.member-row>small{overflow-wrap:anywhere}.platform-grid{grid-template-columns:1fr 1fr}.how-page,.visitor-faq{padding:32px 0}.how-intro h2,.visitor-faq>h2{font-size:36px}.how-timeline,.how-pricing{padding:20px}.how-timeline li{gap:16px;align-items:flex-start}.how-timeline h3{font-size:26px}.how-tag{display:none}.how-plans{grid-template-columns:1fr;gap:16px}.how-plan{padding:20px}.visitor-faq details{padding:0 20px}.visitor-faq summary{font-size:16px}dialog,#wish-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 20px 20px;margin:auto 12px 12px}dialog h2{font-size:30px}.dialog-actions,.confirm-actions{flex-direction:column}.pmu-theme-sheet{max-height:80svh}footer{gap:12px;padding:20px 0}.demo-banner{font-size:12px;text-align:left}.pmu-draw-scene .draw-stage:not(.standard-stage){width:132%;max-width:none;margin-left:-32%}.is-revealed .long-name strong{font-size:3.15cqw}}
@media(min-width:768px){.mobile-label{display:none}.desktop-label{display:inline}}
@media(max-width:359px){:root{--page-margin:16px}.visitor-intro h1{font-size:42px}.theme-options,.voice-options{grid-template-columns:1fr}.post-heading h2{font-size:22px}.pmu-chat-switches button{font-size:12px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.pmu-glass,.tabs,.visitor-nav,.pmu-dock,.account-menu,.post-sidebar{background:var(--theme-glass-fallback)}}
[data-reduce-transparency=true] .pmu-glass,[data-reduce-transparency=true] .tabs,[data-reduce-transparency=true] .visitor-nav,[data-reduce-transparency=true] .pmu-dock,[data-reduce-transparency=true] .account-menu,[data-reduce-transparency=true] .post-sidebar{background:var(--theme-glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none}
@media(prefers-reduced-transparency:reduce){.pmu-glass,.tabs,.visitor-nav,.pmu-dock,.account-menu,.post-sidebar{background:var(--theme-glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:80ms!important;scroll-behavior:auto!important}.button:active,button:active,.button:hover,.tabs a:hover,.visitor-nav a:hover{transform:none!important}.shoe-ticket,.tag-label,.party-card{transform:none!important}.is-revealed .shoe-ticket{transform:none!important}.is-revealed .card-front{display:none}.is-revealed .card-back{transform:none}.draw-name{transform:translate(-50%,-50%)}.pmu-mobile-scene>.draw-stage{transform:translateY(-50%)}.pmu-home-backdrop .draw-stage{transform:translate(-50%,-50%)}}
@keyframes pmu-spin{to{transform:rotate(360deg)}}
.pmu-old-scene .draw-stage{position:relative;inset:auto;width:100%;transform:none}.pmu-home-backdrop>.draw-stage.standard-stage{aspect-ratio:3/2}.pmu-home-backdrop>img{width:100%;height:100%;object-fit:cover}.pmu-login-label{font-size:14px;margin-right:12px}.account-control{display:flex;align-items:center}.account-control:has(#account-menu:not([hidden])){z-index:50}body:not(.visitor) .pmu-login-label{display:none}.pmu-theme-sheet .demo-theme-options button{border:1px solid var(--theme-ink);color:var(--theme-ink)}.pmu-theme-sheet .pmu-tone select{color:var(--theme-ink);border-color:var(--theme-ink)}.pmu-theme-sheet button[aria-pressed=true]{background:var(--theme-ink);color:var(--theme-paper)}.letter-greeting,.letter-salutation{font-size:16px}.letter>svg,.reveal-stage>svg{display:none}.letter h3{font-size:28px}.pmu-draw-scene,.pmu-group-scene{position:relative}.pmu-group-scene>img{aspect-ratio:8/5;width:100%;object-fit:cover}.wish-card .wish-controls{display:flex;gap:12px;align-items:flex-start}.wish-card .wish-controls button{min-height:48px;font-size:14px;border:0;background:none;color:inherit;text-decoration:underline}.message-paper .pmu-chat-empty{font-size:16px}.pmu-route-exit{pointer-events:none}#pmu-settings-only{margin:16px 0 0}.admin-paper .button:disabled{background:#e5d8c8;color:#4a2033;border-color:#4a203344}
/* The shared header is a material layer without stacking blur on its tabs. */
.header:before{content:'';position:absolute;inset:0 calc(-1 * var(--page-margin));z-index:-1;background:color-mix(in srgb,var(--theme-glass-fallback) 24%,transparent);pointer-events:none}.visitor .header:before{background:transparent}
.pmu-group-scene>img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;object-position:right center}.pmu-app-backdrop{position:absolute;inset:0 0 auto;height:420px;background-size:cover;background-position:center 32%;opacity:.15;pointer-events:none;z-index:-1;mask-image:linear-gradient(#000,#0008 55%,transparent)}.visitor .pmu-app-backdrop{display:none}.product-art .priority{position:absolute;bottom:0;left:0;background:var(--theme-paper);color:var(--theme-ink);font-size:10px;letter-spacing:.08em;padding:3px 8px;border-radius:0 8px 0 0}.product-art .image-fallback{font-size:12px;text-align:center;padding:12px}.wish-card-hit{position:absolute;inset:0;opacity:0;z-index:1;cursor:pointer}.wish-card-hit:focus-visible{opacity:1;background:transparent;color:transparent;outline:2px solid var(--theme-ink);outline-offset:4px;border-radius:12px;pointer-events:none}.wish-actions,.shop-button{position:relative;z-index:2}.wish-card{grid-template-columns:160px minmax(0,1fr)}.wish-actions{max-width:none;justify-content:flex-end;margin-top:12px}.wish-actions .wish-edit{border-radius:999px;padding:8px 16px;border:1px solid #4a203333;text-decoration:none;min-height:48px}.letter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.letter-header>svg,.letter-topline>svg{display:none}.close-letter,#close-letter{min-height:48px;border:1px solid var(--theme-ink);color:var(--theme-ink);background:transparent;border-radius:999px;padding:10px 18px;font-size:14px}.recipient-meta{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:24px}.letter-footer{font-size:14px;border-top:1px solid #4a203329;padding-top:24px}.letter-footer>span{display:none}.pmu-state{grid-column:1/-1}.visitor-intro .button{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent) 90%,transparent),color-mix(in srgb,var(--theme-accent) 78%,transparent));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}:root[data-theme=party] .visitor-intro .button{background:linear-gradient(#24513af0,#183e2ce0)}
@media(max-width:767px){.visitor .account-control{margin-left:auto}.pmu-login-label{display:none}.pmu-group-scene>img{height:240px;aspect-ratio:auto}.standard-stage:not(.is-revealed):not(.is-revealing){aspect-ratio:8/5}.wish-card{grid-template-columns:96px minmax(0,1fr)}.wish-actions{justify-content:flex-start}.wish-actions .wish-edit{padding:8px 12px}.letter-header{align-items:flex-start}.pmu-state{padding:24px}}

/* Shared liquid-glass material. The paper remains a readable inset layer. */
.pmu-glass{
 background-image:linear-gradient(135deg,#ffffff26 0%,#ffffff08 26%,transparent 52%,#ffffff0c 80%,#ffffff20 100%);
 border-color:var(--theme-border);
 box-shadow:inset 0 1px 0 #ffffff75,inset 1px 0 0 #ffffff24,inset 0 -1px 0 #0000001f,0 10px 30px #00000024;
 backdrop-filter:blur(var(--pmu-blur)) saturate(1.08);-webkit-backdrop-filter:blur(var(--pmu-blur)) saturate(1.08);
}
.tabs,.visitor-nav,.pmu-dock{background-image:linear-gradient(115deg,#ffffff2b,transparent 35%,#ffffff09 72%,#ffffff20)}
.tab-marker{background-image:linear-gradient(135deg,#ffffff33,transparent 55%,#ffffff12);box-shadow:inset 0 1px 0 #ffffff8c,inset 0 -1px 0 #ffffff33,0 2px 7px #0002}
.pmu-glass[data-glass-tone=paper]{
 background:linear-gradient(130deg,#ffffff5c,transparent 26%,transparent 76%,#ffffff20),color-mix(in srgb,var(--theme-paper) 94%,transparent);
 color:var(--theme-ink);border:1px solid color-mix(in srgb,var(--theme-paper) 65%,transparent);
 box-shadow:inset 0 0 0 4px #ffffff1f,inset 0 1px 0 #ffffffb3,0 16px 40px #00000024;
}
.pmu-glass.button,.pmu-glass#open-envelope{background:linear-gradient(140deg,#ffffff35,transparent 42%,#ffffff0d 80%,#ffffff26),color-mix(in srgb,var(--theme-accent) 92%,transparent);color:var(--theme-on-accent);border-color:var(--theme-border)}
:root[data-theme=party] .pmu-glass.button,:root[data-theme=party] .pmu-glass#open-envelope{background:linear-gradient(140deg,#ffffff20,transparent 46%,#ffffff08),#183e2cf5;color:#fffcf5;border-color:#294d38}
.pmu-glass.button:disabled,.pmu-glass#open-envelope:disabled{background:var(--theme-glass-fallback);color:var(--theme-text);box-shadow:none}
.pmu-glass[data-glass-tone=paper] .pmu-glass{backdrop-filter:none;-webkit-backdrop-filter:none}
.pmu-app-backdrop{opacity:.28;height:620px;mask-image:linear-gradient(#000,#0007 55%,transparent)}
input,select,textarea{box-shadow:inset 0 1px 3px #4a203309,0 1px 0 #ffffff70}
:root[data-theme=party] .pmu-glass{box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #ffffff70,0 10px 30px #10231b12}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.pmu-glass{background-color:var(--theme-glass-fallback)}.pmu-glass[data-glass-tone=paper]{background:var(--theme-paper)}}
[data-reduce-transparency=true] .pmu-glass{background:var(--theme-glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none}
[data-reduce-transparency=true] .pmu-glass[data-glass-tone=paper]{background:var(--theme-paper)}
@media(prefers-reduced-transparency:reduce){.pmu-glass{background:var(--theme-glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none}.pmu-glass[data-glass-tone=paper]{background:var(--theme-paper)}}
/* Warm, rounded glass edges from the supplied control references. */
:root{
 --glass-edge:color-mix(in srgb,var(--theme-text) 26%,transparent);
 --glass-light:color-mix(in srgb,var(--theme-accent) 82%,white);
 --glass-shade:color-mix(in srgb,var(--theme-canvas) 76%,black);
 --glass-selected:color-mix(in srgb,var(--theme-accent) 32%,transparent);
}
.pmu-glass:not([data-glass-tone=paper]){
 background:linear-gradient(175deg,#ffffff0d,transparent 38%,#00000016),var(--theme-glass);
 border:1px solid var(--glass-edge);
 box-shadow:inset 0 1px 0 #ffffff19,inset 0 0 0 3px #ffffff04,inset 0 -1px 0 #0000001f,0 8px 24px #0000001f;
}
.tabs,.visitor-nav{padding:8px;min-height:68px;gap:4px}
.tabs>a,.visitor-nav>a{padding-inline:24px}
.pmu-glass .tab-marker,.pmu-dock button[aria-pressed=true],.pmu-theme-sheet button[aria-pressed=true]{
 background:linear-gradient(155deg,color-mix(in srgb,var(--theme-accent) 47%,transparent),color-mix(in srgb,var(--theme-accent) 17%,transparent) 60%,color-mix(in srgb,var(--theme-accent) 32%,transparent));
 border:1px solid color-mix(in srgb,var(--glass-light) 83%,transparent);
 box-shadow:inset 0 1px 1px #fff1d2a6,inset 0 0 0 2px #f0ce9f24,inset 0 -1px 2px #f8d7a980,0 0 0 1px #f0ce9f1a,0 3px 12px #00000038;
}
:root[data-theme=sinterklaas] .pmu-glass .tab-marker,:root[data-theme=christmas] .pmu-glass .tab-marker{background:linear-gradient(160deg,#fff0c3b3,var(--theme-active) 70%)}
:root[data-theme=party] .pmu-glass .tab-marker{background:linear-gradient(160deg,#fff9ffab,var(--theme-active) 70%);border-color:#b89ec4}
.pmu-dock{min-height:88px;padding:14px 28px;gap:20px}
.pmu-dock .pmu-tone{border-left:1px solid var(--glass-edge);padding-left:28px;margin-block:0}
.pmu-tone select{margin:0;min-width:228px;padding-inline:24px;border-radius:999px;border:1px solid color-mix(in srgb,var(--theme-accent) 32%,transparent);background:linear-gradient(180deg,#ffffff0d,transparent 40%,#ffffff05),color-mix(in srgb,var(--theme-canvas) 68%,transparent);box-shadow:inset 0 1px 0 #ffffff20,inset 0 0 0 3px #ffffff04,0 3px 10px #0002;color:var(--theme-text)}
.pmu-glass.button,.pmu-glass#open-envelope,.visitor-intro .pmu-glass.button{
 min-height:56px;padding:14px 30px;
 background:linear-gradient(140deg,color-mix(in srgb,var(--theme-accent) 80%,white),color-mix(in srgb,var(--theme-accent) 87%,var(--theme-ink)) 55%,var(--theme-accent));
 border:1px solid var(--glass-light);color:var(--theme-on-accent);
 box-shadow:inset 0 1px 1px #fff5e4d9,inset 0 0 0 3px #fff1d235,inset 0 -2px 4px #fbe7c56b,0 0 0 1px #e7c39c40,0 7px 20px #0003;
 font-family:var(--font-serif);font-size:24px;font-weight:500;line-height:1.1;
 transition:box-shadow 180ms var(--ease-settle),filter 180ms var(--ease-settle),transform 140ms var(--ease-settle);
}
:root[data-theme=party] .pmu-glass.button,:root[data-theme=party] .pmu-glass#open-envelope{background:linear-gradient(140deg,#3d624a,#183e2c 60%,#2d4f38);color:#fffcf5;border-color:#76947c;box-shadow:inset 0 1px 1px #cfe0c780,inset 0 0 0 3px #c9d7c51f,inset 0 -2px 3px #9cba9e40,0 6px 18px #16322626}
.pmu-glass.button:disabled,.pmu-glass#open-envelope:disabled{background:linear-gradient(160deg,#ffffff09,transparent),var(--theme-glass-fallback);border-color:var(--glass-edge);color:color-mix(in srgb,var(--theme-text) 60%,var(--theme-glass-fallback));box-shadow:inset 0 1px 0 #ffffff14,0 3px 12px #0002;filter:none;transform:none}
.pmu-glass.button:focus-visible,.pmu-glass#open-envelope:focus-visible{outline:2px solid var(--glass-light);outline-offset:5px}
.pmu-glass.pmu-mobile-theme{font:500 16px/1.3 var(--font-sans);color:var(--theme-text);background:linear-gradient(160deg,#ffffff0c,transparent),var(--theme-glass);border-color:var(--glass-edge);box-shadow:inset 0 1px 1px #ffffff35,inset 0 0 0 3px #ffffff04,0 4px 16px #0002}
.avatar,#group-switch{box-shadow:inset 0 1px 0 #ffffff26,inset 0 0 0 3px #ffffff04,0 3px 12px #0002}
@media(hover:hover) and (pointer:fine){.pmu-glass.button:not(:disabled):hover,.pmu-glass#open-envelope:not(:disabled):hover{filter:brightness(1.12);box-shadow:inset 0 1px 2px #fff7e8,inset 0 0 0 3px #fff1d25c,inset 0 -2px 5px #ffe7b980,0 0 0 1px #e7c39c60,0 9px 24px #0003;transform:translateY(-1px)}}
@media(min-width:768px) and (max-width:1199px){.pmu-dock .pmu-tone{padding-left:0;border-left:0}}
@media(max-width:767px){.tabs,.header .visitor-nav{padding:4px;min-height:58px;height:58px}.tabs>a,.visitor-nav>a{padding:10px 16px}.pmu-glass.button,.pmu-glass#open-envelope{font-size:22px}.pmu-glass.pmu-mobile-theme{font-size:16px}.pmu-dock .pmu-tone{border:0;padding:0}.pmu-tone select{min-width:0}.header #group-switch{border-radius:999px}}
body.connecting .tabs,body.connecting .visitor-home,body.connecting .visitor-nav{visibility:hidden}
@media(prefers-reduced-motion:reduce){.pmu-glass.button:hover,.pmu-glass#open-envelope:hover{transform:none!important}}
[data-reduce-transparency=true] .pmu-glass:not([data-glass-tone=paper]){background:var(--theme-glass-fallback)}
/* Real adjacent panels slide as one continuous horizontal gesture. */
.page-deck,.pmu-public-deck{position:relative;touch-action:pan-y}
.pmu-sliding{overflow:clip;isolation:isolate}
.pmu-sliding>.page,.pmu-sliding>[data-visitor-panel]{will-change:transform}
.tabs,.visitor-nav{touch-action:pan-x}
.tab-marker{will-change:transform,width}
.pmu-state[data-kind=loading]{position:absolute;top:8px;right:0;z-index:5;margin:0;padding:8px 16px;border:1px solid var(--theme-border);background:var(--theme-glass-fallback);color:var(--theme-text);font-size:13px;pointer-events:none}
.pmu-state[data-kind=loading] p{margin:0}.pmu-state[data-kind=loading] .skeleton{display:none}
@media(prefers-reduced-motion:reduce){.pmu-sliding>.page,.pmu-sliding>[data-visitor-panel],.tab-marker{will-change:auto}}
.visitor-nav .pmu-nav-login{margin-left:16px;min-width:144px;border:1px solid color-mix(in srgb,var(--theme-accent) 32%,transparent);background:linear-gradient(155deg,#ffffff10,transparent 50%,#ffffff05),color-mix(in srgb,var(--theme-canvas) 72%,transparent);box-shadow:inset 0 1px 0 #ffffff24,inset 0 0 0 3px #ffffff04,0 3px 10px #0002;position:relative}
.visitor-nav .pmu-nav-login:before{content:'';position:absolute;left:-12px;height:28px;width:1px;background:var(--glass-edge)}
@media(min-width:768px){.visitor .account-control{display:none}}
@media(max-width:767px){.visitor-nav .pmu-nav-login{display:none}}
/* Opaque input/paper cores keep text clear; blur is limited to floating navigation. */
.pmu-glass[data-glass-tone=paper],.pmu-glass.button,.pmu-glass#open-envelope,.pmu-glass.avatar,.pmu-glass#group-switch{backdrop-filter:none;-webkit-backdrop-filter:none}
[data-reduce-transparency=true] .pmu-glass.button,[data-reduce-transparency=true] .pmu-glass#open-envelope{background:var(--theme-accent);color:var(--theme-on-accent)}
[data-reduce-transparency=true] .pmu-glass.button:disabled,[data-reduce-transparency=true] .pmu-glass#open-envelope:disabled{background:var(--theme-glass-fallback);color:var(--theme-muted)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.pmu-glass:not([data-glass-tone=paper]){background-color:var(--theme-glass-fallback)}.pmu-glass[data-glass-tone=paper]{background:var(--theme-paper)}.pmu-glass.button,.pmu-glass#open-envelope{background:var(--theme-accent);color:var(--theme-on-accent)}}
@media(prefers-reduced-transparency:reduce){.pmu-glass:not([data-glass-tone=paper]){background:var(--theme-glass-fallback)}.pmu-glass[data-glass-tone=paper]{background:var(--theme-paper)}.pmu-glass.button,.pmu-glass#open-envelope{background:var(--theme-accent);color:var(--theme-on-accent)}}
.pmu-chat-switches button{box-shadow:inset 0 1px 0 #fff7,inset 0 0 0 2px #ffffff12}
.pmu-chat-switches button[aria-pressed=true]{background:linear-gradient(145deg,#ffffff16,transparent 60%,#ffffff08),var(--theme-ink);border-color:color-mix(in srgb,var(--theme-ink) 55%,var(--theme-accent));box-shadow:inset 0 1px 0 #ffffff40,inset 0 0 0 2px #ffffff09,0 2px 5px #0001}
@media(max-width:767px){#berichten:has(.post-office[data-mobile-thread=true])>.page-title{margin-bottom:20px}#berichten:has(.post-office[data-mobile-thread=true])>.page-title>p{display:none}#berichten:has(.post-office[data-mobile-thread=true])>.page-title h1{margin-bottom:0}.post-office[data-mobile-thread=true] .message-paper{height:var(--pmu-thread-height,calc(100dvh - 350px));min-height:280px}}
/* Explicit demo accessibility check follows the same reduced-motion branch. */
[data-reduced=true] *,[data-reduced=true] *::before,[data-reduced=true] *::after{animation:none!important;transition-duration:0ms!important;scroll-behavior:auto!important}
[data-reduced=true] .button:active,[data-reduced=true] button:active,[data-reduced=true] .button:hover{transform:none!important}
/* Floating screens have a little transparency; their form fields stay opaque. */
dialog.pmu-glass[data-glass-tone=paper]{background:linear-gradient(135deg,#ffffff24,transparent 45%,#ffffff0c),color-mix(in srgb,var(--theme-paper) 90%,transparent);backdrop-filter:blur(var(--pmu-blur)) saturate(1.08);-webkit-backdrop-filter:blur(var(--pmu-blur)) saturate(1.08);box-shadow:inset 0 1px 0 #ffffffa6,inset 0 0 0 3px #ffffff17,0 24px 64px #0005}
dialog::backdrop{background:#2a101c80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
dialog input,dialog select,dialog textarea{background:#fffcf5}
[data-reduce-transparency=true] dialog.pmu-glass[data-glass-tone=paper]{background:var(--theme-paper);backdrop-filter:none;-webkit-backdrop-filter:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){dialog.pmu-glass[data-glass-tone=paper]{background:var(--theme-paper)}}
@media(prefers-reduced-transparency:reduce){dialog.pmu-glass[data-glass-tone=paper]{background:var(--theme-paper);backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Genuine GLB objects: HTML labels stay separate from the WebGL surface. */
.object-stage{display:block;position:relative;width:100%;aspect-ratio:1.48;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 48% 45%,#fff1d80b,transparent 65%);container-type:inline-size}
.object-stage canvas.object-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none}
.object-stage .object-name,.object-stage .object-front-text{position:absolute;z-index:2;pointer-events:none;transform:translate(-50%,-50%);text-align:center;color:#4a2033;font-family:var(--font-serif);line-height:1.05;left:50%;top:42%;width:43%;margin:0}
.object-stage .object-front-text{font-size:5.4cqw;top:57%;font-style:italic;transition:opacity 140ms}
.object-stage .object-name{opacity:0;top:25%;display:flex;flex-direction:column;gap:1cqw;font-size:7cqw;width:44%}
.object-name small{font:500 1.8cqw var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.object-name strong{font-weight:500;overflow-wrap:anywhere}.object-name.long-name{font-size:4.5cqw}
.party-object .object-front-text{font-size:6.5cqw;color:#19392c;font-style:normal}.party-object .object-name{color:#19392c}.sinterklaas-object .object-name{font-size:5.5cqw;width:29%;color:var(--theme-ink)}.sinterklaas-object .object-name.long-name{font-size:3.8cqw}
.object-stage[data-renderer=webgl]>.object-fallback{visibility:hidden}.object-stage.is-revealed>.object-name{opacity:1}.object-stage.is-revealed>.object-front-text{opacity:0}
.object-fallback{position:absolute;z-index:0}.fallback-envelope{left:18%;top:34%;width:64%;height:39%;border-radius:5px;background:linear-gradient(145deg,#dfc7a1,#f3e2c4);box-shadow:0 22px 28px #0004;perspective:1000px}
.fallback-envelope:after{content:'';position:absolute;inset:0;background:linear-gradient(140deg,#d5b98f,#f3e3c4);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%)}
.fallback-flap{position:absolute;inset:0;background:linear-gradient(#f6e9d1,#dfc49d);clip-path:polygon(0 0,100% 0,50% 60%);transform-origin:top;z-index:3}.fallback-seal{position:absolute;z-index:4;left:44%;top:45%;width:12%;aspect-ratio:1;border:1px solid #b88953;border-radius:50%;background:radial-gradient(at 32% 22%,#ad4c48,#68152a);box-shadow:0 2px 5px #0004}
.fallback-letter{position:absolute;inset:5% 6%;background:#f6ead4;border-radius:3px}.is-revealed .fallback-letter{transform:translateY(-68%)}.is-revealed .fallback-flap{transform:rotateX(180deg);z-index:0}.is-revealed .fallback-seal{display:none}
.fallback-card{left:22%;top:26%;width:56%;height:42%;background:linear-gradient(135deg,#f5eee3,#e1d6c6);border-radius:3cqw;transform:rotate(-4deg);box-shadow:7px 18px 24px #1b30232a}
.object-stage>.shoe-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sinterklaas-object:not([data-renderer=webgl]).is-revealed .object-name{background:#f4e5c7;padding:12px;border-radius:3px;left:73%;top:40%;font-size:5cqw}
.pmu-draw-scene:has(.object-stage){border-radius:24px;overflow:visible}.pmu-group-scene .object-stage{max-height:390px}.pmu-home-backdrop>.object-stage{width:55%;height:100%;aspect-ratio:auto;right:0;left:auto;top:0;transform:none}.pmu-mobile-scene>.object-stage{width:100%;height:100%;position:relative;top:0;right:auto;transform:none}.pmu-preview-scene .object-stage{aspect-ratio:1.5}
@media(max-width:767px){.pmu-draw-scene .draw-stage.object-stage{width:100%;margin:0;aspect-ratio:1.32;max-height:460px}.pmu-draw-scene:has(.object-stage){margin-inline:calc(-1 * var(--page-margin));border-radius:0}.pmu-group-scene .object-stage{margin-top:0;height:260px;aspect-ratio:auto}.object-stage .object-name{font-size:8cqw}.object-name small{font-size:2.4cqw}.object-name.long-name{font-size:5.2cqw}.sinterklaas-object .object-name{font-size:6cqw}.pmu-mobile-scene>.object-stage{width:100%;height:100%;margin:0;top:0;transform:none}}
@media(prefers-reduced-motion:reduce){.object-stage .object-front-text{transition:none}}
:root[data-theme=christmas] .pmu-app-backdrop{background-size:200% auto;background-position:left top;opacity:.2}
.object-stage[data-renderer=fallback]>.object-canvas{display:none}
@keyframes pmu-photo-arrive{from{opacity:.5;transform:translate3d(4px,0,0) scale(1.01)}to{opacity:1;transform:none}}
.pmu-home-backdrop>.scene-photo,.pmu-mobile-scene>img,.home-stage>.scene-photo{animation:pmu-photo-arrive 560ms cubic-bezier(.22,1,.36,1) both}
:root[data-reduced=true] .scene-photo,:root[data-reduced=true] .pmu-mobile-scene>img{animation:none}
/* Shared edges and spacing: each glass surface has its own clear silhouette. */
.header{border-bottom:0;padding-bottom:16px}
.tabs{margin-top:12px;margin-bottom:8px}
.dialog-close{flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0;line-height:1;font:400 26px/1 var(--font-sans);align-self:flex-start;border-color:color-mix(in srgb,var(--theme-ink) 24%,transparent);background:color-mix(in srgb,var(--theme-paper) 45%,transparent);box-shadow:inset 0 1px 1px #fff9,0 3px 10px #0000000a;transition:background 180ms,box-shadow 180ms}
.dialog-close:hover{background:color-mix(in srgb,var(--theme-paper) 85%,transparent);box-shadow:inset 0 1px 1px #fffc,0 3px 12px #0002}
.dialog-heading{align-items:flex-start;margin-bottom:20px}.dialog-heading h2{margin:4px 0 0}.dialog-heading .eyebrow{padding-top:12px}
dialog>.dialog-close{float:right;margin:0 0 16px 20px}
.pmu-home-backdrop{height:100%;min-height:0}
.pmu-home-backdrop:after{background:linear-gradient(90deg,color-mix(in srgb,var(--theme-canvas) 95%,transparent),color-mix(in srgb,var(--theme-canvas) 75%,transparent) 30%,transparent 59%)}
.pmu-home-backdrop>.draw-stage:not(.object-stage){height:100%;width:100%;aspect-ratio:auto}
.pmu-home-backdrop .scene-photo{width:100%;height:100%;object-fit:cover}
/* Text follows all four projected corners of its paper, rather than a floating anchor. */
.object-stage[data-renderer=webgl]>.object-name,.object-stage[data-renderer=webgl]>.object-front-text{left:0!important;top:0!important;width:480px!important;height:240px;transform-origin:0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-size:96px!important;line-height:1.08;will-change:transform;overflow:hidden}
.object-stage[data-renderer=webgl]>.object-name.long-name{font-size:64px!important}
.object-stage[data-renderer=webgl]>.object-name small{font:500 28px/1.2 var(--font-sans);letter-spacing:.1em}
.object-stage[data-renderer=webgl]>.object-name strong{max-width:100%}
.object-stage[data-renderer=webgl]>.object-front-text{font-size:72px!important;gap:0}
.pmu-object-toggle{position:absolute;z-index:3;left:17%;top:15%;width:66%;height:72%;padding:0;border:0;border-radius:24px;background:transparent;cursor:pointer;box-shadow:none;color:inherit;-webkit-tap-highlight-color:transparent}
.pmu-object-toggle:hover,.pmu-object-toggle:active{background:transparent;transform:none!important;box-shadow:none}
.pmu-object-toggle:focus-visible{outline:2px solid var(--theme-active);outline-offset:4px}
.pmu-home-ticket{display:block;margin:0 auto;text-align:center}
.pmu-group-scene{max-height:none!important}
.message-paper{position:relative;overflow:hidden}
.pmu-chat-snapshot{padding:24px;overflow:hidden;background:var(--theme-paper);border-radius:0!important}
@media(max-width:767px){
 .header,.visitor .header{padding-bottom:12px;row-gap:8px}
 .header #group-switch{margin-top:0;height:48px;border-radius:999px}
 .header .visitor-nav{margin-top:0!important}
 .tabs{margin-top:0;margin-bottom:8px;height:56px}
 .tabs>a{min-height:48px;flex-shrink:0}
 .pmu-mobile-scene{width:100%;margin:24px 0 0;height:auto;aspect-ratio:1;border-radius:24px;overflow:hidden}
 .pmu-mobile-scene>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
 .pmu-mobile-scene>.draw-stage:not(.object-stage){position:relative;top:0;right:auto;width:100%;height:100%;transform:none;aspect-ratio:auto}
 .pmu-mobile-scene .scene-photo{width:100%;height:100%;object-fit:cover;object-position:right center}
 .pmu-mobile-scene:has(.sinterklaas-stage),.pmu-mobile-scene:has(.party-stage){aspect-ratio:1.25}
 .post-office.pmu-chat-moving{position:relative;overflow:hidden}
 .post-office.pmu-chat-moving .post-sidebar{display:block}
 .post-office.pmu-chat-moving .message-paper{display:flex}
 #berichten:has(.post-office[data-mobile-thread=true])>.page-title{margin-bottom:24px}
 #berichten:has(.post-office[data-mobile-thread=true])>.page-title>p{display:block}
 #berichten:has(.post-office[data-mobile-thread=true])>.page-title h1{margin-bottom:20px}
 .pmu-chat-snapshot{padding:16px}
}
@media(prefers-reduced-motion:reduce){.object-stage[data-renderer=webgl]>.object-name,.object-stage[data-renderer=webgl]>.object-front-text{will-change:auto}}
.page{position:relative}
.pmu-state[data-kind=loading]{position:absolute;right:0;top:8px;z-index:6;margin:0;padding:6px 12px;border-radius:999px;background:var(--theme-glass-fallback);color:var(--theme-text);font-size:12px;pointer-events:none}
.pmu-state[data-kind=loading] p{margin:0}.pmu-state[data-kind=loading] .skeleton{display:none}
.pmu-object-handoff{position:fixed;z-index:30;pointer-events:none}
.pmu-object-handoff>.object-stage{width:100%;height:100%;max-height:none;aspect-ratio:auto;background:none}
.object-stage.is-revealed~.pmu-object-toggle{left:5%;top:9%;width:90%;height:82%}
/* The non-WebGL result remains a large landscape card as well. */
.object-stage[data-renderer=fallback].is-revealed>.object-name{left:5%;top:12%;width:90%;height:76%;transform:none;display:flex;justify-content:center;align-items:center;background:var(--theme-paper);color:var(--theme-ink);border-radius:12px;padding:20px;font-size:10cqw;box-shadow:0 12px 32px #0003}
.pmu-draw-scene:has(>.object-stage.is-revealed)>.pmu-object-toggle{left:5%;top:9%;width:90%;height:82%}
/* Group selection belongs to the existing account menu, not a second permanent bar. */
.header #group-switch{display:none!important}
.tabs,.header .visitor-nav{padding:7px;min-height:64px;height:auto;gap:4px;scroll-padding-inline:8px;border-color:color-mix(in srgb,var(--theme-text) 23%,transparent);background:linear-gradient(130deg,#ffffff16,transparent 35%,#ffffff06 75%,#ffffff12),color-mix(in srgb,var(--theme-canvas) 62%,transparent);box-shadow:inset 0 1px 1px #ffffff36,inset 0 -1px 1px #0000002b,0 8px 24px #00000018}
.tabs>a,.header .visitor-nav>a{padding-inline:20px;min-height:48px}
:root[data-theme=sinterklaas] .pmu-glass .tab-marker,:root[data-theme=christmas] .pmu-glass .tab-marker{background:linear-gradient(150deg,#fff0c34d,#eac17124 55%,#f4d9a63b);border-color:#f3d8a999;box-shadow:inset 0 1px 1px #fff1d2b3,inset 0 0 0 2px #f0ce9f16,inset 0 -1px 2px #f8d7a961,0 2px 7px #0003}
:root[data-theme=sinterklaas] .tabs>[aria-current=page],:root[data-theme=christmas] .tabs>[aria-current=page],:root[data-theme=sinterklaas] .visitor-nav>[aria-current=page],:root[data-theme=christmas] .visitor-nav>[aria-current=page]{color:var(--theme-text)}
[data-reduce-transparency=true] .tabs,[data-reduce-transparency=true] .header .visitor-nav{background:var(--theme-glass-fallback)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.tabs,.header .visitor-nav{background:var(--theme-glass-fallback)}}
@media(max-width:767px){.header{padding-bottom:14px}.tabs,.header .visitor-nav{padding:7px;min-height:64px}.tabs>a,.header .visitor-nav>a{padding-inline:18px;font-size:15px}.tabs{margin-bottom:12px}}
.object-stage[data-renderer=webgl]>.object-name strong,.object-stage[data-renderer=webgl]>.object-name small{flex-shrink:0}
/* Theme atmosphere comes from restrained light gradients and the real objects. */
body{background:radial-gradient(ellipse at 88% 8%,color-mix(in srgb,var(--theme-accent) 9%,transparent),transparent 48%),radial-gradient(ellipse at 4% 58%,color-mix(in srgb,var(--theme-text) 5%,transparent),transparent 65%),linear-gradient(155deg,var(--theme-canvas),color-mix(in srgb,var(--theme-canvas) 94%,#000));background-attachment:fixed}
.pmu-app-backdrop{display:none}.pmu-home-backdrop{background:transparent}.pmu-home-backdrop:after,:root[data-theme=standard] .pmu-home-backdrop:after{display:none}
.pmu-home-backdrop>.object-stage{width:56%;height:calc(100svh - 130px);top:100px;background:none}
.pmu-mobile-scene{background:radial-gradient(ellipse at 52% 48%,color-mix(in srgb,var(--theme-accent) 10%,transparent),transparent 72%)}
/* One evenly spaced horizontal navigation, scrollable only on the narrowest phones. */
@media(max-width:767px){.tabs{gap:2px}.tabs>a{flex:1 0 auto;gap:4px;padding-inline:clamp(6px,1.6vw,14px);font-size:clamp(13px,3vw,15px)}.pmu-mobile-scene{aspect-ratio:1.2}.pmu-home-backdrop{display:none}}
/* A single glass conversation surface, with the two role choices above its transcript. */
.post-office{display:flex;flex-direction:column;min-height:520px;height:auto;max-height:none;border-radius:28px;border:1px solid color-mix(in srgb,var(--theme-text) 28%,transparent);background:linear-gradient(135deg,#ffffff20,transparent 42%,#ffffff08),color-mix(in srgb,var(--theme-glass) 75%,transparent);box-shadow:inset 0 1px 1px #ffffff66,inset 0 0 0 3px #ffffff04,0 18px 45px #00000020;backdrop-filter:blur(24px) saturate(1.25);-webkit-backdrop-filter:blur(24px) saturate(1.25);overflow:hidden;color:var(--theme-text)}
.post-office .post-sidebar,.post-office[data-mobile-thread=true] .post-sidebar{display:block!important;border-radius:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:16px 16px 0;overflow:visible}
.conversation-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.conversation-choice{min-height:54px;border-radius:999px;padding:12px 18px;justify-content:center;text-align:center;background:#ffffff06;transition:background 240ms,box-shadow 240ms,border-color 240ms}
.conversation-choice .correspondent,.conversation-choice small,.conversation-choice>span:last-of-type,.post-aside-quote,.post-privacy{display:none}
.conversation-choice>span:nth-child(2){margin:0}.conversation-choice strong{font-size:15px;font-weight:500}
.conversation-choice.selected{background:linear-gradient(145deg,#ffffff29,#ffffff0a);color:var(--theme-text);border-color:color-mix(in srgb,var(--theme-accent) 65%,transparent);box-shadow:inset 0 1px 1px #ffffff75,0 2px 8px #0002}
.post-office .message-paper,.post-office[data-mobile-thread=true] .message-paper{display:flex!important;height:auto;min-height:480px;border:0;border-radius:0;background:transparent;color:var(--theme-text);box-shadow:none}
.post-heading{padding:20px 24px 16px;border-bottom:1px solid color-mix(in srgb,var(--theme-text) 13%,transparent)}
.post-heading h2{font-size:28px;margin:0}.post-heading .eyebrow,.post-heading p,.pmu-chat-back,.pmu-chat-switches{display:none!important}
#message-list{min-height:180px;max-height:440px;flex:1;padding:24px}
.chat-message{color:var(--theme-ink);background:color-mix(in srgb,var(--theme-paper) 90%,transparent);box-shadow:inset 0 1px 1px #fff8}
.chat-message.outgoing{background:color-mix(in srgb,var(--theme-accent) 30%,transparent);color:var(--theme-text);border:1px solid var(--theme-border)}
.post-office .message-paper #message-form{border-top:1px solid var(--theme-border);padding:20px 24px;background:#ffffff05}
.message-input textarea{background:color-mix(in srgb,var(--theme-paper) 94%,transparent);color:var(--theme-ink);border:1px solid var(--theme-border);box-shadow:inset 0 1px 2px #00000012}
.pmu-chat-snapshot{background:var(--theme-glass-fallback);color:var(--theme-text)}
/* The wishes remain readable on a translucent glass sheet below the physical paper. */
#revealed-letter{background:linear-gradient(135deg,#ffffff24,transparent 55%),color-mix(in srgb,var(--theme-glass) 78%,transparent);color:var(--theme-text);border:1px solid color-mix(in srgb,var(--theme-text) 30%,transparent);box-shadow:inset 0 1px 1px #ffffff80,inset 0 0 0 3px #ffffff05,0 20px 48px #00000020;backdrop-filter:blur(24px) saturate(1.25);-webkit-backdrop-filter:blur(24px) saturate(1.25)}
#revealed-letter #close-letter{color:var(--theme-text);border-color:var(--theme-border);background:#ffffff09}
#revealed-letter .wish-grid{background:transparent;padding:0;color:var(--theme-text)}
#revealed-letter .wish-card{color:var(--theme-text);background:#ffffff08;border:1px solid var(--theme-border)}
#revealed-letter .letter-note{color:var(--theme-text);background:#ffffff08;border:1px solid var(--theme-border)}
/* Complete radio cards: keep the existing controls and paid-access restrictions intact. */
.voice-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.voice-options>legend{margin-bottom:16px}
.voice-options>label{display:grid;grid-template-columns:20px minmax(0,1fr);align-content:start;align-items:start;gap:8px 12px;padding:18px;margin:0;border:1px solid color-mix(in srgb,var(--theme-ink) 20%,transparent);border-radius:18px;background:#ffffff38;cursor:pointer;min-height:136px;transition:background 180ms,border-color 180ms,box-shadow 180ms}
.voice-options>label>input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--theme-ink)}
.voice-options>label strong,.voice-options>label small{display:block}.voice-options>label strong{font:600 15px/1.4 var(--font-sans)}.voice-options>label small{font:400 14px/1.5 var(--font-sans);margin-top:6px}
.voice-options>label:has(:checked){background:#ffffff80;border-color:var(--theme-ink);box-shadow:inset 0 1px 1px #fff9,0 3px 12px #0000000a}
.voice-options .premium-badge{grid-column:2;font-size:11px;margin-top:2px;opacity:.7}
.voice-options>label.premium-locked{opacity:.65;cursor:not-allowed}
.settings-actions{align-items:center;gap:16px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--theme-ink) 15%,transparent)}
.settings-actions .button{width:auto;min-height:48px;padding:12px 24px;border-radius:16px;font:600 15px/1.4 var(--font-sans);background:linear-gradient(145deg,#ffffff16,transparent),var(--theme-ink);color:var(--theme-paper);border:1px solid color-mix(in srgb,var(--theme-ink) 70%,#fff);box-shadow:inset 0 1px 1px #ffffff40,0 4px 12px #00000017}
.settings-actions .button:hover{filter:brightness(1.08);box-shadow:inset 0 1px 1px #ffffff60,0 6px 16px #0002}
@media(max-width:767px){.post-office{min-height:0;border-radius:24px}.post-office .post-sidebar{padding:12px 12px 0}.conversation-choice{padding:10px 8px;min-height:50px}.conversation-choice strong{font-size:13px}.post-heading{padding:20px 16px 12px}.post-heading h2{font-size:25px}.post-office .message-paper,.post-office[data-mobile-thread=true] .message-paper{min-height:440px}.post-office .message-paper #message-form{padding:16px}#message-list{padding:16px;min-height:160px}.voice-options{grid-template-columns:1fr}.voice-options>label{min-height:0}.settings-actions{align-items:stretch}.settings-actions .button{width:auto;flex:0 1 auto}.settings-actions #settings-status{flex-basis:100%}}
[data-reduce-transparency=true] .post-office,[data-reduce-transparency=true] #revealed-letter{background:var(--theme-glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.post-office,#revealed-letter{background:var(--theme-glass-fallback)}}
@media(prefers-reduced-transparency:reduce){.post-office,#revealed-letter{background:var(--theme-glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none}}
.conversation-choice>span:nth-child(3){display:none}
.pmu-draw-scene:has(.object-stage){border:1px solid color-mix(in srgb,var(--theme-text) 20%,transparent);border-radius:28px;background:linear-gradient(145deg,#ffffff12,transparent 50%,#ffffff06),color-mix(in srgb,var(--theme-glass) 30%,transparent);box-shadow:inset 0 1px 1px #ffffff4d,inset 0 0 0 3px #ffffff03,0 16px 36px #00000014;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
@media(max-width:767px){.pmu-draw-scene:has(.object-stage){margin-inline:0;border-radius:24px}}
[data-reduce-transparency=true] .pmu-draw-scene:has(.object-stage){background:var(--theme-glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.pmu-draw-scene:has(.object-stage){background:var(--theme-glass-fallback)}}
/* One page grid, rather than an unbounded scene and a nested half-width list. */
.header:before{display:none}
#lootje{grid-template-columns:minmax(0,1fr) minmax(0,620px);gap:28px 40px}
#lootje>.page-title{padding-top:0;margin:0;align-self:center}
#reveal-stage{width:100%;min-width:0;align-items:center}
#reveal-stage>.pmu-draw-scene{width:100%}
.pmu-draw-scene .object-stage{height:clamp(260px,33vw,390px);aspect-ratio:auto;max-height:390px}
#lootje>#revealed-letter{grid-column:1/-1;margin:0;padding:28px 32px}
#revealed-letter .letter-top{gap:16px;margin-bottom:18px;align-items:center}
#revealed-letter .letter-top .eyebrow{margin:0}
#revealed-letter .recipient{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
#revealed-letter .letter-star{display:none}
#revealed-letter .recipient>p{margin:0;font-size:14px}
#revealed-letter .recipient>h2{font-size:32px;margin:0}
#revealed-letter .recipient-meta{margin:0 0 0 auto;font-size:14px;gap:16px}
#revealed-letter .wishes-heading{align-items:baseline;margin:24px 0 16px}
#revealed-letter .wish-grid{gap:12px}
#revealed-letter .wish-card,#revealed-letter .wish-card:first-child,#revealed-letter .wish-card:last-child{padding:20px;border-radius:18px;align-items:start}
#revealed-letter .wish-copy{min-width:0}
#revealed-letter .letter-footer{border-color:var(--theme-border)}
:root[data-theme=christmas] #revealed-letter,:root[data-theme=christmas] #own-wishes{background:linear-gradient(135deg,#fff0d312,transparent 65%),rgba(91,15,29,.88);color:#fff0d3;border:1px solid #d6b16c66}
:root[data-theme=christmas] #own-wishes .wish-card{color:#fff0d3;border-color:#d6b16c40}
:root[data-theme=christmas] #own-wishes .wish-actions button{color:#fff0d3;border-color:#d6b16c66}
@media(max-width:767px){#lootje{display:block}#lootje>.page-title{margin-bottom:24px}#lootje>#revealed-letter{margin-top:24px;padding:24px 20px}.pmu-draw-scene .draw-stage.object-stage{height:auto;aspect-ratio:1.32;max-height:360px}#revealed-letter .recipient-meta{margin:6px 0 0;flex-basis:100%}#revealed-letter .wish-card,#revealed-letter .wish-card:first-child,#revealed-letter .wish-card:last-child{padding:14px;gap:14px;grid-template-columns:80px minmax(0,1fr)}#revealed-letter .product-art{width:80px;height:80px}#revealed-letter .wish-copy h4{font-size:22px}}
/* Public objects live inside the hero grid, with a bounded frame on wide monitors. */
.visitor-hero{min-height:0;padding-block:clamp(40px,6vh,80px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.visitor-hero>.pmu-home-backdrop{display:block;position:relative;inset:auto;width:100%;max-width:620px;height:clamp(320px,38vw,480px);min-height:0;z-index:0;justify-self:center;overflow:visible;background:transparent}
.visitor-hero>.pmu-home-backdrop>pmu-object.object-stage{position:relative;inset:auto;width:100%;height:100%;max-height:none;aspect-ratio:auto;transform:none;background:none}
.visitor-home{min-height:0}.visitor-intro h1{font-size:clamp(52px,5.3vw,80px)}
@media(max-width:767px){.visitor-hero{display:block;padding-top:32px}.visitor-hero>.pmu-home-backdrop{display:none}.visitor-intro h1{font-size:48px}.pmu-mobile-scene{max-width:480px;margin-inline:auto}}
/* Beige selection is deliberately stronger than the surrounding glass. */
:root[data-theme] .pmu-glass .tab-marker,:root[data-theme] .conversation-choice.selected,:root[data-theme] .pmu-dock button[aria-pressed=true],:root[data-theme] .pmu-theme-sheet button[aria-pressed=true]{background:linear-gradient(145deg,#f6e6cdee,#dfc4a4ed);border:1px solid #fff1d6cc;box-shadow:inset 0 1px 2px #fff9,inset 0 -1px 1px #aa805b55,0 2px 8px #0002;color:var(--theme-ink)}
:root[data-theme] .tabs>[aria-current=page],:root[data-theme] .visitor-nav>[aria-current=page]{color:var(--theme-ink)}
/* Native scrollbars remain operable, with quiet rounded thumbs in the palette. */
html{scrollbar-color:#bba58d #0000000a;scrollbar-width:thin}
*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#bba58d99;border:2px solid transparent;background-clip:padding-box;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background-color:#bba58ddd}*::-webkit-scrollbar-corner{background:transparent}
dialog{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--theme-ink) 30%,transparent) transparent;scrollbar-gutter:stable;padding-right:28px;background-clip:padding-box}
dialog::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--theme-ink) 30%,transparent)}
#message-list,.account-menu{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--theme-text) 35%,transparent) transparent}
/* Public information uses the same full-width glass material. */
.how-page,.visitor-faq{width:100%;max-width:none}
.how-timeline.pmu-glass,.how-pricing.pmu-glass,.pmu-faq-surface{background:linear-gradient(135deg,#ffffff1c,transparent 60%,#ffffff06),var(--theme-glass);color:var(--theme-text);border:1px solid var(--theme-border);border-radius:24px;box-shadow:inset 0 1px 1px #ffffff66,0 14px 36px #00000018;backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2)}
.how-timeline li{border-color:var(--theme-border);align-items:flex-start}.how-number{flex:0 0 48px;white-space:nowrap;font-size:30px;line-height:1.3}.how-timeline li>div{flex:1;min-width:0}.how-tag{flex:0 0 130px;text-align:right;margin-top:6px}.how-timeline p{max-width:78ch}.how-plan{border-color:var(--theme-border);background:#ffffff06}
.pmu-faq-surface{overflow:hidden}.visitor-faq .pmu-faq-surface details{background:transparent;color:var(--theme-text);border-radius:0}.visitor-faq summary{border-color:var(--theme-border);padding-block:16px;line-height:1.45}.visitor-faq details:last-child summary{border-bottom:0}.visitor-faq details p{max-width:85ch}
.pmu-dock{align-items:center}.pmu-dock .pmu-tone{align-items:center;align-self:center;margin-top:0;margin-bottom:0;line-height:1.25;min-height:48px}.pmu-dock .pmu-tone select{display:block;height:48px;min-height:48px;margin:0;line-height:normal;vertical-align:middle;box-sizing:border-box;padding-block:0}
@media(min-width:768px) and (max-width:1199px){.pmu-dock{display:grid;grid-template-columns:auto 1fr;gap:12px 20px}.pmu-dock .pmu-tone{grid-column:1/-1;justify-content:flex-end;margin:0}}
@media(max-width:767px){dialog{padding-right:20px}.how-number{flex-basis:32px;font-size:26px}.how-timeline li{gap:16px}.how-tag{display:none}.how-page,.visitor-faq{max-width:100%}}
[data-reduce-transparency=true] .how-timeline,[data-reduce-transparency=true] .how-pricing,[data-reduce-transparency=true] .pmu-faq-surface{background:var(--theme-glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.how-timeline.pmu-glass,.how-pricing.pmu-glass,.pmu-faq-surface{background:var(--theme-glass-fallback)}}

/* User-directed palettes: warm festive colour stays behind readable glass. */
 :root[data-theme=christmas] body{background-image:url('../../pakmaaruit/assets/christmas-pattern.svg'),radial-gradient(ellipse at 85% 14%,#9b454133,transparent 60%),linear-gradient(140deg,#5f1e2d,#481522 56%,#652230);background-size:560px 560px,cover,cover;background-repeat:repeat,no-repeat,no-repeat;background-attachment:fixed}
:root[data-theme=sinterklaas] body{background-image:url('../../pakmaaruit/assets/sinterklaas-pattern.svg'),radial-gradient(ellipse at 88% 12%,#ffdc5a15,transparent 55%),linear-gradient(145deg,#922b3a,#752031 54%,#8b2831);background-size:560px 560px,cover,cover;background-repeat:repeat,no-repeat,no-repeat;background-attachment:fixed}
:root[data-theme=party] body{background:url('../../pakmaaruit/assets/party-pattern.svg') 0 0/560px 560px repeat,radial-gradient(ellipse at 10% 12%,#f3bbce9c,transparent 52%),radial-gradient(ellipse at 90% 22%,#cdbbe9a6,transparent 52%),radial-gradient(ellipse at 12% 83%,#bce6d8a6,transparent 56%),radial-gradient(ellipse at 82% 90%,#f8df9c8c,transparent 48%),#faf3ef;background-attachment:fixed}
:root[data-theme=party] .pmu-draw-scene:has(.object-stage){background:linear-gradient(135deg,#f6d3e857,#d8ceef42 50%,#cbe9de52),var(--theme-glass)}
:root[data-theme=party] .pmu-glass .tab-marker,:root[data-theme=party] .conversation-choice.selected,:root[data-theme=party] .pmu-dock button[aria-pressed=true]{background:linear-gradient(140deg,#f5e5cffa,#e9cedcfa);color:var(--theme-ink)}

/* Sinterklaas uses white paper and yellow highlights, without beige surfaces. */
:root[data-theme=sinterklaas] .pmu-glass .tab-marker,:root[data-theme=sinterklaas] .conversation-choice.selected,:root[data-theme=sinterklaas] .pmu-dock button[aria-pressed=true],:root[data-theme=sinterklaas] .pmu-theme-sheet button[aria-pressed=true]{background:linear-gradient(145deg,#fff3b5f5,#f6d45af5);border-color:#fff9d6;color:var(--theme-ink)}
:root[data-theme=sinterklaas] .pmu-glass.button,:root[data-theme=sinterklaas] .pmu-glass#open-envelope{background:linear-gradient(145deg,#fff0a9,#f2cd50);color:var(--theme-ink);border-color:#fff5c5}
:root[data-theme=sinterklaas] .tiles{background:linear-gradient(140deg,#ffffffed,#ffffffd9);color:var(--theme-ink)}
:root[data-theme=sinterklaas] input,:root[data-theme=sinterklaas] textarea,:root[data-theme=sinterklaas] select{background-color:#ffffff;color:var(--theme-ink)}
:root[data-theme=sinterklaas] .wish-photo-preview,:root[data-theme=sinterklaas] .letter-note{background:#fff9d9;color:var(--theme-ink)}
/* Evergreen actions balance the red Christmas scene without tinting the backdrop green. */
:root[data-theme=christmas] .pmu-glass.button,:root[data-theme=christmas] .pmu-glass#open-envelope{background:linear-gradient(145deg,#426c55,#294f3b 55%,#1d3e2e);color:#fff6e5;border:1px solid #d9bd7da6;box-shadow:inset 0 1px 2px #ffffff52,inset 0 -1px 2px #081f19a6,0 5px 14px #00000026}
:root[data-theme=christmas] .pmu-glass.button:hover:not(:disabled),:root[data-theme=christmas] .pmu-glass#open-envelope:hover:not(:disabled){background:linear-gradient(145deg,#507d62,#335e46 55%,#274c38);color:#fffaf0}

/* Voice preview stays local until the organizer saves the settings. */
.preview-copy-samples{display:grid;gap:12px;margin:20px 0;padding-top:16px;border-top:1px solid currentColor}.preview-copy-samples p{display:grid;gap:4px;margin:0;font-size:14px;line-height:1.5}.preview-copy-samples small{font:600 10px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.7}.preview-copy-samples span{overflow-wrap:anywhere}.pmu-group-name{margin-block:0 10px!important}
@media(max-width:767px){.settings-preview{display:block;position:static;padding:20px}.settings-preview .pmu-preview-scene{display:none}.settings-preview h3{font-size:28px;margin-block:12px}.settings-preview .preview-caption{font-size:10px}.settings-preview #preview-body{font-size:14px}.settings-preview #preview-date{font-size:12px}.preview-copy-samples{gap:10px;margin-block:16px}.preview-copy-samples p{font-size:14px}}
