/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;:root{--serif:"Bodoni Moda","Bodoni MT","Didot",Georgia,serif;--sans:"Manrope","Avenir Next","Segoe UI",sans-serif;--paper:#fff;--surface-soft:#f5f7fb;--accent-soft:#edf2f8;--maroon-tint:#faf6f7;--ink:#393a33;--dark:#182f50;--navy:#203b60;--accent-mid:#29466a;--accent-quiet:#567192;--cover-navy:#142b49;--cover-mist:#b7c7dd;--night:#171316;--muted-warm:#72676d;--muted-cool:#647184;--placeholder:#7d8999;--line:#dbe2ec;--line-soft:#edf0f5;--line-strong:#cbd5e3;--maroon:#80515d;--casual:#713e4a;--casual-quiet:#946c7d;--casual-muted:#78696f;--casual-line:#e2d8dc;--casual-line-strong:#ccbfc1;--gold:#d0ad70;--gold-light:#dec38f;--gold-deep:#967642;--danger:#a51c38;--courtyard-ground:#8fa65e;--accent:var(--navy);--muted:var(--muted-warm);--shadow-soft:0 2px 6px #43293305;--shadow-card:0 14px 34px #26342b0d;--shadow-print:0 14px 36px #142b491a;--shadow-frame:0 16px 45px #203b600c;--shadow-float:0 2px 8px #203b601a;--shadow-bubble:0 8px 24px #34576812;--shadow-dock:0 12px 34px #584d3314, 0 3px 8px #584d3308;--shadow-speech:0 4px 0 #203b6030, 0 10px 26px #142b4920;--shadow-nameplate:0 2px 0 #142b4950;--footer-shade:linear-gradient(180deg, #28191c33, #28191ce8);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-xs:5px;--radius-sm:8px;--radius-bubble:18px;--radius-frame:22px;--radius-round:50%;--control:48px;--touch-min:44px;--admin-content-width:1280px;--admin-sidebar-width:256px;--admin-auth-width:480px;--admin-dialog-width:520px;--admin-textarea-height:144px;--admin-col-width:168px;--admin-status-width:144px;--admin-chart-height:160px;--admin-mark-gap:2px;--admin-ink:#18181b;--admin-muted:#64646e;--admin-border:#e4e4e7;--admin-soft:#f4f4f5;--admin-surface:#fafafa;--admin-neutral:#d4d4d8;--admin-data:var(--navy);--admin-data-soft:var(--accent-soft);--admin-decline:var(--maroon)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h2{font-size:clamp(2.7rem,5.5vw,5.5rem)}h3{font-size:2rem}em{font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent,var(--navy));color:#fff}main:focus{outline:0}section[id]{scroll-margin-top:85px}.wedding{color:var(--ink)}.eyebrow{font:500 .75rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase}.section-pad{padding:110px max(7vw,24px)}.primary-button,.outline-button{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:var(--control);padding:0 var(--space-6);border-radius:var(--radius-sm);border:1px solid #0000;font-size:.875rem;font-weight:500;line-height:1;transition:background-color .25s,color .25s,border-color .25s;display:inline-flex}.primary-button{border-color:var(--navy);background:var(--navy);color:var(--paper)}.primary-button>span,.outline-button>span{font-size:1rem;line-height:1}.outline-button{border-color:var(--line-strong);background:var(--paper);color:var(--navy)}.primary-button:hover{border-color:var(--dark);background:var(--dark)}.outline-button:hover{background:var(--accent-soft)}.text-button{background:0 0;border-bottom:1px solid;padding:6px 0;font-size:.875rem}.is-closed .invitation-content{display:none}.music-control{justify-content:center;height:44px}.audio-message{background:var(--dark);color:var(--paper);z-index:35;max-width:290px;padding:10px 18px;font-size:.875rem;position:fixed;top:85px;right:12px}.now-playing{top:calc(100% + var(--space-2));right:var(--appbar-gutter);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-float);color:var(--muted-warm);white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(calc(-1 * var(--space-1)));margin:0;font-size:.75rem;line-height:1.4;transition:opacity .3s,transform .3s;display:flex;position:absolute}.now-playing[data-shown]{opacity:1;transform:none}.now-playing-mark{color:var(--accent-mid);font-size:1rem;line-height:1}.now-playing-song strong{color:var(--ink);font-weight:600;display:block}.bottom-nav{z-index:35;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.bottom-nav a{justify-items:center;display:grid}.bottom-nav a>span{font-size:1.3rem;line-height:1.3}.countdown{justify-content:center;gap:40px;margin:30px auto;display:flex}.countdown div{justify-items:center;display:grid}.countdown strong{font-family:var(--serif);font-size:3rem;font-weight:400}.countdown span{color:var(--muted);font-size:.875rem}.form-error{color:var(--danger);font-size:.875rem}.form-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.gift-strip{border-color:var(--line-soft);align-items:center;gap:35px;padding:40px 7%;display:flex}.gift-strip>span{font-size:3rem}.gift-strip>div{flex:1}.gift-strip h3{font-size:1.8rem}.gift-strip p{max-width:540px;color:var(--muted-warm);margin-top:8px;font-size:.875rem}.gift-strip .outline-button{white-space:nowrap}.gift-dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);text-align:center;width:calc(100% - 36px);max-width:450px;margin:auto;padding:50px 30px}.gift-dialog::backdrop{--scrim:#151b14aa;background:var(--scrim);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-close{background:0 0;width:40px;height:40px;font-size:1.7rem;position:absolute;top:10px;right:12px}.gift-heart{color:var(--accent);font-size:3rem}.gift-dialog h2{margin:20px 0;font-size:2.4rem}.gift-dialog p:last-child{color:var(--muted);line-height:1.85}.account-number{letter-spacing:.08em;margin:20px 0;font-size:1.8rem;display:block}footer{--footer-blush:#e7d4d7;--footer-cream:#eee9df;height:85svh;min-height:680px;max-height:960px;color:var(--paper);isolation:isolate;position:relative;overflow:hidden}footer>img,.footer-shade{object-fit:cover;z-index:-2;object-position:50% 45%;width:100%;height:100%;position:absolute;inset:0}.footer-shade{z-index:-1;background:var(--footer-shade)}.footer-content{text-align:center;padding:0 24px;position:relative;top:18%}.footer-content h2{margin:32px 0;font-size:clamp(5rem,9vw,9rem)}.footer-content h2 i{color:var(--footer-blush);font-size:.5em}.footer-content>p:not(.eyebrow){color:var(--footer-cream);font-size:.95rem;line-height:1.9}.footer-prayer{font-family:var(--serif);margin-top:28px;font-size:1.15rem;font-style:italic;display:block}.footer-bottom{align-items:baseline;gap:var(--space-3);white-space:nowrap;border-top:1px solid var(--paper);grid-template-columns:1fr auto 1fr;display:grid;position:absolute;bottom:30px;left:5%;right:5%}@supports (color:color-mix(in lab, red, red)){.footer-bottom{border-top:1px solid color-mix(in srgb, var(--paper) 25.1%, transparent)}}.footer-bottom{letter-spacing:.08em;padding-top:20px;font-size:.75rem}.footer-bottom .wedding-logo{place-self:start end}.footer-rights{letter-spacing:.02em;color:var(--footer-cream);font-size:.6875rem;line-height:1.5}.companions{pointer-events:none;z-index:40;--turn-frame:calc(1s / 60);--turn:calc(var(--turn-frame) * 39);transition:transform .32s cubic-bezier(.2,.7,.2,1);position:fixed;inset:0}.companion{pointer-events:none;width:112px;height:140px;position:absolute}.character{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;transform-origin:50% 15%;width:100%;height:100%;transform:rotate(var(--tilt,0deg));background:0 0;padding:0;transition:transform .12s ease-out;position:relative}.character--lifted{cursor:grabbing;transform-origin:var(--grip-x,50%) var(--grip-y,15%);transition:none}.character-body{transform-origin:50% 15%;pointer-events:none;animation:3.2s ease-in-out infinite character-breathe;position:absolute;inset:0}.character-art{filter:drop-shadow(0 4px 3px var(--night));background-repeat:no-repeat;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.character-art{filter:drop-shadow(0 4px 3px color-mix(in srgb, var(--night) 8.6%, transparent))}}.character-art{pointer-events:none;background-position-y:0%;background-size:200% 300%}.character-shadow{border-radius:var(--radius-round);background:var(--night);height:6px;position:absolute;bottom:0;left:23%;right:23%}@supports (color:color-mix(in lab, red, red)){.character-shadow{background:color-mix(in srgb, var(--night) 13.3%, transparent)}}.character-shadow{filter:blur(2px);z-index:-1}.character--lifted .character-shadow{opacity:0}.menu-close{background:0 0;width:34px;height:34px;font-size:1.25rem;position:absolute;top:5px;right:5px}.companion--active{z-index:2}@keyframes fade-up{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes character-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.012)}}@keyframes music-bars{to{transform:scaleY(.4)}}@keyframes character-flail{0%,to{background-position-y:50%}50%{background-position-y:100%}}@keyframes cloth-catch{0%{transform:scale(1.035,.91)}45%{transform:scale(.975,1.045)}75%{transform:scale(1.01,.985)}to{transform:scale(1)}}@keyframes cloth-release{0%{transform:scale(.985,1.035)}to{transform:scale(1)}}@keyframes character-touchdown{0%{transform:scale(1.1,.89)}50%{transform:scale(.97,1.035)}to{transform:scale(1)}}@media (width>=1500px){.section-pad{padding-left:max(7vw,50vw - 625px);padding-right:max(7vw,50vw - 625px)}}@media (width<=1000px){.section-pad{padding:85px 6%}}@media (width<=700px){html{scroll-padding-top:76px}section[id]{scroll-margin-top:76px}.section-pad{padding:70px 24px}h2{font-size:clamp(2.6rem,10vw,3.5rem)}.eyebrow{letter-spacing:.16em;font-size:.75rem}.music-control{height:38px}.bottom-nav{justify-content:space-between}.bottom-nav a>span{font-size:1.35rem}.countdown{gap:24px}.countdown strong{font-size:2.3rem}.gift-strip{flex-wrap:wrap;gap:15px;padding:32px 24px 42px}.gift-strip>span{font-size:2.5rem}.gift-strip>div{flex-basis:75%}.gift-strip .outline-button{width:100%;margin-top:5px}.gift-strip p{font-size:.875rem;line-height:1.8}footer{height:90svh}.footer-content{padding:0 28px;top:15%}.footer-content>.eyebrow{letter-spacing:.13em;max-width:270px;margin:auto;font-size:.75rem;line-height:1.9}.footer-bottom{letter-spacing:.02em;bottom:98px;left:24px;right:24px}.companion{width:84px;height:105px}}@media (width<=370px){.section-pad{padding-left:20px;padding-right:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.character-body{transform:none!important}}.wedding-editorial{transition:none}.wedding-editorial h1,.wedding-editorial h2,.wedding-editorial h3{font-optical-sizing:auto;letter-spacing:-.045em}.wedding-editorial h2{line-height:1.12}.footer-content h2{line-height:.95}.gift-strip>span{color:var(--maroon)}.character-rig{pointer-events:none;transform-origin:var(--grip-x,50%) var(--grip-y,15%);position:absolute;inset:0}.character--lifted .character-art{background-position-y:50%;animation:.44s step-end infinite character-flail}.character--lifted .character-body{animation:none}.character--held .character-rig{animation:.3s ease-out both cloth-catch}.character--falling .character-rig{animation:.18s ease-out both cloth-release}.character--landing .character-rig{transform-origin:50% 95%;animation:.32s ease-out both character-touchdown}.character--landing .character-body{animation:none}.character-turn{opacity:0;pointer-events:none;filter:drop-shadow(0 4px 3px var(--night));background:url(/images/chibi-turn-v8.webp) 0 0/1500% 400% no-repeat;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.character-turn{filter:drop-shadow(0 4px 3px color-mix(in srgb, var(--night) 8.6%, transparent))}}.character-turn--pending{opacity:.01;background-position:100% var(--turn-from)}.character--twirl-out:not(.character--twirl-pending) .character-rig,.character--twirl-in .character-rig{animation:character-hop var(--turn) var(--twirl-delay,0s) both}.character--twirl-out:not(.character--twirl-pending) .character-art,.character--twirl-in .character-art{animation:character-turn-art var(--turn) steps(1,end) var(--twirl-delay,0s) forwards}.character--twirl-out:not(.character--twirl-pending) .character-shadow,.character--twirl-in .character-shadow{animation:character-shadow-hop var(--turn) var(--twirl-delay,0s) both}.character-turn--out:not(.character-turn--pending){animation:character-turn var(--turn) steps(1,end) var(--twirl-delay,0s) forwards, character-turn-row var(--turn) steps(1,end) var(--twirl-delay,0s) both, character-twirl-out calc(var(--turn-frame) * 11) var(--twirl-delay,0s) both}.character-turn--in{animation:character-turn var(--turn) steps(1,end) var(--twirl-delay,0s) forwards, character-turn-row var(--turn) steps(1,end) var(--twirl-delay,0s) both, character-twirl-in calc(var(--turn-frame) * 28) both}.companion-pair .character-turn--out:not(.character-turn--pending){animation:character-turn var(--turn) steps(1,end) forwards, character-turn-row var(--turn) steps(1,end) both, character-hop var(--turn) both, character-twirl-out calc(var(--turn-frame) * 11) both}.companion-pair .character-turn--in{animation:character-turn var(--turn) steps(1,end) forwards, character-turn-row var(--turn) steps(1,end) both, character-hop var(--turn) both, character-twirl-in calc(var(--turn-frame) * 28) both}.joined-character.joined-character--twirl-out,.joined-character.joined-character--twirl-in{animation:character-turn-art var(--turn) steps(1,end) forwards}.twirl-sparkles{--spark-reach:54px;--spark-ring:76px;--spark-color:var(--navy);pointer-events:none;position:absolute;top:50%;left:50%}.twirl-sparkles--pantai{--spark-color:var(--casual)}.twirl-sparkles:before{content:"";width:var(--spark-ring);height:var(--spark-ring);margin:calc(var(--spark-ring) / -2) 0 0 calc(var(--spark-ring) / -2);border:2px solid var(--gold-deep);border-radius:var(--radius-round);animation:.5s ease-out both twirl-ring;position:absolute}.twirl-sparkles i{--spark-size:12px;width:var(--spark-size);height:var(--spark-size);margin:calc(var(--spark-size) / -2) 0 0 calc(var(--spark-size) / -2);background:var(--spark-color);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:twirl-sparkle .64s cubic-bezier(.2,.7,.2,1) var(--spark-delay,0s) both;position:absolute}.twirl-sparkles i:nth-child(2n){background:var(--spark-color)}@supports (color:color-mix(in lab, red, red)){.twirl-sparkles i:nth-child(2n){background:color-mix(in srgb, var(--spark-color) 55%, transparent)}}.twirl-sparkles i:first-child{--spark-turn:0deg}.twirl-sparkles i:nth-child(2){--spark-turn:45deg;--spark-far:.75;--spark-size:9px}.twirl-sparkles i:nth-child(3){--spark-turn:90deg;--spark-delay:40ms}.twirl-sparkles i:nth-child(4){--spark-turn:135deg;--spark-far:.8;--spark-size:9px}.twirl-sparkles i:nth-child(5){--spark-turn:180deg;--spark-far:.9;--spark-delay:60ms}.twirl-sparkles i:nth-child(6){--spark-turn:225deg;--spark-far:.7;--spark-size:10px}.twirl-sparkles i:nth-child(7){--spark-turn:270deg;--spark-delay:30ms}.twirl-sparkles i:nth-child(8){--spark-turn:315deg;--spark-far:.85;--spark-size:9px}@media (width<=700px){.twirl-sparkles{--spark-reach:42px;--spark-ring:60px}}@keyframes character-turn{0%{opacity:1;background-position-x:100%}1.9231%{opacity:1;background-position-x:92.8571%}4.4872%{opacity:1;background-position-x:85.7143%}7.0513%{opacity:1;background-position-x:78.5714%}9.6154%{opacity:1;background-position-x:71.4286%}12.1795%{opacity:1;background-position-x:7.1429%}19.8718%{opacity:1;background-position-x:14.2857%}25%{opacity:1;background-position-x:21.4286%}30.1282%{opacity:1;background-position-x:28.5714%}35.2564%{opacity:1;background-position-x:35.7143%}40.3846%{opacity:1;background-position-x:42.8571%}45.5128%{opacity:1;background-position-x:50%}53.2051%{opacity:1;background-position-x:0%}76.2821%{opacity:1;background-position-x:57.1429%}78.8462%{opacity:1;background-position-x:64.2857%}81.4103%{opacity:1;background-position-x:71.4286%}83.9744%{opacity:1;background-position-x:78.5714%}86.5385%{opacity:1;background-position-x:85.7143%}91.6667%{opacity:1;background-position-x:92.8571%}96.7949%{opacity:1;background-position-x:100%}99.359%,to{opacity:0;background-position-x:100%}}@keyframes character-turn-row{0%{background-position-y:var(--turn-from)}30.1282%,to{background-position-y:var(--turn-to)}}@keyframes character-turn-art{0%{opacity:0}99.359%,to{opacity:1}}@keyframes character-twirl-out{to{visibility:visible}}@keyframes character-twirl-in{to{visibility:visible}}@keyframes character-hop{0%,12.8205%{animation-timing-function:cubic-bezier(.33,.67,.67,1);translate:0}32.0513%{animation-timing-function:cubic-bezier(.33,0,.67,.33);translate:0 -9%}53.8462%,to{translate:0}}@keyframes character-shadow-hop{0%,12.8205%{opacity:1;animation-timing-function:cubic-bezier(.33,.67,.67,1);transform:scale(1)}32.0513%{opacity:.55;animation-timing-function:cubic-bezier(.33,0,.67,.33);transform:scale(.72)}53.8462%,to{opacity:1;transform:scale(1)}}@keyframes twirl-sparkle{0%{opacity:0;transform:rotate(var(--spark-turn,0deg)) translateY(0) scale(.2) rotate(0deg)}30%{opacity:1}to{opacity:0;transform:rotate(var(--spark-turn,0deg)) translateY(calc(var(--spark-reach) * var(--spark-far,1) * -1)) scale(1) rotate(90deg)}}@keyframes twirl-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.3)}}@media (width<=700px){.gift-strip h3{font-size:1.55rem}.footer-content h2{font-size:5.5rem}}.photobook{color:var(--ink);overflow:clip}.photobook button:focus-visible{outline-offset:5px;outline:2px solid}.photobook-preface{text-align:center;padding:20px 24px 74px}.photobook-preface>.eyebrow{color:var(--muted-warm)}.photobook-preface>p:nth-child(2){font:400 clamp(2.2rem,4vw,4rem)/1.25 var(--serif);letter-spacing:-.04em;margin:28px 0}.photobook-preface>p em{color:var(--casual)}.photobook-album{--album-color:var(--navy);--album-muted:var(--muted-warm);--album-line:var(--line);background:var(--paper);color:var(--album-color);grid-template-columns:1fr 1.17fr;gap:42px 8%;padding:80px max(6vw,50vw - 625px);display:grid}.album-introduction{min-width:0;padding-top:20px}.album-volume{align-items:center;gap:20px;margin-bottom:42px;display:flex}.album-volume>span{font:italic 3.5rem/1 var(--serif);color:var(--album-color)}.album-volume>p{letter-spacing:.1em;text-transform:uppercase;font-size:.875rem;line-height:1.8}.album-introduction h2{letter-spacing:-.04em;font-size:clamp(2.6rem,4.3vw,4.75rem);line-height:1.15}.album-introduction h2 em{color:var(--album-color)}.album-description{max-width:310px;color:var(--album-muted);margin-top:26px;font-size:1rem;line-height:1.8}.album-next-print{background:var(--paper);border:1px solid var(--line);width:155px;box-shadow:var(--shadow-card);color:var(--ink);margin:45px 0 0 12%;padding:7px 7px 0;transition:transform .3s;display:block;transform:rotate(-5deg)}.album-next-print:hover{transform:rotate(-2deg)translateY(-3px)}.album-next-print>img{aspect-ratio:2/3;object-fit:cover;width:100%;height:auto}.album-next-print>span{justify-content:space-between;align-items:center;gap:8px;padding:10px 2px;font-size:.75rem;display:flex}.album-handwritten{font:italic 1.6rem var(--serif);color:var(--album-color);margin:42px 0 0 6%;display:block}.album-exhibition{align-self:center;min-width:0}.album-photo-mount{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);color:var(--ink);padding:12px 12px 0;position:relative}.album-spotlight{width:100%;color:inherit;touch-action:pan-y pinch-zoom;background:0 0;padding:0;display:block}.album-photo-window{aspect-ratio:2/3;background:var(--surface-soft);display:block;position:relative;overflow:hidden}.album-photo-window>img{object-fit:contain;width:100%;height:100%}.album-photo-caption{align-items:center;gap:20px;padding:16px 10px;display:flex}.album-photo-caption>span{white-space:nowrap;color:var(--muted-warm);letter-spacing:.05em}.album-save{align-items:center;gap:var(--space-2);min-height:var(--touch-min);margin:calc(var(--space-3) * -1) auto calc(var(--space-3) * -1) 0;color:var(--album-color);background:0 0;border:0;padding:0;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.album-save>span{font-size:1rem;line-height:1}.album-save[aria-busy=true],.album-viewer-save[aria-busy=true]{opacity:.6;cursor:progress}.album-paging{justify-content:space-between;align-items:center;gap:20px;margin-top:19px;display:flex}.album-paging>span{color:var(--album-muted);font-size:.875rem}.album-paging>div{flex-shrink:0;gap:8px;display:flex}.album-paging button{width:44px;height:44px;color:var(--album-color);border:1px solid var(--album-line);background:0 0;font-size:1.3rem}.album-paging button:disabled{opacity:.3}.album-contact-sheet{border-top:1px solid var(--album-line);grid-column:1/-1;min-width:0;padding-top:24px}.album-thumbnails{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--album-line) transparent;gap:13px;padding:6px 4px 12px;display:flex;overflow-x:auto}.album-thumbnail{min-width:0;color:var(--album-muted);background:0 0;flex:0 0 82px;padding:0}.album-thumbnail-image{border:1px solid #0000;padding:3px;transition:border-color .2s;display:block}.album-thumbnail-image img{object-fit:cover;width:100%;height:96px;display:block}.album-thumbnail[aria-current=true]{color:var(--album-color)}.album-thumbnail[aria-current=true] .album-thumbnail-image{border-color:var(--album-color)}.photobook-between{text-align:center;justify-items:center;padding:65px 24px 55px;display:grid}.photobook-between>span{color:var(--casual-muted);align-items:center;gap:15px;font-size:.75rem;display:flex}.photobook-between i{background:var(--casual-line-strong);width:65px;height:1px}.photobook-between>p{font:400 clamp(2rem,3.7vw,3.5rem)/1.25 var(--serif);letter-spacing:-.035em;margin-top:25px}.photobook-between em{color:var(--casual)}.photobook-album--pantai{--accent:var(--casual);--album-color:var(--casual);--album-muted:var(--casual-muted);--album-line:var(--casual-line-strong);padding-top:12px;padding-bottom:45px;display:block}.photobook-album--pantai .album-introduction{grid-template-columns:minmax(0,1fr) 230px;column-gap:45px;padding:0 0 32px;display:grid}.photobook-album--pantai .album-volume{grid-area:1/1;margin-bottom:25px}.photobook-album--pantai .album-volume>span{color:var(--casual)}.photobook-album--pantai .album-introduction h2{grid-area:2/1;font-size:clamp(3rem,5.4vw,5.8rem)}.photobook-album--pantai .album-introduction h2 em{color:var(--casual)}.photobook-album--pantai .album-description{grid-area:2/2;align-self:end;max-width:230px;margin:0 0 10px}.photobook-album--pantai .album-handwritten{color:var(--casual-muted);grid-area:1/2;place-self:center end;margin:0 0 24px;font-size:2rem;transform:rotate(-6deg)}.photobook-album--pantai .album-photo-mount{box-shadow:none;background:0 0;border:0;padding:0}.photobook-album--pantai .album-photo-window{background:var(--surface-soft)}.photobook-album--pantai .album-photo-caption{padding:22px 0}.photobook-album--pantai .album-paging{margin-top:15px}.photobook-album--pantai .album-contact-sheet{border:0;margin-top:30px;padding-top:0}.photobook-album--pantai .album-thumbnail{flex-basis:135px}.photobook-album--pantai .album-thumbnail-image img{height:82px}.album-viewer{--album-color:#fff8f1;--album-muted:#b9aaae;--album-line:#65575c;width:100%;max-width:none;height:100dvh;max-height:none;padding:max(14px,env(safe-area-inset-top)) 24px max(12px,env(safe-area-inset-bottom));background:var(--night);color:var(--album-color);border:0;margin:0;inset:0;overflow:hidden}.album-viewer[open]{grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px;display:grid}.album-viewer::backdrop{--scrim:#171316f5;background:var(--scrim)}.album-viewer-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.album-viewer-top>div:first-child{min-width:0}.album-viewer-top>div:first-child>span{text-overflow:ellipsis;white-space:nowrap;color:var(--album-muted);letter-spacing:.14em;font-size:.75rem;display:block;overflow:hidden}.album-viewer-top p{font:400 1.25rem var(--serif);margin-top:5px}.album-viewer-top>div:last-child{flex-shrink:0;align-items:center;gap:14px;display:flex}.album-viewer-top button{color:var(--album-color);background:0 0;min-height:44px;padding:8px 0;font-size:.875rem}.album-viewer-top .album-viewer-close{border:1px solid var(--album-line);width:44px;height:44px;padding:0;font-size:2rem}.album-viewer-top .album-viewer-save{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--album-line);place-items:center;padding:0;display:grid}.album-viewer-save svg{width:var(--space-6);height:var(--space-6)}.album-viewer-stage{overscroll-behavior:contain;touch-action:pan-y pinch-zoom;min-width:0;min-height:0;overflow:auto}.album-viewer-canvas{place-items:center;width:100%;height:100%;display:grid}.album-viewer-canvas img{object-fit:contain;cursor:zoom-in;-webkit-user-select:none;user-select:none;width:100%;min-width:0;height:100%;min-height:0}.album-viewer-stage.is-zoomed{touch-action:pan-x pan-y pinch-zoom}.album-viewer-stage.is-zoomed .album-viewer-canvas{width:200%;height:200%}.album-viewer-stage.is-zoomed img{cursor:zoom-out}.album-viewer-caption{justify-content:center;align-items:center;gap:30px;display:flex}.album-viewer-caption>button{width:44px;height:44px;color:var(--album-color);border:1px solid var(--album-line);background:0 0;flex-shrink:0;font-size:1.3rem}.album-viewer-caption>div{text-align:center;width:min(100%,600px);min-width:0}.album-viewer-caption span{color:var(--album-muted);margin-top:7px;line-height:1.4;display:block}.album-thumbnails--viewer{justify-self:center;width:max-content;max-width:100%;padding:4px 3px 8px}.album-thumbnails--viewer .album-thumbnail{flex-basis:53px}.album-thumbnails--viewer .album-thumbnail-image img{height:49px}@media (width<=1000px){.photobook-album{gap:35px 7%;padding-left:5%;padding-right:5%}.album-introduction h2{font-size:2.7rem}.album-volume{margin-bottom:27px}.album-next-print{width:120px;margin-top:30px}.album-handwritten{margin-top:26px}.album-photo-caption{gap:10px;padding:14px 1px}.photobook-album--pantai .album-description{max-width:180px}.photobook-album--pantai .album-introduction{grid-template-columns:minmax(0,1fr) 180px;column-gap:25px}}@media (width<=700px){.photobook-preface{padding:5px 24px 45px}.photobook-preface>p:nth-child(2){margin:24px 0;font-size:clamp(2.2rem,8.4vw,3rem)}.photobook-album{padding:40px 24px 30px;display:block}.album-introduction{padding:0}.album-volume{gap:17px;margin-bottom:26px}.album-volume>span{font-size:3rem}.album-volume>p{letter-spacing:.07em;font-size:.875rem}.album-introduction h2{font-size:clamp(2.5rem,9.3vw,3.5rem);line-height:1.16}.album-description{max-width:300px;margin-top:21px}.album-next-print,.album-handwritten{display:none}.album-exhibition{margin-top:30px}.album-photo-mount{padding:7px 7px 0}.album-photo-caption{padding:14px 5px}.album-paging{gap:18px;margin-top:16px}.album-paging>span{max-width:190px;font-size:.875rem;line-height:1.5}.album-contact-sheet{margin-top:27px;padding-top:22px}.album-thumbnails{scrollbar-width:none;gap:8px;margin:0 -4px}.album-thumbnails::-webkit-scrollbar{display:none}.album-thumbnail{flex-basis:66px}.album-thumbnail-image{padding:2px}.album-thumbnail-image img{height:78px}.photobook-between{padding:44px 24px 32px}.photobook-between>p{margin-top:22px;font-size:2.3rem}.photobook-album--pantai{padding-top:17px;padding-bottom:25px}.photobook-album--pantai .album-introduction{padding-bottom:0;display:block}.photobook-album--pantai .album-introduction h2{font-size:clamp(2.8rem,10.7vw,3.8rem)}.photobook-album--pantai .album-description{max-width:300px;margin-top:21px;position:static}.photobook-album--pantai .album-exhibition{margin-top:29px}.photobook-album--pantai .album-photo-window{width:calc(100% + 48px);margin:0 -24px}.photobook-album--pantai .album-photo-caption{padding:19px 0}.photobook-album--pantai .album-contact-sheet{margin-top:25px}.photobook-album--pantai .album-thumbnail{flex-basis:100px}.photobook-album--pantai .album-thumbnail-image img{height:63px}.album-viewer{padding-left:12px;padding-right:12px}.album-viewer[open],.album-viewer-top,.album-viewer-top>div:last-child{gap:12px}.album-viewer-caption{gap:11px}.album-thumbnails--viewer{width:100%;margin:0}.album-thumbnails--viewer .album-thumbnail{flex-basis:49px}.album-thumbnails--viewer .album-thumbnail-image img{height:44px}}@media (width<=370px){.album-viewer-top>div:last-child{gap:var(--space-2)}.photobook-album{padding-left:20px;padding-right:20px}.photobook-album--pantai .album-photo-window{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}.album-introduction h2{font-size:2.4rem}}@media (height<=500px) and (orientation:landscape){.album-viewer[open]{grid-template-rows:auto minmax(0,1fr) auto;gap:5px}.album-viewer .album-thumbnails--viewer,.album-viewer-top p,.album-viewer-caption span{display:none}}.is-opening .invitation-content{display:block}.folio-appbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:28px;padding:12px 5vw;display:flex;position:sticky;top:0}.folio-monogram{font:400 2.1rem/1 var(--serif);white-space:nowrap;align-items:center;min-height:44px;display:flex}.folio-monogram span{color:var(--accent);margin:0 3px;font-size:1.15rem;font-style:italic}.folio-current{border-left:1px solid var(--line);flex:1;min-width:0;padding-left:25px}.folio-current>span{font-size:.75rem}.folio-current p{font-size:.875rem;line-height:1.7}.folio-desktop-nav{gap:25px;font-size:.875rem;display:flex}.folio-desktop-nav a{border-bottom:1px solid #0000;padding:10px 0;transition:border-color .3s}.folio-desktop-nav a[aria-current]{border-color:var(--navy)}.folio-appbar .music-control{border-color:var(--line);border-radius:0;min-width:44px;min-height:44px}.folio-section-line{border-top:1px solid var(--line);letter-spacing:.14em;justify-content:space-between;gap:20px;padding-top:15px;font-size:.75rem;display:flex}.folio-couple{padding:80px max(7vw,24px) 90px}.folio-couple-intro{text-align:center;max-width:830px;margin:65px auto 70px}.folio-couple-intro>.eyebrow{margin-bottom:22px}.folio-couple-intro>p:last-child{max-width:600px;margin:28px auto 0;line-height:1.95}.folio-couple-spread{grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);align-items:center;gap:4%;max-width:1000px;margin:auto;display:grid}.folio-person{min-width:0}.folio-person-photo img{object-fit:cover;width:100%}.folio-person-name{border-top:1px solid var(--line);margin:22px 10px 0;padding-top:20px}.folio-person-name h3{overflow-wrap:anywhere;margin-top:12px;font-size:clamp(2.4rem,4vw,4rem);line-height:1.12}.folio-person-name h3 em{display:block}.folio-person--bride{padding-top:105px}.folio-couple-join{text-align:center}.folio-couple-join>span{font:italic 6rem/1 var(--serif)}.folio-couple-join p{letter-spacing:.12em;margin-top:20px;font-size:.75rem;line-height:1.7}.folio-events{padding:60px max(7vw,24px) 100px}.folio-events-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:start;gap:10%;max-width:1220px;margin:65px auto 0;display:grid}.folio-events-intro>.eyebrow{color:var(--navy);margin-bottom:25px}.folio-events-intro h2{font-size:clamp(3rem,5.5vw,5.7rem)}.folio-events-intro>p:last-of-type{max-width:270px;color:var(--muted-warm);margin-top:25px;line-height:1.9}.folio-event-print{margin:55px 12px 0 0}.folio-event-print img{object-fit:cover;width:100%}.folio-event-print figcaption{font:italic 1.2rem/1.5 var(--serif);text-align:center;color:var(--muted-warm)}.folio-event-invitation{padding:45px clamp(24px,4vw,55px)}.folio-event-date{text-align:center}.folio-event-date .eyebrow{color:var(--accent)}.folio-event-date h3{max-width:330px;margin:17px auto;font-size:2.35rem}.folio-agenda article{border-bottom:1px solid var(--line);gap:20px;padding:30px 0;display:grid}.folio-agenda .eyebrow{letter-spacing:.1em;color:var(--navy);font-size:.75rem}.folio-agenda h3{overflow-wrap:anywhere;margin:10px 0 22px;font-size:2.6rem}.folio-agenda address,.folio-agenda-note{overflow-wrap:anywhere;font-size:.95rem;font-style:normal;line-height:1.8}.folio-event-actions{gap:12px;margin-top:30px;display:grid}.folio-event-actions .primary-button{min-width:0}.folio-event-closing{text-align:center;font:italic 1.3rem/1.6 var(--serif);color:var(--accent);margin-top:28px}.wedding-films{padding:80px max(7vw,24px)}.film-section-head{justify-content:space-between;align-items:end;gap:30px;max-width:1180px;margin:0 auto 42px;display:flex}.film-section-head .eyebrow{margin-bottom:20px}.film-section-head h2{font-size:clamp(3rem,5vw,5rem)}.film-section-head>p{line-height:1.8}.wedding-film-feature{max-width:1180px;margin:0 auto}.wedding-film-topline{border-top:1px solid var(--casual-line);letter-spacing:.1em;justify-content:space-between;gap:12px;padding:18px 0;font-size:.75rem;display:flex}.wedding-film-feature video{aspect-ratio:16/9;background:var(--night);object-fit:contain;width:100%;display:block}.wedding-film-locked{aspect-ratio:16/9;background:var(--night);place-items:center;display:grid;position:relative;overflow:hidden}.wedding-film-locked>img{object-fit:cover;opacity:.5;width:100%;height:100%;position:absolute;inset:0}.wedding-film-locked>p{justify-items:center;gap:var(--space-3);padding:0 var(--space-4);color:var(--paper);letter-spacing:.1em;text-align:center;text-transform:uppercase;font-size:.75rem;font-weight:600;display:grid;position:relative}.film-lock-icon{box-sizing:content-box;width:var(--space-6);height:var(--space-6);padding:var(--space-3);border:1px solid color-mix(in srgb, var(--paper) 55%, transparent);border-radius:var(--radius-round)}.wedding-film-feature figcaption{border-bottom:1px solid var(--casual-line);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.wedding-film-feature figcaption>span:first-child{font:italic 1.5rem var(--serif)}.wedding-film-feature figcaption>span:last-child{letter-spacing:.08em;font-size:.75rem}.wedding-film-coming{align-items:center;gap:26px;max-width:1180px;margin:30px auto 0;display:flex}.wedding-film-coming>span:first-child{font:italic 2.2rem var(--serif);color:var(--accent)}.wedding-film-coming>div{flex:1}.wedding-film-coming p{font:1.6rem/1.5 var(--serif)}.wedding-film-coming>div>span{font-size:.875rem}.wedding-film-coming>span:last-child{font:italic 1.3rem var(--serif);color:var(--accent)}.film-load-error{max-width:1180px;margin:20px auto;font-size:.875rem}.film-load-error a{text-decoration:underline}@media (width>=1500px){.folio-couple,.folio-events,.wedding-films{padding-left:max(7vw,50vw - 640px);padding-right:max(7vw,50vw - 640px)}}@media (width<=1000px){.folio-desktop-nav{display:none}.folio-events-layout{gap:6%}.folio-event-invitation{padding:35px 27px}}@media (width<=700px){.folio-section-line{letter-spacing:.06em;gap:18px;font-size:.75rem;line-height:1.6}.folio-section-line>span:last-child{text-align:right}.folio-couple-intro>p:last-child{margin-top:24px;line-height:1.85}.folio-couple-spread{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;position:relative}.folio-person--bride{padding-top:85px}.folio-couple-join{top:2px;left:calc(50% + 14px)}.folio-couple-join p{display:none}.folio-events-layout{margin-top:38px;display:block}.folio-events-intro{padding:0 4px;position:relative}.folio-events-intro h2{font-size:3.4rem}.folio-events-intro>.eyebrow{margin-bottom:20px}.folio-events-intro>p:last-of-type{max-width:280px;margin-top:20px}.folio-event-print figcaption{font-size:1.1rem}.folio-event-date h3{margin:15px 0;line-height:1.2}.folio-event-date .eyebrow{letter-spacing:.08em;font-size:.75rem}.folio-agenda article{gap:15px;padding:28px 0}.folio-agenda h3{margin:9px 0 20px}.folio-event-actions .primary-button{gap:10px;padding:14px 16px;font-size:.875rem}.folio-event-closing{font-size:1.2rem}.wedding-films{padding:55px 24px}.film-section-head{margin-bottom:28px;display:block}.film-section-head h2{font-size:3rem}.film-section-head>p{margin-top:22px}.wedding-film-topline{letter-spacing:.035em}.wedding-film-feature{margin:0 -24px}.wedding-film-topline,.wedding-film-feature figcaption{margin-left:24px;margin-right:24px}.wedding-film-feature figcaption{padding:17px 0;display:block}.wedding-film-feature figcaption>span:last-child{margin-top:10px;display:block}.wedding-film-coming{gap:17px}.wedding-film-coming p{font-size:1.4rem}.wedding-film-coming>span:last-child{display:none}}@media (width<=370px){.folio-agenda article{gap:10px}}.invitation-cover{--cover-photo:#263849;--cover-shade:#081729;--cover-frost:#e4edf8;--cover-sky:#c2d2e9;z-index:100;background:var(--cover-navy);color:var(--paper);isolation:isolate;grid-template-columns:3fr 2fr;display:grid;position:fixed;inset:0;overflow:auto}.invitation-cover-photo{background:var(--cover-photo);min-height:100svh;position:relative;overflow:hidden}.invitation-cover-photo>img{object-fit:cover;object-position:50% 42%;width:100%;height:100%;position:absolute;inset:0}.invitation-cover-shade{background:linear-gradient(180deg,color-mix(in srgb, var(--cover-shade) 67.8%, transparent),transparent 42%,transparent 70%,color-mix(in srgb, var(--cover-shade) 65.1%, transparent));position:absolute;inset:0}.invitation-cover-frame{border:1px solid color-mix(in srgb, var(--paper) 33.3%, transparent);pointer-events:none;position:absolute;inset:22px}.invitation-cover-heading{text-align:center;text-shadow:0 2px 20px color-mix(in srgb, var(--cover-shade) 60%, transparent);padding:clamp(52px,7svh,84px) 26px 40px;position:relative}.invitation-cover-heading>.eyebrow{letter-spacing:.32em;color:var(--cover-frost);justify-content:center;align-items:center;gap:16px;font-size:.65rem;display:flex}.invitation-cover-heading>.eyebrow:before,.invitation-cover-heading>.eyebrow:after{content:"";background:color-mix(in srgb, var(--gold-light) 50.2%, transparent);width:clamp(20px,3vw,44px);height:1px}.invitation-cover-heading h1{white-space:nowrap;justify-content:center;align-items:baseline;gap:.13em;margin-top:20px;font-size:clamp(3.5rem,6.8vw,7.5rem);line-height:1.15;display:flex}.invitation-cover-heading .invitation-cover-name{letter-spacing:-.055em;font-weight:400}.invitation-cover-heading .invitation-cover-amp{color:var(--gold-light);align-self:center;font-size:.38em;font-style:italic}.invitation-cover-heading h1 em{letter-spacing:-.06em;position:relative;top:.13em}.invitation-cover-heading:after{content:"";background:color-mix(in srgb, var(--gold-light) 50.2%, transparent);width:46px;height:1px;margin:30px auto 0;display:block}.invitation-cover-caption{letter-spacing:.17em;justify-content:space-between;gap:16px;font-size:.65rem;display:flex;position:absolute;bottom:45px;left:45px;right:45px}.invitation-cover-letter{isolation:isolate;background:var(--cover-navy);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:110px clamp(28px,4.5vw,80px);display:flex;position:relative}.invitation-cover-letter:before{content:"";border:1px solid color-mix(in srgb, var(--gold) 31.4%, transparent);outline:1px solid color-mix(in srgb, var(--gold) 12.5%, transparent);outline-offset:-7px;pointer-events:none;border-radius:140px 140px 4px 4px;position:absolute;inset:22px}.invitation-cover-letter>:not(.invitation-cover-ornaments){z-index:1;position:relative}.invitation-cover-ornaments{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.invitation-cover-flourish{filter:grayscale()invert()sepia()saturate(1.8)brightness(.95);mix-blend-mode:screen;opacity:.82;width:min(78%,390px);height:auto;position:absolute;left:50%;transform:translate(-50%)}.invitation-cover-flourish--top{top:27px}.invitation-cover-flourish--bottom{bottom:25px;transform:translate(-50%)rotate(180deg)}.invitation-cover-monogram{border:1px solid color-mix(in srgb, var(--gold) 36.1%, transparent);border-radius:var(--radius-round);outline:1px solid color-mix(in srgb, var(--gold) 15.7%, transparent);outline-offset:7px;width:104px;height:104px;box-shadow:inset 0 0 0 6px color-mix(in srgb, var(--paper) 1.6%, transparent), 0 0 45px color-mix(in srgb, var(--gold) 7.1%, transparent);background:color-mix(in srgb, var(--paper) 1.6%, transparent);font:400 2.4rem/1.6 var(--serif);justify-content:center;align-items:center;margin-top:18px;margin-bottom:20px;padding:12px;display:flex}.invitation-cover-monogram i{color:var(--gold-light);margin:0 3px;font-size:1.1rem}.invitation-cover-intro{font:400 clamp(2rem,3.1vw,3.4rem)/1.25 var(--serif);letter-spacing:-.035em}.invitation-cover-intro em{color:var(--cover-sky)}.invitation-cover-date{color:var(--cover-sky);letter-spacing:.07em;margin-top:24px;font-size:.75rem}.invitation-recipient{border-top:1px solid color-mix(in srgb, var(--gold) 20.8%, transparent);width:100%;margin-top:38px;padding-top:25px}.invitation-recipient p{color:var(--cover-mist);font-size:.75rem}.invitation-recipient strong{overflow-wrap:anywhere;margin-top:8px;font-size:1rem;font-weight:500;display:block}.invitation-open{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-height:var(--control);padding:0 var(--space-6);background:var(--paper);color:var(--cover-navy);border:1px solid var(--paper);border-radius:var(--radius-sm);margin-top:26px;font-size:.875rem;font-weight:500;line-height:1;transition:background .2s,transform .2s;display:flex}.invitation-open-arrow{flex-shrink:0;font-size:1rem;line-height:1;transition:transform .2s}.invitation-open:hover{background:var(--accent-soft)}.invitation-open:hover .invitation-open-arrow{transform:rotate(45deg)}.invitation-open:focus-visible,.invitation-continue:focus-visible{outline-color:var(--paper)}.invitation-sound-note{color:var(--cover-mist);margin-top:13px;font-size:.7rem}.invitation-sound-note--empty{margin:0}.invitation-continue{background:0 0;min-height:44px;margin-top:6px;padding:10px;font-size:.8rem;text-decoration:underline}.invitation-cover--opening{pointer-events:none;background:0 0}.opening-story{background:var(--paper);max-width:1600px;color:var(--navy);grid-template-columns:.95fr 1.15fr;gap:48px 7%;margin:auto;padding:32px max(6vw,24px) 55px;display:grid;overflow:clip}.opening-story-copy{align-self:center;padding:20px 0 45px}.opening-story-copy .bali-flourish{width:175px;margin:0 0 24px}.opening-story-copy>.eyebrow{letter-spacing:.2em;font-size:.7rem}.wedding-atelier .opening-story h2{color:var(--dark);margin-top:25px;font-size:clamp(4.5rem,8.5vw,8.5rem);line-height:1.02}.opening-story h2 em{color:var(--accent-quiet)}.opening-story-message{max-width:310px;color:var(--muted-cool);margin-top:28px;line-height:1.85}.opening-story-date{margin-top:28px;font-size:.8rem}.opening-story-date span{color:var(--muted-cool);margin-top:5px;display:block}.opening-story-link{border-bottom:1px solid var(--line-strong);align-items:center;gap:28px;min-height:48px;margin-top:22px;font-size:.8rem;display:inline-flex}.opening-story-link span{font-size:1.4rem}.opening-story-portraits{align-self:center;min-width:0;padding:10px 0 100px;position:relative}.opening-story-portraits figure{margin:0}.opening-story-adat{width:78%}.opening-story-adat>img{aspect-ratio:2/3;object-fit:cover;outline:1px solid var(--line-strong);outline-offset:9px;border-radius:48% 48% 2px 2px;width:100%}.opening-story-portraits figcaption{padding:18px 3px 0}.opening-story-portraits figcaption span{letter-spacing:.12em;font-size:.625rem}.opening-story-portraits figcaption em{font:italic 1.1rem/1.4 var(--serif);margin-top:5px;display:block}.opening-story-sea{background:var(--paper);border:1px solid var(--casual-line);width:62%;box-shadow:var(--shadow-print);--accent:var(--casual);color:var(--casual);padding:8px 8px 15px;position:absolute;bottom:0;right:-5px;transform:rotate(5deg)}.opening-story-sea>img{aspect-ratio:3/2;object-fit:cover;width:100%}.opening-story-sea figcaption{padding:12px 6px 0}.opening-story-footnote{text-align:center;letter-spacing:.24em;color:var(--muted-cool);grid-column:1/-1;margin-top:12px;font-size:.625rem}@media (width<=1000px) and (width>=701px){.invitation-cover{grid-template-columns:1.2fr 1fr}.invitation-cover-heading h1{font-size:3.5rem}.invitation-cover-letter{padding-inline:32px}.invitation-cover-letter:before{inset:14px}.opening-story{gap:32px 5%}.wedding-atelier .opening-story h2{font-size:5rem}}@media (width<=700px){.invitation-cover{display:block}.invitation-cover-photo{height:61svh;min-height:380px}.invitation-cover-photo>img{object-position:50% 48%}.invitation-cover-frame{inset:12px 12px 34px}.invitation-cover-heading{padding:38px 20px 20px}.invitation-cover-heading h1{margin-top:15px;font-size:clamp(2.6rem,9.8vw,4rem)}.invitation-cover-heading>.eyebrow{gap:12px;font-size:.65rem}.invitation-cover-heading:after{width:32px;margin-top:23px}.invitation-cover-caption{letter-spacing:.12em;font-size:.625rem;bottom:55px;left:27px;right:27px}.invitation-cover-letter{padding:25px 26px max(28px,env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--gold) 31.4%, transparent);min-height:0;margin:-24px 14px 0}.invitation-cover-letter:before{display:none}.invitation-cover-flourish{opacity:.32;width:230px}.invitation-cover-flourish--top{top:-8px;left:0;transform:translate(-40%)rotate(-35deg)}.invitation-cover-flourish--bottom{bottom:-8px;left:auto;right:0;transform:translate(40%)rotate(145deg)}.invitation-cover-monogram{display:none}.invitation-cover-intro{font-size:1.5rem}.invitation-cover-intro br{display:none}.invitation-cover-intro em:before{content:" "}.invitation-cover-date{margin-top:10px;font-size:.65rem}.invitation-recipient{margin-top:18px;padding-top:16px}.invitation-recipient strong{margin-top:5px}.invitation-open{margin-top:19px}.invitation-sound-note{margin-top:10px}.opening-story{grid-template-columns:minmax(0,1fr);gap:30px;padding:22px 26px 36px}.opening-story-copy{text-align:center;padding:0}.opening-story-copy .bali-flourish{width:145px;margin:0 auto 18px}.opening-story-copy>.eyebrow{font-size:.65rem}.wedding-atelier .opening-story h2{margin-top:17px;font-size:clamp(4.2rem,16vw,6.5rem)}.opening-story-message{margin:20px auto 0;font-size:.875rem}.opening-story-date{margin-top:20px;font-size:.75rem}.opening-story-link{margin-top:14px}.opening-story-portraits{width:100%;max-width:450px;margin:12px auto 0;padding:0 0 96px}.opening-story-adat{width:76%}.opening-story-adat>img{outline-offset:6px}.opening-story-sea{width:65%;right:0}.opening-story-portraits figcaption span{letter-spacing:.07em;font-size:.625rem}.opening-story-portraits figcaption em{font-size:.95rem}.opening-story-footnote{margin-top:0;font-size:.625rem}}@media (prefers-reduced-motion:no-preference){.invitation-cover-photo>img{animation:1.8s cubic-bezier(.2,.7,.2,1) both cover-photograph}.invitation-cover-heading{animation:1.1s .15s both cover-typeset}.invitation-cover-letter>:not(.invitation-cover-ornaments){animation:.9s .25s both cover-typeset}.invitation-cover-letter>.invitation-recipient{animation-delay:.4s}.invitation-cover-letter>.invitation-open{animation-delay:.5s}.invitation-cover--opening .invitation-cover-photo{animation:1s cubic-bezier(.76,0,.24,1) both cover-leaf-left}.invitation-cover--opening .invitation-cover-letter{animation:1s cubic-bezier(.76,0,.24,1) both cover-leaf-right}.is-opening .opening-story{animation:1s cubic-bezier(.2,.7,.2,1) both story-arrival}}@media (width<=700px) and (prefers-reduced-motion:no-preference){.invitation-cover--opening .invitation-cover-photo{animation-name:cover-leaf-up}.invitation-cover--opening .invitation-cover-letter{animation-name:cover-leaf-down}}@keyframes cover-photograph{0%{transform:scale(1.045)}to{transform:scale(1)}}@keyframes cover-typeset{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0}}@keyframes cover-leaf-left{to{opacity:0;transform:translate(-105%)}}@keyframes cover-leaf-right{to{opacity:0;transform:translate(105%)}}@keyframes cover-leaf-up{to{opacity:0;transform:translateY(-105%)}}@keyframes cover-leaf-down{to{opacity:0;transform:translateY(105%)}}@keyframes story-arrival{0%{opacity:.3;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wedding-atelier .folio-appbar{--appbar-gutter:5%;background:color-mix(in srgb, var(--paper) 94.9%, transparent);min-height:72px;padding-left:var(--appbar-gutter);padding-right:var(--appbar-gutter);border-bottom-color:var(--line-soft)}.wedding-logo{object-fit:contain;width:52px;height:52px;display:block}.invitation-cover-monogram .wedding-logo{width:80px;height:80px}.footer-bottom .wedding-logo{width:38px;height:38px}.wedding-atelier .folio-monogram{font-size:1.9rem}.wedding-atelier .folio-current>span{letter-spacing:.1em;color:var(--muted-cool)}.wedding-atelier .folio-current p{color:var(--ink)}.wedding-atelier .atelier-music{border:1px solid var(--line);border-radius:var(--radius-frame);background:var(--paper);width:auto;box-shadow:var(--shadow-soft);flex-shrink:0;align-items:center;gap:9px;padding:0 13px;display:flex}.wedding-atelier .atelier-music>span{background:0 0;border-radius:0;width:auto;height:auto;animation:none}.wedding-atelier .atelier-music .atelier-music-label{white-space:nowrap;color:var(--muted-warm);font-size:.75rem;line-height:1.5}.atelier-music-bars{align-items:center;gap:3px;display:flex;height:20px!important}.atelier-music-bars i{width:2px;height:9px;display:block}.atelier-music-bars i:nth-child(2){height:17px}.atelier-music-bars i:nth-child(3){height:13px}.playing .atelier-music-bars i{animation:.8s ease-in-out infinite alternate music-bars}.playing .atelier-music-bars i:nth-child(2){animation-delay:.2s}.playing .atelier-music-bars i:nth-child(3){animation-delay:.45s}.wedding-atelier .folio-couple{background:var(--paper);color:var(--ink);padding-top:70px;padding-bottom:100px}.wedding-atelier .folio-couple-intro{margin-top:55px}.wedding-atelier .folio-couple-intro h2{font-size:clamp(2.8rem,4.6vw,4.8rem)}.wedding-atelier .folio-person-photo{padding:9px}.wedding-atelier .folio-person-photo img{aspect-ratio:3/4;object-position:50% 25%}.wedding-atelier .folio-events{background:var(--paper);padding-top:70px;padding-bottom:90px}.wedding-atelier .folio-events-intro h2,.wedding-atelier .folio-event-date h3,.wedding-atelier .folio-agenda h3{color:var(--dark)}.wedding-atelier .folio-event-print{background:var(--paper);border:1px solid var(--line);max-width:350px;box-shadow:var(--shadow-card);padding:9px 9px 0;transform:rotate(-4deg)}.wedding-atelier .folio-event-print img{aspect-ratio:4/5;object-position:50% 25%!important}.wedding-atelier .folio-event-print figcaption{padding:17px 6px}.love-post{background:var(--paper);color:var(--navy);--muted:var(--muted-cool);position:relative}.love-post-anchor{position:absolute;top:0}.love-post-heading{text-align:center;margin:0 auto 48px}.love-post-heading .eyebrow{letter-spacing:.2em;font-size:.65rem}.love-post-heading h2{letter-spacing:-.065em;width:fit-content;margin:18px auto;font-size:clamp(2.8rem,8vw,5rem);line-height:1.12;position:relative}.love-post-heading h2 em{color:var(--maroon)}.love-post-heading h2>span{color:var(--gold-deep);font-size:2rem;position:absolute;top:-15px;right:0;transform:rotate(15deg)}.love-post-heading>p:last-of-type{color:var(--muted-cool);font-size:.875rem;line-height:1.9}.wish-garden-anchor{scroll-margin-top:90px}.wish-garden{border:1px solid var(--line);border-radius:var(--radius-frame);background:var(--paper);max-width:900px;box-shadow:var(--shadow-frame);margin:auto;overflow:hidden}.wish-garden-bar{color:var(--navy);background:var(--paper);justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.wish-garden-bar>div>span{letter-spacing:.15em;font-size:.65rem}.wish-garden-bar h3{font-family:var(--serif);margin-top:7px;font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.3}.wish-garden-bar h3 em{color:var(--maroon)}.wish-garden .wish-garden-seal{flex-shrink:0;width:52px;height:52px}.wish-garden-viewport{outline:none;scroll-margin:85px 0 100px;position:relative}.wish-garden-scene{--npc-w:56px;--npc-h:74px;--guest-w:106px;background:var(--courtyard-ground);isolation:isolate;-webkit-user-select:none;user-select:none;width:100%;height:clamp(440px,62vw,600px);position:relative;overflow:hidden}.wish-garden-background,.wish-garden-atmosphere,.wish-host-table{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.wish-garden-background,.wish-host-table{object-fit:cover;image-rendering:pixelated}.wish-garden-atmosphere{overflow:hidden}.wish-dapple{border-radius:var(--radius-round);background:color-mix(in srgb, var(--paper) 7.8%, transparent);filter:blur(24px);width:30%;height:26%;animation:9s ease-in-out infinite alternate wish-sunlight;position:absolute}.wish-dapple-one{top:15%;left:4%}.wish-dapple-two{animation-delay:-4s;bottom:15%;right:5%}.wish-garden-scene[data-moving=false] :is(.wish-dapple,.wish-host-art,.wish-dialogue-next>span){animation-play-state:paused}.wish-host-couple{z-index:205;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-end;width:128px;height:100px;padding:0;display:flex;position:absolute;transform:translate(-50%,-100%)}.wish-host-art{height:90px;filter:drop-shadow(0 3px 2px color-mix(in srgb, var(--navy) 18.8%, transparent));pointer-events:none;background:url(/images/chibi-adat-v5.webp) 0 0/200% 300% no-repeat;flex:0 0 72px;display:block}.wish-host-krisna{margin-right:-22px}.wish-host-dewik{background-position-x:100%}.wish-host-couple[data-thanking=true] .wish-host-art{animation:.5s ease-in-out 4 wish-host-hop}.wish-host-couple[data-thanking=true] .wish-host-dewik{animation-delay:.12s}.wish-host-couple[data-thanking=true]:before{content:"♡";border:1.5px solid var(--maroon);border-radius:var(--radius-xs);background:var(--paper);min-width:22px;height:20px;color:var(--maroon);box-shadow:var(--shadow-nameplate);font:600 12px/1 var(--sans);place-items:center;animation:.28s ease-out wish-pop-a;display:grid;position:absolute;top:2px;left:50%;transform:translate(-50%,-100%)}.wish-host-table{z-index:215}.wish-table-letters{z-index:216;pointer-events:none;width:0;height:0;position:absolute}.wish-table-letters i,.wish-flying-letter{border:1.5px solid var(--maroon);background:var(--paper);width:16px;height:12px;box-shadow:var(--shadow-nameplate);border-radius:2px;position:absolute}.wish-table-letters i:after,.wish-flying-letter:after{content:"";border-right:1.5px solid var(--maroon);border-bottom:1.5px solid var(--maroon);width:7px;height:7px;position:absolute;top:0;left:50%;transform:translate(-50%,-45%)rotate(45deg)}.wish-table-letters i{display:none;top:-6px;left:-8px;transform:rotate(-8deg)}.wish-table-letters i:nth-child(2){top:-9px;left:-2px;transform:rotate(7deg)}.wish-table-letters i:nth-child(3){top:-12px;left:-12px;transform:rotate(-2deg)}.wish-table-letters[data-count="1"] i:first-child,.wish-table-letters[data-count="2"] i:nth-child(-n+2),.wish-table-letters[data-count="3"] i{display:block}.wish-flying-letter{z-index:400;pointer-events:none;will-change:transform;margin:-6px 0 0 -8px;top:0;left:0}.wish-flying-letter[hidden]{display:none}.wish-npc-position{will-change:transform;width:0;height:0;transition:opacity .3s;position:absolute;top:0;left:0}.wish-npc-position:before{content:"";width:calc(var(--npc-w) * .62);border-radius:var(--radius-round);background:color-mix(in srgb, var(--night) 18%, transparent);pointer-events:none;height:6px;position:absolute;top:0;left:0;transform:translate(-50%,-65%)}.wish-garden-guest{width:var(--guest-w);color:var(--navy);border-radius:var(--radius-sm);transform:translate(-50%, calc(-1 * var(--npc-h)));touch-action:manipulation;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute;top:0;left:0}.wish-npc-facing{pointer-events:none;display:block}.wish-npc-sprite{width:var(--npc-w);height:var(--npc-h);image-rendering:pixelated;display:block;position:relative;overflow:hidden}.wish-npc-sprite img{width:400%;max-width:none;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;top:0;left:0}.wish-garden-name{border:1px solid color-mix(in srgb, var(--paper) 37.6%, transparent);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--navy) 91%, transparent);max-width:100%;min-height:23px;color:var(--paper);box-shadow:var(--shadow-nameplate);pointer-events:none;justify-content:center;align-items:center;gap:4px;margin-top:3px;padding:2px 6px;font-size:11px;font-weight:500;line-height:1.35;display:inline-flex}.wish-garden-name>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wish-garden-name b{font-size:10px;font-style:normal}.wish-npc-position[data-own=true] .wish-garden-name,.wish-garden-guest[aria-expanded=true] .wish-garden-name{background:var(--maroon);color:var(--paper);border-color:color-mix(in srgb, var(--paper) 70.2%, transparent)}.wish-npc-emote,.wish-npc-prompt{border:1.5px solid var(--navy);border-radius:var(--radius-xs);background:var(--paper);min-width:22px;height:20px;color:var(--maroon);box-shadow:var(--shadow-nameplate);font:600 12px/1 var(--sans);pointer-events:none;place-items:center;padding:0 5px;display:grid;position:absolute;top:-5px;left:50%;transform:translate(-50%,-100%)}.wish-npc-emote:empty{display:none}.wish-npc-emote[data-beat=a]{animation:.28s ease-out wish-pop-a}.wish-npc-emote[data-beat=b]{animation:.28s ease-out wish-pop-b}.wish-npc-prompt{opacity:0;color:var(--navy);font-size:11px;transition:opacity .15s}.wish-garden-guest:is(:hover,:focus-visible) .wish-npc-prompt{opacity:1}.wish-garden-guest:is(:hover,:focus-visible) .wish-npc-emote{visibility:hidden}.wish-garden-hud{z-index:520;top:var(--space-3);right:var(--space-3);gap:6px;display:flex;position:absolute}.wish-garden-navigation{gap:6px;display:flex}.wish-hud-button{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--paper);border-radius:var(--radius-round);background:color-mix(in srgb, var(--paper) 94.9%, transparent);box-shadow:var(--shadow-float);color:var(--navy);font:500 1.35rem/1 var(--sans);touch-action:manipulation;place-items:center;padding:0;display:grid}.wish-hud-button:disabled{opacity:.45;cursor:default}.wish-hud-button[aria-expanded=true]{border-color:var(--navy);background:var(--navy);color:var(--paper)}.wish-skip-arrival{min-height:var(--touch-min);padding:0 var(--space-4);border:1px solid var(--paper);border-radius:var(--radius-frame);background:color-mix(in srgb, var(--paper) 94.9%, transparent);box-shadow:var(--shadow-float);color:var(--navy);font:500 .75rem/1 var(--sans)}.wish-dialogue{z-index:500;left:50%;bottom:var(--space-3);width:min(560px, calc(100% - 2 * var(--space-3)));column-gap:var(--space-4);padding:22px var(--space-4) var(--space-1);border:2px solid var(--navy);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-speech);color:var(--navy);text-align:left;cursor:pointer;outline:none;grid-template-columns:auto minmax(0,1fr);animation:.22s ease-out wish-dialogue-in;display:grid;position:absolute;transform:translate(-50%)}.wish-dialogue[data-host=true]{border-color:var(--maroon);color:var(--maroon)}.wish-dialogue:focus-visible{outline:2px solid var(--maroon);outline-offset:3px}.wish-dialogue-name{top:0;left:var(--space-4);max-width:calc(100% - 2 * var(--space-4));border-radius:var(--radius-xs);background:var(--navy);color:var(--paper);box-shadow:var(--shadow-nameplate);font:600 .75rem/1.3 var(--sans);white-space:nowrap;text-overflow:ellipsis;padding:4px 10px;position:absolute;overflow:hidden;transform:translateY(-50%)}.wish-dialogue[data-host=true] .wish-dialogue-name{background:var(--maroon)}.wish-dialogue-portrait{border-radius:var(--radius-sm);background:var(--surface-soft);grid-row:1/3;justify-content:center;align-self:start;align-items:flex-end;width:56px;height:64px;display:flex;overflow:hidden}.wish-dialogue-portrait .wish-npc-sprite{width:48px;height:64px}.wish-dialogue[data-host=true] .wish-dialogue-portrait{width:80px}.wish-dialogue-hosts{transform-origin:bottom;align-items:flex-end;margin-bottom:-2px;display:flex;transform:scale(.64)}.wish-dialogue-text{min-height:4.95em;font:400 .875rem/1.65 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.wish-dialogue-rest{visibility:hidden}.wish-dialogue-controls{justify-content:flex-end;align-items:center;gap:var(--space-1);grid-column:2;display:flex}.wish-dialogue-controls button{min-width:var(--touch-min);height:var(--touch-min);padding:0 var(--space-2);border-radius:var(--radius-sm);color:inherit;font:500 .8125rem/1 var(--sans);background:0 0}.wish-dialogue-controls button:disabled{opacity:.25;cursor:default}.wish-dialogue-count{color:var(--muted-cool);font:500 .625rem/1 var(--sans);letter-spacing:.08em}.wish-dialogue-next{align-items:center;gap:6px;display:inline-flex}.wish-dialogue-next>span{font-size:.875rem;animation:1.1s ease-in-out infinite wish-nudge;display:inline-block}.wish-garden-empty{background:var(--surface-soft);min-height:350px;color:var(--muted-cool);place-items:center;padding:25px;font-size:.85rem;display:grid}.love-post-status{text-align:center;color:var(--muted-cool);padding:10px 18px;font-size:.65rem;line-height:1.8}.love-post-status button{min-height:44px}.love-post :is(button,a,input,textarea):focus-visible{outline:2px solid var(--maroon);outline-offset:4px}.love-post :is(.wish-garden-guest,.wish-host-couple):focus-visible{outline:2px solid var(--paper);outline-offset:3px;box-shadow:0 0 0 5px var(--navy)}.wish-invitation{gap:var(--space-6);padding:var(--space-4) var(--space-6) var(--space-6);background:var(--paper);color:var(--navy);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.wish-invitation-copy{text-align:center;min-width:0}.wish-invitation-copy>.eyebrow{color:var(--maroon);letter-spacing:.12em;font-size:.65rem}.wish-invitation-copy>h3{margin:var(--space-3) 0;font-family:var(--serif);letter-spacing:-.04em;color:var(--navy);font-size:clamp(2.5rem,6vw,3.5rem);font-weight:400;line-height:1.05}.wish-invitation-copy>h3 em{color:var(--maroon)}.wish-invitation-copy>p:not(.eyebrow){max-width:40rem;color:var(--muted-cool);text-wrap:pretty;margin-inline:auto;font-size:.875rem;line-height:1.8}.wish-invitation-copy:after{content:"♡";content:"♡" / "";margin-top:var(--space-4);color:var(--maroon);text-align:center;background:linear-gradient(var(--line), var(--line)) left center / calc(50% - var(--space-4)) 1px no-repeat, linear-gradient(var(--line), var(--line)) right center / calc(50% - var(--space-4)) 1px no-repeat;font-size:.875rem;line-height:1;display:block}.wish-invitation>.primary-button{width:100%;margin:0;display:flex}.wish-invitation>button:disabled{opacity:.5}.wish-invitation[data-composing=true]{display:block}.wish-roster{--roster-slot:calc(var(--space-8) * 2);gap:var(--space-3);align-content:center;justify-items:center;min-width:0;display:grid}.wish-roster-options{justify-content:center;gap:var(--space-2);width:100%;padding-top:var(--space-6);display:flex}.wish-roster-slot{flex:0 1 var(--roster-slot);aspect-ratio:4/5;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);min-width:0;color:var(--maroon);touch-action:manipulation;justify-content:center;align-items:center;padding:0;transition:translate .3s cubic-bezier(.2,.7,.2,1),background-color .3s,border-color .3s,box-shadow .3s;display:flex;position:relative}button.wish-roster-slot{cursor:pointer}.wish-roster-slot img{width:75%;height:auto;image-rendering:pixelated}.wish-roster-slot:after{content:"▾";left:50%;top:calc(-1 * var(--space-6));font:700 1rem/1 var(--sans);opacity:0;transition:opacity .2s;position:absolute;translate:-50%}.wish-roster-options:not(:hover,:focus-within) .wish-roster-slot[data-cursor=true],.wish-roster-slot:is(:hover,:focus-visible),.wish-roster-slot[data-own=true]{translate:0 calc(-1 * var(--space-1));border-color:var(--maroon);box-shadow:inset 0 0 0 1px var(--maroon);background:var(--maroon-tint)}.wish-roster-options:not(:hover,:focus-within) .wish-roster-slot[data-cursor=true]:after,.wish-roster-slot:is(:hover,:focus-visible):after{opacity:1;animation:1.1s ease-in-out infinite wish-nudge}.wish-roster[data-own] .wish-roster-slot:not([data-own=true]){opacity:.45}.wish-roster-check{right:calc(-1 * var(--space-1));top:calc(-1 * var(--space-1));width:var(--space-4);height:var(--space-4);border-radius:var(--radius-round);background:var(--maroon);color:var(--paper);font-size:10px;line-height:var(--space-4);text-align:center;position:absolute}.wish-roster-caption{text-align:center;letter-spacing:.04em;color:var(--muted-cool);font-size:.625rem}::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}::view-transition-old(*){animation-duration:.3s}::view-transition-new(*){animation-duration:.3s}@media (prefers-reduced-motion:reduce){.wish-roster-slot{transition:none}.wish-roster-slot:after{animation:none}}.wish-composer{--form-line:16px;--message-h:104px;width:100%;color:var(--navy);scroll-margin-top:80px}.wish-letter-form{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.wish-letter-form>.wish-invitation-copy>h3{outline:none}.wish-composer-fields{gap:var(--space-2);min-width:0;display:grid}.wish-composer-fields>label,.wish-avatar-picker legend{font-size:.75rem;font-weight:500;line-height:var(--form-line);padding:0}.wish-composer-fields>label:not(:first-child){margin-top:var(--space-2)}.wish-composer-fields>input,.wish-composer-fields>textarea{border:1px solid var(--line-strong);background:var(--paper);width:100%;min-width:0;color:var(--navy);border-radius:var(--radius-sm);padding:0 var(--space-3);font-size:16px}.wish-composer-fields>input{height:var(--control)}.wish-composer-fields>textarea{resize:vertical;height:var(--message-h);min-height:var(--message-h);padding-block:var(--space-3);line-height:1.65}.wish-composer-fields :is(input,textarea)::placeholder{color:var(--placeholder)}.love-post-form-meta,.wish-avatar-hint{font-size:.625rem;line-height:var(--form-line);color:var(--muted-cool)}.love-post-form-meta{justify-content:space-between;gap:var(--space-3);display:flex}.love-post-form-meta>span:last-child{white-space:nowrap}.wish-composer-fields>.form-error{font-size:.75rem;line-height:var(--form-line)}.wish-avatar-picker{border:0;min-width:0;margin:0;padding:0}.wish-avatar-options{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.wish-avatar-hint{margin-top:var(--space-2)}.wish-avatar-option{cursor:pointer;min-width:0;position:relative}.wish-avatar-option input{opacity:0;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.wish-avatar-option>span{aspect-ratio:4/5;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);justify-content:center;align-items:center;display:flex;position:relative}.wish-avatar-option img{width:75%;height:auto;image-rendering:pixelated}.wish-avatar-option i{right:calc(-1 * var(--space-1));top:calc(-1 * var(--space-1));border-radius:var(--radius-round);background:var(--maroon);width:16px;height:16px;color:var(--paper);font:normal 10px/16px var(--sans);text-align:center;display:none;position:absolute}.wish-avatar-option input:checked+span{border-color:var(--maroon);box-shadow:inset 0 0 0 1px var(--maroon);background:var(--maroon-tint)}.wish-avatar-option input:checked+span i{display:block}.wish-avatar-option input:focus-visible+span{outline:2px solid var(--navy);outline-offset:3px}.wish-avatar-picker:disabled{opacity:.6}.wish-compose-actions{gap:var(--space-3);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wish-compose-actions>button{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;height:var(--control);min-height:0;padding:0 var(--space-1);border:1px solid var(--line-strong);border-radius:var(--radius-sm);white-space:nowrap;font-size:.875rem;font-weight:500;line-height:1;display:flex}.wish-composer-cancel{background:var(--paper);color:var(--navy)}.wish-compose-actions .primary-button{border-color:var(--navy);background:var(--navy);color:var(--paper)}.wish-compose-actions .primary-button span{font-size:1rem;line-height:1}.wish-compose-actions>button:disabled{opacity:.55}.wish-compose-actions .primary-button:disabled{cursor:wait}.wish-compose-actions .primary-button:disabled span{display:none}@media (hover:hover){.wish-composer-cancel:not(:disabled):hover{background:var(--accent-soft)}.wish-compose-actions .primary-button:not(:disabled):hover{border-color:var(--dark);background:var(--dark)}}.wish-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes wish-sunlight{to{opacity:.25;transform:translate(16px,8px)}}@keyframes wish-host-hop{0%,to{transform:translateY(0)}45%{transform:translateY(-7px)}}@keyframes wish-pop-a{0%{opacity:0;transform:translate(-50%,-70%)scale(.6)}}@keyframes wish-pop-b{0%{opacity:0;transform:translate(-50%,-70%)scale(.6)}}@keyframes wish-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes wish-dialogue-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (width>=760px){.wish-invitation{padding:var(--space-8)}.wish-invitation:not([data-composing=true]){gap:var(--space-6) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"copy copy""roster action"}.wish-roster{--roster-slot:calc(var(--space-8) * 2.25);grid-area:roster;align-self:start;justify-items:start}.wish-roster-options{justify-content:flex-start}.wish-roster-caption{text-align:left}.wish-invitation-copy{grid-area:copy}.wish-invitation-copy>h3 br{display:none}.wish-invitation>.primary-button{margin-top:var(--space-6);grid-area:action;align-self:start}.wish-letter-form{gap:var(--space-6) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"copy copy""picker fields""picker actions"}.wish-avatar-picker{grid-area:picker;align-self:start}.wish-composer-fields{grid-area:fields}.wish-compose-actions{grid-area:actions}}@media (width<=539px){.wedding-atelier:has(.wish-composer) .folio-dock{display:none}.wish-garden-bar{padding:20px 18px}.wish-garden-bar h3{max-width:225px}.wish-garden .wish-garden-seal{width:44px;height:44px}.wish-garden-scene{--npc-w:36px;--npc-h:48px;--guest-w:84px;height:clamp(420px,100svh - 165px,480px)}.wish-host-couple{width:108px;height:84px}.wish-host-art{flex-basis:58px;height:72.5px}.wish-dialogue{column-gap:var(--space-3);padding:20px var(--space-3) 0}.wish-dialogue-name{left:var(--space-3)}.wish-dialogue-portrait{width:44px;height:52px}.wish-dialogue-portrait .wish-npc-sprite{width:39px;height:52px}.wish-dialogue[data-host=true] .wish-dialogue-portrait{width:64px}.wish-dialogue-hosts{transform:scale(.5)}}@media (width<=350px){.wish-garden-bar{gap:12px;padding:18px 14px}.wish-invitation{padding-inline:var(--space-4)}.wish-compose-actions{grid-template-columns:minmax(0,1fr)}.wish-avatar-options{gap:var(--space-1)}.wish-garden-name{font-size:10px}}@media (width<=539px) and (height<=700px){.wish-avatar-hint{display:none}.wish-composer-fields{gap:6px}}@media (prefers-reduced-motion:reduce){.wish-garden-scene *{transition:none!important;animation:none!important}}.wedding-atelier .gift-strip{background:var(--paper);color:var(--ink);border-top:1px solid var(--line-soft)}.wedding-atelier .gift-strip .outline-button{border-color:var(--line-strong)}.wedding-atelier footer .footer-shade{background:var(--footer-shade)}@keyframes atelier-cover-away{to{opacity:0;transform:translate(-101%)}}@keyframes atelier-arrive{0%{opacity:.4;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes atelier-cover-up{to{opacity:0;transform:translateY(-101%)}}@media (width>=1001px){.wedding-atelier .folio-dock{display:none}}@media (width<=1000px){.wedding-atelier .atelier-music .atelier-music-label{display:none}.wedding-atelier .atelier-music{justify-content:center;width:44px;padding:0}}@media (width<=700px){.wedding-atelier .folio-appbar{--appbar-gutter:19px;padding:10px var(--appbar-gutter);gap:16px}.wedding-atelier .folio-current{padding-left:17px}.wedding-atelier .folio-current>span{font-size:.75rem}.wedding-atelier .folio-current p{font-family:var(--serif);font-size:1.05rem;line-height:1.5}.wedding-atelier .folio-couple{padding:46px 24px 60px}.wedding-atelier .folio-couple-intro{margin:38px auto}.wedding-atelier .folio-couple-intro h2{font-size:clamp(2.5rem,9.3vw,3.5rem)}.wedding-atelier .folio-couple-spread{flex-direction:column;gap:30px;max-width:420px;display:flex}.wedding-atelier .folio-person{grid-template-columns:1.35fr 1fr;align-items:center;gap:20px;width:100%;padding:0;display:grid}.wedding-atelier .folio-person-photo{padding:6px}.wedding-atelier .folio-person-photo img{aspect-ratio:2/3;object-position:50% 25%!important}.wedding-atelier .folio-person-name{border:0;margin:0;padding:0}.wedding-atelier .folio-person-name .eyebrow{letter-spacing:.05em;font-size:.75rem;line-height:1.6}.wedding-atelier .folio-person-name h3{margin-top:12px;font-size:clamp(1.9rem,7.4vw,2.8rem);line-height:1.16}.wedding-atelier .folio-person-name h3 em{margin-top:3px;font-size:.83em}.wedding-atelier .folio-person--bride{grid-template-columns:1fr 1.35fr}.wedding-atelier .folio-person--bride .folio-person-photo{grid-area:1/2}.wedding-atelier .folio-person--bride .folio-person-name{text-align:right;grid-area:1/1}.wedding-atelier .folio-couple-join{text-align:center;width:100%;margin:-10px 0;position:static}.wedding-atelier .folio-couple-join>span{font-size:3rem}.wedding-atelier .folio-events{padding:46px 22px 65px}.wedding-atelier .folio-event-print{max-width:235px;margin:32px auto 44px}.wedding-atelier .folio-event-print img{aspect-ratio:4/5}.wedding-atelier .folio-event-invitation{padding:30px 24px}.wedding-atelier .folio-event-date h3{font-size:2rem}.wedding-atelier .folio-agenda h3{font-size:2.25rem}.wedding-atelier .gift-strip{padding-bottom:40px}}@media (width<=370px){.wedding-atelier .folio-person{gap:15px}.wedding-atelier .folio-person-name h3{font-size:1.95rem}.wedding-atelier .folio-couple{padding-left:20px;padding-right:20px}.wedding-atelier .folio-events{padding-left:18px;padding-right:18px}.wedding-atelier .folio-appbar{--appbar-gutter:16px;padding-left:var(--appbar-gutter);padding-right:var(--appbar-gutter)}}.wedding-atelier{background:var(--paper)}.wedding-atelier .folio-current{border-left-color:var(--line)}.wedding-atelier .folio-couple-intro>p:last-child{color:var(--muted-warm)}.wedding-atelier .folio-person-photo,.wedding-atelier .folio-person--bride .folio-person-photo{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card)}.wedding-atelier .folio-person-name{border-color:var(--line)}.wedding-atelier .folio-person-name .eyebrow{color:var(--muted-cool)}.wedding-atelier .folio-person-name h3{font-size:clamp(2rem,3vw,3rem)}.wedding-atelier .folio-person-name h3 em{color:var(--accent-mid)}.folio-person-degree{letter-spacing:.08em;color:var(--muted-warm);margin-top:8px;font-size:.875rem}.folio-person-order{color:var(--muted-cool);margin-top:16px;font-size:.875rem}.folio-person-family{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface-soft);text-align:center;border-radius:2px 2px 14px 14px;max-width:360px;margin:22px auto 0;padding:22px 16px}.family-label{text-transform:uppercase;letter-spacing:.16em;color:var(--muted-cool);margin-bottom:10px;font-size:.7rem}.family-names{color:var(--navy);overflow-wrap:anywhere;gap:9px;font-size:.95rem;line-height:1.65;display:grid}.family-names .family-amp{font:italic 1.2rem/1.2 var(--serif);color:var(--accent);justify-content:center;align-items:center;gap:12px;display:flex}.family-amp:before,.family-amp:after{content:"";background:var(--line-strong);width:28px;height:1px}.wedding-atelier .photobook,.wedding-atelier .photobook-album--pantai{background:var(--paper)}.wedding-atelier .wedding-films{--accent:var(--casual);background:var(--paper);color:var(--ink)}.wedding-atelier .film-section-head .eyebrow,.wedding-atelier .film-section-head h2 em{color:var(--casual)}.wedding-atelier .film-section-head>p,.wedding-atelier .wedding-film-topline,.wedding-atelier .wedding-film-feature figcaption>span:last-child,.wedding-atelier .wedding-film-coming>div>span{color:var(--muted-warm)}.wedding-atelier .wedding-film-topline,.wedding-atelier .wedding-film-feature figcaption{border-color:var(--casual-line)}.wedding-atelier .wedding-film-coming>span{color:var(--casual-quiet)}.wedding-atelier .folio-dock{width:calc(100% - 28px);max-width:430px;bottom:calc(14px + env(safe-area-inset-bottom,0px));border:1px solid var(--line);border-radius:var(--radius-frame);background:color-mix(in srgb, var(--paper) 95%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-dock);gap:3px;padding:7px;transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .32s}.wedding-atelier .folio-dock[data-hidden]:not(:focus-within){transform:translate(-50%, calc(100% + 14px + env(safe-area-inset-bottom,0px)));opacity:0;pointer-events:none}.wedding-atelier .folio-dock a{border-radius:var(--radius-frame);min-width:0;min-height:56px;color:var(--muted-warm);border:1px solid #0000;flex:1;gap:3px;padding:6px 2px;font-size:.75rem;font-weight:500;line-height:1.4;transition:background .2s,color .2s,box-shadow .2s,border-color .2s}.wedding-atelier .folio-dock .dock-icon{place-items:center;width:24px;height:24px;display:grid}.dock-icon svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px;display:block}.wedding-atelier .folio-dock a[aria-current] svg{stroke-width:1.9px}.wedding-atelier .folio-dock a:focus-visible{outline:2px solid var(--accent-mid);outline-offset:3px}.wedding-atelier .folio-event-actions .primary-button{border:1px solid var(--line);box-shadow:none;background:var(--accent-soft);color:var(--navy)}.wedding-atelier .photobook-album--pantai .album-photo-window{aspect-ratio:3/2}.wedding-atelier .photobook-album--pantai .album-photo-window img{object-fit:contain}.companion-speech{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-bubble);width:212px;box-shadow:var(--shadow-bubble);color:var(--navy);pointer-events:auto;padding:14px 17px;animation:.2s fade-up;position:absolute;bottom:calc(100% + 12px)}.companion-speech:after{content:"";bottom:-7px;left:calc(var(--speech-tail,50%) - 6px);background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:12px;height:12px;position:absolute;transform:rotate(45deg)}.companion-speech strong{color:var(--muted-cool);margin-bottom:5px;padding-right:22px;font-size:.75rem;font-weight:600;display:block}.companion-speech p{font-size:.875rem;line-height:1.55}.companion-speech .menu-close{color:var(--muted-cool)}.speech-meet{width:100%;color:var(--muted-cool);border-top:1px solid var(--line-soft);text-align:left;background:0 0;min-height:44px;margin-top:10px;padding:10px 0;font-size:.875rem;display:block}.companion--joining .character{pointer-events:none}.companion-pair{pointer-events:none;position:absolute}.joined-character:focus-visible{outline:2px solid var(--navy);outline-offset:4px;border-radius:var(--radius-bubble)}.companion-speech--pair{--speech-tail:65%;text-align:center;animation:none;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.joined-hit{pointer-events:auto;cursor:pointer;border-radius:var(--radius-bubble);touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;width:50%;min-width:44px;padding:0;position:absolute;top:0;bottom:0}.joined-hit--krisna{left:0}.joined-hit--dewik{right:0}.joined-hit:focus-visible{outline:2px solid var(--navy);outline-offset:2px;background:color-mix(in srgb, var(--navy) 10.2%, transparent)}.companion-speech--pair:after{left:calc(38% - 6px)}.companion-speech--pair:before{content:"";background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:12px;height:12px;position:absolute;bottom:-7px;left:calc(64% - 6px);transform:rotate(45deg)}.companion-speech--pair strong{padding-right:0}.joined-character{pointer-events:none;transform-origin:50% 95%;width:100%;height:100%;filter:drop-shadow(0 3px 2px color-mix(in srgb, var(--navy) 7.8%, transparent));background-color:#0000;background-image:url(/images/chibi-joined-v2.webp);background-repeat:no-repeat;background-size:200% 100%;padding:0;animation:none;display:block;position:absolute;transform:none}.companion--paired .character{pointer-events:none}.wedding-atelier .folio-agenda--single article{grid-template-columns:minmax(0,1fr)}.wedding-atelier .album-photo-caption{justify-content:flex-end;min-height:44px;padding-top:12px;padding-bottom:12px}.wedding-atelier .album-photo-caption>span,.album-viewer-caption span{font-variant-numeric:tabular-nums;font-size:.875rem}.reception-ornament{filter:saturate(.85);opacity:.9;pointer-events:none;width:180px;height:auto;margin:0 auto 22px}.reception-ornament--end{opacity:.4;width:105px;margin:16px auto 0;transform:rotate(180deg)}.wedding-atelier .folio-event-invitation{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-frame);outline:1px solid var(--line);outline-offset:-9px;box-shadow:var(--shadow-card);padding:30px clamp(22px,3vw,42px)}.wedding-atelier .date-keepsake{border:0;border-bottom:1px solid var(--line);background:var(--paper);border-radius:0;margin:0 0 20px;padding:0 0 28px}.wedding-atelier .folio-agenda--single article{text-align:center;border-bottom-color:var(--line);padding:24px 0 27px}.wedding-atelier .folio-agenda h3{color:var(--dark);margin-bottom:13px;font-size:clamp(2rem,3.4vw,2.5rem)}.wedding-atelier .folio-agenda h3 em{color:var(--accent-mid)}.wedding-atelier .folio-agenda :is(address,.folio-agenda-note){max-width:430px;color:var(--muted-warm);margin-inline:auto}.wedding-atelier .folio-event-actions{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:25px}.wedding-atelier .folio-event-actions .outline-button,.wedding-atelier .folio-event-actions .primary-button{border-radius:var(--radius-sm);text-align:left;justify-content:flex-start;gap:8px;width:100%;min-width:0;min-height:76px;padding:15px 17px;font-size:.875rem;font-weight:600}.event-icon{flex-shrink:0;width:25px;height:25px}.wedding-atelier .folio-event-actions .event-icon{border:1px solid var(--line);border-radius:var(--radius-round);width:42px;height:42px;margin-right:5px;padding:9px}.wedding-atelier .folio-event-actions .event-action-copy{gap:3px;min-width:0;font-size:.875rem;display:grid}.event-action-copy strong{font-weight:600;line-height:1.45}.event-action-copy small{opacity:.75;font-size:.72rem;font-weight:400;line-height:1.5}.event-action-arrow{flex-shrink:0;margin-left:auto}.wedding-atelier .folio-event-actions .primary-button .event-icon{border-color:color-mix(in srgb, var(--paper) 27.1%, transparent)}.wedding-atelier .folio-event-actions .outline-button{background:var(--paper);border:1px solid var(--line-strong);color:var(--navy)}.wedding-atelier .folio-event-actions .outline-button:hover{background:var(--accent-soft);border-color:var(--line-strong)}.wedding-atelier .folio-event-actions .primary-button{background:var(--navy);border:1px solid var(--navy);color:var(--paper);grid-column:1/-1}.wedding-atelier .folio-event-actions .primary-button:hover{background:var(--dark);border-color:var(--dark);color:var(--paper)}.wedding-atelier .folio-event-actions :is(a,button):focus-visible{outline-color:var(--navy)}.wedding-atelier .folio-event-closing{color:var(--muted-cool)}.rsvp{justify-items:center;gap:var(--space-3);padding:var(--space-6) 0;border-bottom:1px solid var(--line);text-align:center;display:grid}.rsvp>.eyebrow{letter-spacing:.1em;color:var(--navy);font-size:.75rem}.rsvp-answer{justify-items:center;gap:var(--space-3);width:100%;display:grid}.wedding-atelier .rsvp-title{color:var(--dark);overflow-wrap:anywhere;font-size:clamp(2rem,3.4vw,2.5rem);line-height:1.12}.wedding-atelier .rsvp-title em{color:var(--accent-mid)}.rsvp-title:focus{outline:0}.rsvp-copy{max-width:360px;color:var(--muted-warm);overflow-wrap:anywhere;font-size:.875rem;line-height:1.8}.rsvp-field{gap:var(--space-2);width:100%;max-width:420px;margin-top:var(--space-1);text-align:left;display:grid}.rsvp-field label{color:var(--navy);font-size:.75rem;font-weight:500;line-height:16px}.rsvp-field input{width:100%;height:var(--control);padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--navy);font-size:16px}.rsvp-field input::placeholder{color:var(--placeholder)}.rsvp-field input[aria-invalid=true]{border-color:var(--danger)}.rsvp-choices{gap:var(--space-3);width:100%;max-width:420px;margin-top:var(--space-1);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wedding-atelier .rsvp-choices>button{justify-content:center;gap:var(--space-2);height:var(--control);min-width:0;padding:0 var(--space-2);white-space:nowrap}.rsvp-choices>button:disabled{cursor:wait}.rsvp-mark{width:var(--control);height:var(--control);border-radius:var(--radius-round);background:var(--navy);color:var(--paper);place-items:center;font-size:1.25rem;line-height:1;display:grid}.rsvp-mark[data-declined]{background:var(--accent-soft);color:var(--navy)}.rsvp-mark svg{width:var(--space-6);height:var(--space-6)}.rsvp-links{justify-content:center;gap:0 var(--space-6);flex-wrap:wrap;display:flex}.rsvp-text{min-height:var(--touch-min);color:var(--navy);text-underline-offset:var(--space-1);background:0 0;border:0;padding:0;font-size:.875rem;text-decoration:underline}.rsvp-error{color:var(--danger);font-size:.75rem;line-height:1.6}@media (width<=350px){.rsvp-choices{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){.rsvp-answer{animation:.45s cubic-bezier(.2,.7,.2,1) both rsvp-answer-in}}@keyframes rsvp-answer-in{0%{opacity:0;transform:translateY(var(--space-2))}}.wedding-atelier .date-keepsake>.eyebrow{letter-spacing:.14em;margin:0 0 17px;font-size:.75rem;line-height:1.7}.wedding-atelier .date-keepsake .date-keepsake-heading{max-width:none;color:var(--dark);margin:0;font-weight:400}.date-keepsake-heading time{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:0 22px;padding:18px 0 10px;display:grid}.date-keepsake-day{text-align:left;font:500 .8rem/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase;grid-area:1/2;align-self:end}.date-keepsake-number{border-right:1px solid var(--line-strong);font:400 clamp(5.5rem,12vw,8rem)/1.05 var(--serif);letter-spacing:-.045em;grid-area:1/1/3;margin:4px 0 6px;padding-right:22px}.date-keepsake-month{text-align:left;font:400 1.55rem/1.4 var(--serif);letter-spacing:.035em;grid-area:2/2;align-self:start}.date-keepsake-month>span{font:400 .875rem/1.8 var(--sans);letter-spacing:.24em;margin-top:7px;padding-left:0;display:block}.date-keepsake-schedule{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--navy);text-align:center;justify-items:center;gap:10px;margin-top:24px;padding:22px 12px 20px;display:grid}.date-keepsake-schedule-label{justify-content:center;align-items:center;gap:8px;display:flex}.date-keepsake-schedule-label .event-icon{width:16px;height:16px}.date-keepsake-schedule .eyebrow{letter-spacing:.18em;color:var(--muted-cool);font-size:.65rem}.wedding-atelier .date-keepsake .date-keepsake-time{max-width:none;color:var(--dark);white-space:nowrap;justify-content:center;align-items:center;gap:12px;margin:0;display:flex}.date-keepsake-time time{font:400 clamp(2.7rem,7vw,3.4rem)/1.15 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.035em}.date-keepsake-time span{border:1px solid var(--line-strong);border-radius:var(--radius-xs);font:600 .65rem/1.4 var(--sans);letter-spacing:.1em;padding:5px 8px}.date-keepsake-until{font:italic .95rem/1.5 var(--serif);color:var(--muted-cool);align-items:center;gap:10px;display:flex}.date-keepsake-until:before,.date-keepsake-until:after{content:"";background:var(--line-strong);width:22px;height:1px}.wedding-atelier .folio-event-invitation .countdown{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:0 0 26px;display:grid}.wedding-atelier .folio-event-invitation .countdown>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);min-width:0;padding:12px 2px}.wedding-atelier .folio-event-invitation .countdown span{color:var(--muted-cool);font-size:.7rem}.wedding-atelier .folio-event-invitation .countdown strong{font-variant-numeric:tabular-nums;color:var(--navy);font-size:clamp(1.7rem,6vw,2.4rem)}@media (width<=370px){.wedding-atelier .folio-event-invitation{padding-left:18px;padding-right:18px}.wedding-atelier .date-keepsake{padding-left:9px;padding-right:9px}.wedding-atelier .date-keepsake>.eyebrow{letter-spacing:.07em}.date-keepsake-number{border-right:1px solid var(--line-strong);grid-area:1/1/3;padding-right:22px;font-size:5.5rem}}@media (width<=700px){.wedding-atelier .folio-person,.wedding-atelier .folio-person--bride{max-width:340px;margin-inline:auto;display:block}.wedding-atelier .folio-person-photo,.wedding-atelier .folio-person--bride .folio-person-photo{max-width:260px;margin-inline:auto}.wedding-atelier .folio-person-name,.wedding-atelier .folio-person--bride .folio-person-name{text-align:center;margin-top:27px}.wedding-atelier .folio-person-name h3{font-size:clamp(2rem,8vw,2.7rem)}}@media (width<=900px){.wedding-atelier .folio-event-actions{grid-template-columns:minmax(0,1fr)}}.bali-flourish{aspect-ratio:3;object-fit:contain;mix-blend-mode:multiply;opacity:.8;filter:saturate(.85);pointer-events:none;width:210px;max-width:65%;height:auto;margin:0 auto 18px;display:block}.wedding-atelier .folio-couple-intro h2 em,.wedding-atelier .film-section-head h2 em{color:var(--accent)}.wedding-atelier .folio-couple-intro>.eyebrow,.wedding-atelier .folio-couple-join{color:var(--navy)}.wedding-atelier .folio-section-line,.wedding-atelier .folio-couple .folio-section-line{border-color:var(--line);color:var(--muted-cool)}.wedding-atelier .date-keepsake>.eyebrow,.date-keepsake-day,.date-keepsake-month>span{color:var(--muted-cool)}.wedding-atelier .folio-dock a[aria-current]{background:var(--accent-soft);color:var(--navy);border-color:var(--line);box-shadow:var(--shadow-soft), inset 0 1px 0 var(--paper)}.wedding-atelier .atelier-music.playing{background:var(--accent-soft);border-color:var(--line)}.wedding-atelier .atelier-music-bars i{background:var(--accent-mid)}@media (hover:hover){.wedding-atelier .folio-dock a:not([aria-current]):hover{background:var(--accent-soft);color:var(--navy);border-color:var(--line)}}@media (width<=700px){.wedding-atelier .folio-couple-intro>.bali-flourish{width:180px;margin-bottom:14px}}@media (prefers-reduced-motion:no-preference){[data-reveal]:not([data-revealed]){opacity:0}[data-reveal][data-revealed]{animation:reveal-rise .9s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0s) backwards}[data-reveal="1"]{--reveal-delay:.12s}[data-reveal="2"]{--reveal-delay:.24s}[data-reveal="3"]{--reveal-delay:.36s}.wedding-atelier.is-opening .folio-appbar{animation:.65s cubic-bezier(.2,.7,.2,1) .25s backwards slide-down}.wedding-atelier.is-opening .folio-dock{animation:.65s cubic-bezier(.2,.7,.2,1) .3s backwards reveal-rise}.companion{animation:.7s cubic-bezier(.2,.7,.2,1) .35s backwards reveal-rise}.album-photo-window>img,.album-next-print>img,.album-viewer-canvas img{animation:.45s photo-in}}@keyframes reveal-rise{0%{opacity:0;translate:0 28px}}@keyframes slide-down{0%{opacity:0;translate:0 -100%}}@keyframes photo-in{0%{opacity:0}}.admin{--admin-line:16px;min-height:100dvh;color:var(--admin-ink);background:var(--paper);font-family:var(--sans);font-size:.875rem;line-height:1.5}.admin [hidden]{display:none!important}.admin :is(h1,h2,h3){font-family:var(--sans);letter-spacing:-.02em;color:var(--admin-ink);font-weight:600;line-height:1.3}.admin h1{font-size:1.5rem}.admin h2{font-size:1rem}.admin h3{font-size:.875rem}.admin :where(p,ul,ol,dl,dd,blockquote){margin:0}.admin :where(ul,ol){padding:0;list-style:none}.admin [data-page-title]:focus{outline:none}.admin-icon{width:var(--space-4);height:var(--space-4);flex:none}.admin :is(button,a,summary):focus-visible{outline:2px solid var(--navy);outline-offset:2px}.admin-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-hint{color:var(--admin-muted);font-size:.75rem;line-height:1.6}.admin .form-error{color:var(--danger);font-size:.75rem;line-height:1.6}.admin :is(.primary-button,.outline-button,.admin-icon-button,.admin-text-button,.admin-token){justify-content:center;align-items:center;gap:var(--space-2);height:var(--control);min-height:var(--control);padding:0 var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);white-space:nowrap;font-size:.875rem;font-weight:500;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.admin :is(.primary-button,.outline-button)>span{font-size:inherit}.admin .primary-button{background:var(--admin-ink);border-color:var(--admin-ink);color:var(--paper)}.admin .primary-button:hover:not(:disabled){background:color-mix(in srgb, var(--admin-ink) 86%, var(--paper));border-color:color-mix(in srgb, var(--admin-ink) 86%, var(--paper))}.admin :is(.outline-button,.admin-token){background:var(--paper);color:var(--admin-ink);box-shadow:var(--shadow-soft)}.admin :is(.outline-button,.admin-token):hover:not(:disabled){background:var(--admin-soft)}.admin :is(.admin-icon-button,.admin-text-button){color:var(--admin-muted);background:0 0;border-color:#0000}.admin :is(.admin-icon-button,.admin-text-button):hover:not(:disabled){background:var(--admin-soft);color:var(--admin-ink)}.admin .admin-icon-button{width:var(--control);flex:none;padding:0}.admin .admin-text-button{padding:0 var(--space-3)}.admin .admin-toggle[aria-pressed=true]{background:var(--admin-soft);color:var(--admin-ink)}.admin button:disabled{opacity:.45;cursor:not-allowed}.admin :where(input:not([type=radio],[type=checkbox]),select,textarea){width:100%;min-width:0;height:var(--control);padding:0 var(--space-3);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);color:var(--admin-ink);box-shadow:var(--shadow-soft);font-size:16px;line-height:1;transition:border-color .15s,box-shadow .15s}.admin textarea{height:auto;min-height:var(--admin-textarea-height);padding-block:var(--space-3);resize:vertical;line-height:1.6}.admin :is(input,textarea)::placeholder{color:var(--admin-muted)}.admin :is(input,select,textarea):focus-visible{border-color:var(--navy);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--navy) 16%, transparent);outline:none}.admin :is(input,select,textarea):disabled{background:var(--admin-surface);color:var(--admin-muted)}.admin :is(label,legend){font-size:.875rem;font-weight:500;line-height:var(--admin-line);padding:0}.admin label>span{color:var(--admin-muted);font-weight:400}.admin-form{gap:var(--space-4);align-content:start;display:grid}.admin-field{gap:var(--space-2);min-width:0;display:grid}.admin-pair{gap:var(--space-4);display:grid}.admin-form-foot{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-form-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-choice{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.admin-choice>legend{margin-bottom:var(--space-2)}.admin-choice-options,.admin-segments{gap:var(--space-1);padding:calc((var(--control) - var(--touch-min)) / 2);border-radius:var(--radius-sm);background:var(--admin-soft);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.admin-choice label{min-width:0;position:relative}.admin-choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.admin-choice span,.admin-segments button{justify-content:center;align-items:center;gap:var(--space-2);height:var(--touch-min);padding:0 var(--space-2);border-radius:var(--radius-xs);color:var(--admin-muted);text-align:center;white-space:nowrap;background:0 0;border:0;font-size:.875rem;font-weight:500;line-height:1.2;transition:background-color .15s,color .15s;display:flex}.admin-choice input:checked+span,.admin-segments button[aria-pressed=true]{background:var(--paper);color:var(--admin-ink);box-shadow:var(--shadow-float)}.admin-choice input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}.admin-choice input:disabled+span{opacity:.45}.admin-segments{scrollbar-width:none;grid-auto-columns:auto;justify-content:start;width:fit-content;max-width:100%;overflow-x:auto}.admin-segments::-webkit-scrollbar{display:none}.admin-segments button{padding:0 var(--space-3)}.admin-segments button:hover{color:var(--admin-ink)}.admin-segments button>span{min-width:var(--space-6);padding:0 var(--space-1);border-radius:var(--radius-frame);background:color-mix(in srgb, var(--admin-ink) 7%, transparent);font-size:.75rem;line-height:calc(var(--space-4) + var(--space-1));font-variant-numeric:tabular-nums}.admin-shell{background:var(--paper)}.admin-skip{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-float);position:fixed;transform:translateY(-200%)}.admin-skip:focus{transform:none}.admin-brand{align-items:center;gap:var(--space-3);min-width:0;min-height:var(--touch-min);border-radius:var(--radius-sm);display:flex}.admin-brand img{width:var(--space-8);height:var(--space-8);flex:none}.admin-brand>span{min-width:0;line-height:1.3;display:grid}.admin-brand strong{white-space:nowrap;font-size:.875rem;font-weight:600}.admin-brand small{color:var(--admin-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.admin-sidebar{display:none}.admin-topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-2);height:calc(var(--control) + var(--space-4));padding:0 var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--admin-border);background:var(--paper);display:flex;position:sticky;top:0}.admin-topbar-actions{align-items:center;display:flex}.admin-menu{inset:auto;top:calc(var(--control) + var(--space-4) - var(--space-1));right:var(--space-2);min-width:calc(var(--admin-col-width) + var(--space-8));padding:var(--space-1);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);color:var(--admin-ink);box-shadow:var(--shadow-dock);margin:0;display:none;position:fixed}.admin-menu:popover-open{display:grid}.admin-menu>:is(a,button){align-items:center;gap:var(--space-3);width:100%;height:var(--control);padding:0 var(--space-3);border-radius:var(--radius-xs);text-align:left;background:0 0;border:0;font-size:.875rem;font-weight:500;display:flex}.admin-menu>:is(a,button):hover{background:var(--admin-soft)}.admin-tabs{gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--admin-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-tabs a{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control);border-radius:var(--radius-sm);color:var(--admin-muted);font-weight:500;display:flex}.admin-tabs a:hover{color:var(--admin-ink)}.admin-tabs a[aria-current=page]{background:var(--admin-soft);color:var(--admin-ink)}.admin-tabs .admin-icon,.admin-tabs .admin-nav-count{display:none}.admin-main{min-width:0;padding:var(--space-6) var(--space-4) var(--space-8);display:block;container:admin-main/inline-size}.admin-main:focus{outline:none}.admin-page{gap:var(--space-6);width:100%;max-width:var(--admin-content-width);align-content:start;min-width:0;margin-inline:auto;display:grid}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);min-width:0;display:flex}.admin-page-title{gap:var(--space-1);flex:auto;min-width:0;display:grid}.admin-page-title h1{overflow-wrap:anywhere}.admin-page-title p{color:var(--admin-muted)}.admin-page-actions{gap:var(--space-2);flex:none;display:flex}.admin .admin-wide-only{display:none}.admin .admin-refresh{width:var(--control);padding:0}.admin-refresh>span{display:none}.admin-card{gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-soft);align-content:start;display:grid;container:admin-card/inline-size}.admin-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.admin-card-header>div{gap:var(--space-1);min-width:0;display:grid}.admin-card-header p{color:var(--admin-muted)}.admin-card-header>:is(.admin-icon-button,.admin-link,.admin-badge){margin-block:calc(-1 * var(--space-3))}.admin-card-loading{padding:var(--space-8) 0;color:var(--admin-muted);text-align:center}.admin-card-error{justify-items:center;gap:var(--space-3);padding:var(--space-6) 0;color:var(--danger);text-align:center;display:grid}.admin-link{align-items:center;gap:var(--space-1);min-height:var(--touch-min);color:var(--admin-muted);white-space:nowrap;flex:none;font-weight:500;display:inline-flex}.admin-link:hover{color:var(--admin-ink)}.admin-badge{height:var(--space-6);padding:0 var(--space-2);border-radius:var(--radius-frame);background:var(--admin-soft);color:var(--admin-ink);white-space:nowrap;flex:none;align-items:center;font-size:.75rem;font-weight:500;display:inline-flex}.admin-self-start{justify-self:start}.admin-subtitle{padding-top:var(--space-4);border-top:1px solid var(--admin-border)}.admin-empty{justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);color:var(--admin-muted);text-align:center;display:grid}.admin-empty-icon{width:var(--control);height:var(--control);margin-bottom:var(--space-2);border-radius:var(--radius-round);background:var(--admin-soft);color:var(--admin-ink);place-items:center;display:grid}.admin-empty-title{color:var(--admin-ink);font-size:1rem;font-weight:600}.admin-empty :is(.primary-button,.outline-button){margin-top:var(--space-2)}.admin-warning{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--danger) 28%, var(--paper));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger) 5%, var(--paper));grid-template-columns:auto minmax(0,1fr);display:grid}.admin-warning>.admin-icon{margin-top:var(--space-1);color:var(--danger)}.admin-warning>div{gap:var(--space-2);min-width:0;display:grid}.admin-warning-title{font-weight:600}.admin-warning ul{gap:var(--space-1);color:var(--admin-muted);overflow-wrap:anywhere;display:grid}.admin-warning strong{color:var(--admin-ink);font-weight:600}.admin .admin-check{align-items:center;gap:var(--space-3);min-height:var(--touch-min);cursor:pointer;font-weight:500;display:flex}.admin-check input{width:var(--space-4);height:var(--space-4);accent-color:var(--admin-ink);flex:none;margin:0}.admin-callout{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--admin-surface);display:grid}.admin-callout>div{gap:var(--space-1);color:var(--admin-muted);display:grid}.admin-callout-title{color:var(--admin-ink);font-weight:600}.admin-meter{height:var(--space-1);border-radius:var(--radius-frame);background:var(--admin-data-soft);display:block;overflow:hidden}.admin-meter>span{border-radius:inherit;background:var(--admin-data);height:100%;display:block}.admin-status{align-items:center;gap:var(--space-2);height:var(--space-6);padding:0 var(--space-2);border:1px solid var(--admin-border);border-radius:var(--radius-frame);background:var(--paper);color:var(--admin-ink);white-space:nowrap;font-size:.75rem;font-weight:500;display:inline-flex}.admin-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-round);background:var(--admin-neutral);flex:none}.admin-dot[data-answer=hadir]{background:var(--admin-data)}.admin-dot[data-answer=tidak]{background:var(--admin-decline)}.admin-status[data-status=unsent]{color:var(--admin-muted)}.admin-status[data-status=sent] .admin-dot{background:var(--accent-quiet)}.admin-status[data-status=opened]{background:var(--admin-data-soft);color:var(--admin-data);border-color:#0000}.admin-status[data-status=opened] .admin-dot{background:var(--admin-data)}.admin-status[data-status=inactive]{background:var(--admin-soft);color:var(--admin-muted)}.admin-avatar{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-round);background:var(--admin-soft);color:var(--admin-muted);letter-spacing:.02em;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:grid}.admin-avatar[data-side=krisna]{background:color-mix(in srgb, var(--navy) 10%, var(--paper));color:var(--navy)}.admin-avatar[data-side=dewik]{background:color-mix(in srgb, var(--maroon) 12%, var(--paper));color:var(--maroon)}.admin-avatar[data-large]{width:calc(var(--control) + var(--space-2));height:calc(var(--control) + var(--space-2));font-size:1rem}.admin-avatar[data-large] .admin-icon{width:var(--space-6);height:var(--space-6)}.admin-kpis{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-kpi{align-content:start;gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-soft);transition:border-color .15s,background-color .15s;display:grid}.admin-kpi:hover{border-color:var(--admin-neutral);background:var(--admin-surface)}.admin-kpi-label{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--admin-muted);font-weight:500;display:flex}.admin-kpi-rate{color:var(--admin-ink);font-size:.75rem;font-weight:600}.admin-kpi-value{letter-spacing:-.02em;font-size:1.75rem;font-weight:600;line-height:1.15}.admin-kpi-value small{color:var(--admin-muted);letter-spacing:0;font-size:.875rem;font-weight:500}.admin-kpi-foot{color:var(--admin-muted);font-size:.75rem}.admin-grid,.admin-grid-wide{gap:var(--space-4);align-items:start;display:grid}.admin-figure{align-items:baseline;gap:var(--space-2);color:var(--admin-muted);flex-wrap:wrap;display:flex}.admin-figure strong{color:var(--admin-ink);letter-spacing:-.02em;font-size:2.25rem;font-weight:600;line-height:1}.admin-stack{gap:var(--admin-mark-gap);height:var(--space-3);border-radius:var(--radius-frame);background:var(--admin-soft);display:flex;overflow:hidden}.admin-stack>span{min-width:var(--space-1)}.admin-legend{gap:var(--space-2);display:grid}.admin-legend li{align-items:center;gap:var(--space-2);display:flex}.admin-legend strong{font-variant-numeric:tabular-nums;margin-left:auto}.admin-key{width:var(--space-3);height:var(--space-3);border-radius:calc(var(--radius-xs) / 2);flex:none}:is(.admin-stack>span,.admin-key)[data-answer=hadir]{background:var(--admin-data)}:is(.admin-stack>span,.admin-key)[data-answer=belum]{background:var(--admin-neutral)}:is(.admin-stack>span,.admin-key)[data-answer=tidak]{background:var(--admin-decline)}.admin-split,.admin-totals{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--admin-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-totals{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.admin-split,.admin-totals)>div{gap:var(--space-1);min-width:0;display:grid}:is(.admin-split,.admin-totals) dt{color:var(--admin-muted);font-size:.75rem}:is(.admin-split,.admin-totals) dd{font-size:1rem;font-weight:600}.admin-feed{display:grid}.admin-feed>li{align-items:start;gap:var(--space-3);padding-block:var(--space-3);border-top:1px solid var(--admin-border);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.admin-feed>li:first-child{border-top:0;padding-top:0}.admin-feed>li:last-child{padding-bottom:0}.admin-feed-icon{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-round);background:var(--admin-soft);color:var(--admin-muted);place-items:center;display:grid}.admin-feed-icon[data-type=open]{background:var(--admin-data-soft);color:var(--admin-data)}.admin-feed-icon[data-type=wish]{background:color-mix(in srgb, var(--maroon) 12%, var(--paper));color:var(--maroon)}.admin-feed-icon[data-type=coming]{background:var(--admin-data);color:var(--paper)}.admin-feed-icon[data-type=declined]{background:color-mix(in srgb, var(--admin-decline) 12%, var(--paper));color:var(--admin-decline)}.admin-feed-text{gap:var(--space-1);min-width:0;padding-top:var(--space-1);overflow-wrap:anywhere;display:grid}.admin-feed-text a{text-decoration:underline;-webkit-text-decoration-color:var(--admin-neutral);text-decoration-color:var(--admin-neutral);text-underline-offset:var(--space-1);font-weight:600}.admin-feed-text a:hover{text-decoration-color:currentColor}.admin-feed-text q{color:var(--admin-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.admin-feed time{padding-top:var(--space-1);color:var(--admin-muted);white-space:nowrap;font-size:.75rem}.admin-bars{gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.admin-bars>li{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;display:grid}.admin-bars .admin-meter{height:var(--space-2)}.admin-bar-value{color:var(--admin-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.75rem}.admin-actions{grid-template-columns:repeat(auto-fill, minmax(calc(var(--admin-col-width) - var(--space-2)), 1fr));gap:var(--space-2);display:grid}.admin-actions li{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--admin-surface);color:var(--admin-muted);display:flex}.admin-actions span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.admin-actions strong{color:var(--admin-ink);font-variant-numeric:tabular-nums;margin-left:auto}.admin-chart{grid-template-columns:auto minmax(0,1fr);grid-template-rows:var(--admin-chart-height) auto;gap:var(--space-2);padding-top:var(--space-2);display:grid}.admin-chart-axis{min-width:var(--space-4);color:var(--admin-muted);font-variant-numeric:tabular-nums;font-size:.75rem;position:relative}.admin-chart-axis>span{line-height:1;position:absolute;right:0;transform:translateY(-50%)}.admin-chart-axis>span:nth-child(2){top:50%}.admin-chart-axis>span:nth-child(3){top:100%}.admin-chart-plot{min-width:0;position:relative}.admin-chart-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.admin-chart-grid>span{border-top:1px solid var(--admin-border)}.admin-chart-grid>span:last-child{border-top-color:var(--admin-neutral)}.admin-chart-bars{display:flex;position:absolute;inset:0}.admin-chart-slot{min-width:0;height:100%;padding:0 calc(var(--admin-mark-gap) / 2);border-radius:var(--radius-xs) var(--radius-xs) 0 0;cursor:default;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:flex-end;display:flex}.admin .admin-chart-slot:focus-visible{outline-offset:-2px}.admin-chart-slot[data-active]{background:color-mix(in srgb, var(--admin-ink) 5%, transparent)}.admin-chart-bar{width:min(100%, var(--space-6));border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:var(--admin-data)}.admin-chart-slot[data-active] .admin-chart-bar{background:color-mix(in srgb, var(--admin-data) 82%, var(--paper))}.admin-chart-tooltip{z-index:2;bottom:calc(100% + var(--space-2));gap:var(--space-1);min-width:calc(var(--admin-col-width) + var(--space-4));padding:var(--space-2) var(--space-3);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-dock);color:var(--admin-muted);pointer-events:none;font-size:.75rem;display:grid;position:absolute;transform:translate(-50%)}.admin-chart-tooltip[data-align=start]{transform:translateX(calc(-1 * var(--space-4)))}.admin-chart-tooltip[data-align=end]{transform:translateX(calc(-100% + var(--space-4)))}.admin-chart-tooltip strong{color:var(--admin-ink);font-weight:600}.admin-chart-tooltip b{color:var(--admin-ink);font-variant-numeric:tabular-nums;font-weight:600}.admin-chart-labels{height:var(--space-4);color:var(--admin-muted);grid-column:2;font-size:.75rem;position:relative}.admin-chart-labels>span{white-space:nowrap;position:absolute;top:0}.admin-chart-labels>span:first-child{left:0}.admin-chart-labels>span:nth-child(2){transform:translate(-50%)}.admin-chart-labels>span:last-child{right:0}.admin-table-scroll{max-height:calc(var(--admin-chart-height) + var(--space-6));border:1px solid var(--admin-border);border-radius:var(--radius-sm);overflow:auto}.admin-data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.admin-data-table :is(th,td){padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--admin-border);text-align:right;white-space:nowrap;font-weight:400}.admin-data-table :is(thead th,tbody th){text-align:left}.admin-data-table thead th{background:var(--admin-surface);color:var(--admin-muted);font-size:.75rem;font-weight:500;position:sticky;top:0}.admin-data-table thead th:not(:first-child){text-align:right}.admin-data-table tbody tr:last-child>*{border-bottom:0}.admin-toolbar{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-search{min-width:0;display:block;position:relative}.admin-search>.admin-icon{top:50%;left:var(--space-3);color:var(--admin-muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.admin-search input{padding-left:calc(var(--space-3) + var(--space-4) + var(--space-2))}.admin .admin-filter-button{padding:0 var(--space-3)}.admin-filter-label{display:none}.admin-count{min-width:var(--space-6);height:var(--space-6);padding:0 var(--space-1);border-radius:var(--radius-frame);background:var(--admin-ink);color:var(--paper);place-items:center;font-size:.75rem;display:inline-grid}.admin-filters{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--admin-surface);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:none}.admin-filters[data-open=true]{display:grid}.admin-filters>div{gap:var(--space-2);min-width:0;display:grid}.admin-list-body{gap:var(--space-3);min-width:0;display:grid}.admin-list-summary{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);min-height:var(--touch-min);color:var(--admin-muted);flex-wrap:wrap;display:flex}.admin-list{border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-soft);display:grid;overflow:hidden}.admin-row{grid-template-columns:var(--space-8) auto minmax(0, 1fr) auto;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border-top:1px solid var(--admin-border);grid-template-areas:"avatar name name action""avatar status meta action";transition:background-color .15s;display:grid;position:relative}.admin-row:first-child{border-top:0}.admin-row:hover{background:var(--admin-surface)}.admin-row>.admin-avatar{grid-area:avatar}.admin-row-name{white-space:nowrap;text-overflow:ellipsis;grid-area:name;min-width:0;font-weight:600;overflow:hidden}.admin-row-name:after{content:"";border-radius:inherit;position:absolute;inset:0}.admin-row-name:focus-visible{outline:none}.admin-row-name:focus-visible:after{outline:2px solid var(--navy);outline-offset:-2px}.admin-row-status{grid-area:status;min-width:0;display:flex}.admin-row .admin-status{background:0 0;border:0;height:auto;padding:0}.admin-row-meta{min-width:0;margin-left:calc(-1 * var(--space-2));color:var(--admin-muted);white-space:nowrap;text-overflow:ellipsis;grid-area:meta;font-size:.75rem;overflow:hidden}.admin-row-meta:before{content:"· "}.admin-row-attendance,.admin-row-activity{color:var(--admin-muted);display:none}.admin-row-attendance{align-items:center;gap:var(--space-2)}.admin-row :is(.admin-row-attendance,.admin-row-activity) b{color:var(--admin-ink);font-weight:600}.admin-row-actions{z-index:1;grid-area:action;display:flex;position:relative}.admin-more{justify-items:center;gap:var(--space-3);color:var(--admin-muted);display:grid}.admin-back{align-items:center;gap:var(--space-2);min-height:var(--touch-min);margin-bottom:calc(-1 * var(--space-4));color:var(--admin-muted);justify-self:start;font-weight:500;display:inline-flex}.admin-back:hover{color:var(--admin-ink)}.admin-detail-head{align-items:center;gap:var(--space-2) var(--space-4);grid-template-columns:auto minmax(0,1fr);display:grid}.admin-detail-head>.admin-avatar{grid-row:span 2;align-self:start}.admin-detail-head>.admin-status{justify-self:start}.admin-disclosure>summary{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--control);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;list-style:none;display:flex}.admin-disclosure>summary::-webkit-details-marker{display:none}.admin-disclosure>summary>.admin-icon{color:var(--admin-muted);transition:transform .2s}.admin-disclosure[open]>summary>.admin-icon{transform:rotate(180deg)}.admin-disclosure[open]>summary{margin-bottom:var(--space-3)}.admin-detail-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin .admin-detail-actions>*{min-width:0;padding:0 var(--space-2)}.admin-detail-actions>:first-child{grid-column:1/-1}.admin-stats{border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--admin-border);box-shadow:var(--shadow-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.admin-stats>div{gap:var(--space-1);padding:var(--space-4);background:var(--paper);display:grid}.admin-stats dt{color:var(--admin-muted);font-size:.75rem}.admin-stats dd{font-size:1.25rem;font-weight:600;line-height:1.3}.admin-detail-grid,.admin-detail-main,.admin-detail-aside{gap:var(--space-4);align-items:start;min-width:0;display:grid}.admin-journey{--journey-dot:var(--space-6);grid-auto-rows:1fr;display:grid}.admin-journey>li{grid-template-columns:var(--journey-dot) minmax(0, 1fr);align-content:center;column-gap:var(--space-3);padding-block:var(--space-2);display:grid;position:relative}.admin-journey-dot{z-index:1;width:var(--journey-dot);height:var(--journey-dot);border:2px solid var(--admin-border);border-radius:var(--radius-round);background:var(--paper);color:var(--paper);grid-row:1/3;align-self:center;place-items:center;display:grid;position:relative}.admin-journey-dot .admin-icon{width:var(--space-3);height:var(--space-3)}.admin-journey>li[data-state=done] .admin-journey-dot{border-color:var(--admin-data);background:var(--admin-data)}.admin-journey>li[data-state=next] .admin-journey-dot{border-color:var(--admin-data);box-shadow:0 0 0 var(--space-1) var(--admin-data-soft)}.admin-journey-label{font-weight:600}.admin-journey>li:not([data-state=done]) .admin-journey-label{color:var(--admin-muted);font-weight:500}.admin-journey-when{color:var(--admin-muted);font-size:.75rem}.admin-journey>li+li:before{content:"";top:-50%;left:calc(var(--journey-dot) / 2 - 1px);background:var(--admin-border);width:2px;height:100%;position:absolute}.admin-journey>li[data-line=done]:before{background:var(--admin-data)}.admin-timeline{--node:var(--space-8);gap:var(--space-4);padding-left:calc(var(--node) + var(--space-3));display:grid;position:relative}.admin-timeline:before{content:"";top:calc(var(--node) / 2);bottom:calc(var(--node) / 2);left:calc(var(--node) / 2 - 1px);background:var(--admin-border);width:2px;position:absolute}.admin-timeline-entry{min-width:0;position:relative}.admin-timeline-node{z-index:1;top:0;left:calc(-1 * (var(--node) + var(--space-3)));width:var(--node);height:var(--node);border:1px solid var(--admin-border);border-radius:var(--radius-round);background:var(--paper);color:var(--admin-muted);place-items:center;display:grid;position:absolute}.admin-timeline-node[data-tone=data]{border-color:var(--admin-data);color:var(--admin-data)}.admin-timeline-node[data-tone=filled]{border-color:var(--admin-data);background:var(--admin-data);color:var(--paper)}.admin-timeline-node[data-tone=warm]{background:color-mix(in srgb, var(--admin-decline) 12%, var(--paper));color:var(--admin-decline);border-color:#0000}.admin-timeline-head{grid-template-columns:minmax(0, 1fr) auto var(--space-4);align-items:start;column-gap:var(--space-2);min-height:var(--node);padding-top:var(--space-1);display:grid}summary.admin-timeline-head{border-radius:var(--radius-sm);cursor:pointer;list-style:none}summary.admin-timeline-head::-webkit-details-marker{display:none}.admin-timeline-head>.admin-icon{color:var(--admin-muted);transition:transform .2s}details[open]>.admin-timeline-head>.admin-icon{transform:rotate(180deg)}.admin-timeline-title{min-width:0;display:grid}.admin-timeline-title strong{overflow-wrap:anywhere;font-weight:600}.admin-timeline-title span{color:var(--admin-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.admin-timeline-time{color:var(--admin-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.admin-timeline-steps{margin-top:var(--space-2);padding-right:calc(var(--space-4) + var(--space-2));display:grid}.admin-timeline-steps li{gap:var(--space-3);padding-block:var(--space-1);color:var(--admin-muted);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.admin-timeline-steps li:before{content:"";top:calc(var(--space-1) + .75em - var(--space-2) / 2 - var(--admin-mark-gap));left:calc(var(--node) / 2 - var(--node) - var(--space-3) - var(--space-2) / 2 - var(--admin-mark-gap));width:calc(var(--space-2) + 2 * var(--admin-mark-gap));height:calc(var(--space-2) + 2 * var(--admin-mark-gap));border:var(--admin-mark-gap) solid var(--paper);border-radius:var(--radius-round);background:var(--admin-neutral);position:absolute}.admin-timeline-steps li[data-strong]{color:var(--admin-ink);font-weight:500}.admin-timeline-steps li[data-strong]:before{background:var(--admin-data)}.admin-timeline-steps time{font-variant-numeric:tabular-nums;font-size:.75rem}.admin-wishes{gap:var(--space-3);display:grid}.admin-wishes li{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--admin-surface);display:grid}.admin-wishes p{justify-content:space-between;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.admin-wishes time{color:var(--admin-muted);font-size:.75rem}.admin-wishes blockquote{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.admin-info{display:grid}.admin-info>div{gap:var(--space-3);padding-block:var(--space-2);border-top:1px solid var(--admin-border);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.admin-info>div:first-child{border-top:0;padding-top:0}.admin-info dt{color:var(--admin-muted)}.admin-info dd{overflow-wrap:anywhere}.admin .admin-info-link{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.admin-info-link dd{align-items:center;gap:var(--space-2);margin-right:calc(-1 * var(--space-3));display:flex}.admin-url{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500}.admin-message{max-height:calc(var(--admin-textarea-height) * 2);padding:var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--admin-surface);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;overflow:auto}.admin-answers{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--admin-surface);display:grid}.admin-answers-title{font-weight:600}.admin-answers ul{gap:var(--space-2);display:grid}.admin-answers li{align-items:center;column-gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.admin-answers li:has(.admin-answer-value){grid-template-columns:auto minmax(0,1fr) auto auto}.admin-answer-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.admin-answer-value{white-space:nowrap;font-weight:500}.admin-answers time{color:var(--admin-muted);white-space:nowrap;font-size:.75rem}.admin-stepper{grid-template-columns:var(--control) minmax(0, 1fr) var(--control);gap:var(--space-2);display:grid}.admin .admin-stepper .outline-button{padding:0;font-size:1.25rem}.admin .admin-stepper input{text-align:center;font-variant-numeric:tabular-nums;appearance:textfield}.admin-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.admin-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.admin-template{gap:var(--space-4);align-items:start;display:grid}.admin .admin-template-input{min-height:calc(var(--admin-textarea-height) * 2);field-sizing:content}.admin-template-tools{align-items:center;gap:var(--space-2);color:var(--admin-muted);flex-wrap:wrap;font-size:.75rem;display:flex}.admin .admin-token{padding:0 var(--space-3);font-size:.75rem}.admin-counter{font-variant-numeric:tabular-nums;margin-left:auto}.admin-chat{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--admin-soft)}.admin-bubble{width:fit-content;max-width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm) var(--radius-sm) var(--radius-sm) var(--radius-xs);background:var(--paper);box-shadow:var(--shadow-soft);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.admin-bubble mark{padding:0 calc(var(--space-1) / 2);border-radius:var(--radius-xs);-webkit-box-decoration-break:clone;box-decoration-break:clone;background:var(--admin-data-soft);color:var(--admin-data);font-weight:500}.admin-dialog{border-radius:var(--radius-frame) var(--radius-frame) 0 0;background:var(--paper);width:100%;max-width:100%;max-height:92dvh;color:var(--admin-ink);box-shadow:var(--shadow-frame);border:0;margin:auto 0 0;padding:0;overflow:hidden}.admin-dialog[open]{display:flex}.admin-dialog::backdrop{--admin-scrim:#18181b66;background:var(--admin-scrim)}:root:has(.admin-dialog[open]){overflow:hidden}.admin-dialog-form{width:100%;max-height:inherit;flex-direction:column;display:flex;position:relative}.admin-dialog-header{gap:var(--space-1);padding:var(--space-6) calc(var(--control) + var(--space-3)) var(--space-4) var(--space-4);display:grid}.admin-dialog-header p{color:var(--admin-muted)}.admin-dialog-body{gap:var(--space-4);padding:var(--space-1) var(--space-4) var(--space-6);overscroll-behavior:contain;display:grid;overflow-y:auto}.admin-dialog-footer{gap:var(--space-2);padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--admin-border);background:var(--admin-surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin .admin-dialog-close{top:var(--space-3);right:var(--space-3);position:absolute}.admin-toasts{z-index:50;right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));left:var(--space-4);pointer-events:none;justify-items:center;display:grid;position:fixed}.admin-toast{align-items:center;gap:var(--space-3);max-width:var(--admin-auth-width);padding:var(--space-3) var(--space-4);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-dock);overflow-wrap:anywhere;pointer-events:auto;font-weight:500;display:flex}.admin-toast .admin-icon{color:var(--admin-data)}.admin-auth{padding:var(--space-6) var(--space-4);background:var(--admin-surface);place-items:center;display:grid}.admin-auth-card{gap:var(--space-6);width:100%;max-width:var(--admin-auth-width);padding:var(--space-6);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-soft);display:grid}.admin-auth-brand{align-items:center;gap:var(--space-3);display:flex}.admin-auth-brand img{width:var(--control);height:var(--control)}.admin-auth-brand h1{font-size:1.25rem}.admin-auth-brand p{color:var(--admin-muted)}.admin-auth-intro{gap:var(--space-1);display:grid}.admin-auth .primary-button{width:100%}@media (width>=400px){.admin-tabs .admin-icon{display:block}}@media (width>=540px){.admin-topbar{padding-inline:var(--space-6) var(--space-4)}.admin-tabs{padding-inline:var(--space-6)}.admin-main{padding:var(--space-8) var(--space-6)}.admin-filter-label{display:inline}.admin-page-header{align-items:flex-end}.admin .admin-wide-only{display:inline-flex}.admin .admin-refresh{width:auto;padding:0 var(--space-4)}.admin-refresh>span{display:inline}.admin-dialog{width:calc(100% - var(--space-8));max-width:var(--admin-dialog-width);max-height:calc(100dvh - 2 * var(--space-8));border-radius:var(--radius-sm);margin:auto}.admin-dialog-header{padding-inline:var(--space-6) calc(var(--control) + var(--space-3))}.admin-dialog-body{padding-inline:var(--space-6)}.admin-dialog-footer{padding:var(--space-4) var(--space-6);justify-content:flex-end;display:flex}.admin-dialog-footer>*{width:calc(var(--admin-col-width) + var(--space-8))}.admin-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.admin-shell{grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr);background:var(--admin-surface);min-height:100dvh;display:grid}.admin-topbar,.admin-tabs{display:none}.admin-sidebar{gap:var(--space-4);height:100dvh;padding:var(--space-4) var(--space-3);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar .admin-brand{padding:var(--space-1) var(--space-2)}.admin-sidebar-add{width:100%}.admin-nav{gap:var(--space-1);display:grid}.admin-nav a,.admin-nav-quiet{align-items:center;gap:var(--space-3);width:100%;height:var(--control);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--admin-muted);text-align:left;background:0 0;border:0;font-size:.875rem;font-weight:500;display:flex}.admin-nav a:hover,.admin-nav-quiet:hover{background:color-mix(in srgb, var(--admin-ink) 5%, transparent);color:var(--admin-ink)}.admin-nav a[aria-current=page]{background:color-mix(in srgb, var(--admin-ink) 7%, transparent);color:var(--admin-ink)}.admin-nav-count{color:var(--admin-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.75rem}.admin-sidebar-foot{gap:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--admin-border);margin-top:auto;display:grid}.admin-main{min-height:calc(100dvh - 2 * var(--space-2));margin:var(--space-2) var(--space-2) var(--space-2) 0;padding:var(--space-8);border:1px solid var(--admin-border);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-soft)}.admin-toasts{right:var(--space-6);bottom:var(--space-6);justify-items:end;left:auto}}@container admin-main (width>=540px){.admin-card{padding:var(--space-6)}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stats>div{padding-inline:var(--space-6)}.admin-form-actions{justify-content:flex-end;display:flex}.admin-form-actions>*{width:calc(var(--admin-col-width) + var(--space-8))}}@container admin-main (width>=700px){.admin-kpis{gap:var(--space-4)}.admin-kpi{padding:var(--space-4) var(--space-6) var(--space-6)}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-callout{padding:var(--space-6);grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-detail-actions{flex-wrap:wrap;display:flex}.admin .admin-detail-actions>*{padding:0 var(--space-4)}.admin-row{grid-template-columns:var(--space-8) minmax(0, 1fr) var(--admin-status-width) var(--admin-col-width) auto;padding-inline:var(--space-4) var(--space-3);grid-template-areas:"avatar name status attendance action""avatar meta status attendance action"}.admin-row .admin-status{height:var(--space-6);padding:0 var(--space-2);border:1px solid var(--admin-border);background:var(--paper)}.admin-row .admin-status[data-status=opened]{background:var(--admin-data-soft);border-color:#0000}.admin-row .admin-status[data-status=inactive]{background:var(--admin-soft)}.admin-row-meta{margin-left:0}.admin-row-meta:before{content:none}.admin-row-attendance{grid-area:attendance;display:flex}}@container admin-main (width>=760px){.admin-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@container admin-main (width>=1000px){.admin-grid-wide{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.admin-detail-grid,.admin-template{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.admin-toolbar{grid-template-columns:minmax(0,1fr) repeat(4,auto)}.admin .admin-filter-button{display:none}.admin-filters,.admin-filters[data-open=true]{display:contents}.admin-filters label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-row{grid-template-columns:var(--space-8) minmax(0, 1fr) var(--admin-status-width) var(--admin-col-width) var(--admin-col-width) auto;grid-template-areas:"avatar name status attendance activity action""avatar meta status attendance activity action"}.admin-row-activity{grid-area:activity;display:block}}@container admin-card (width>=540px){.admin-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-journey{grid-auto-rows:auto;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.admin-journey>li{justify-items:center;row-gap:var(--space-1);padding:0 var(--space-1);text-align:center;grid-template-columns:minmax(0,1fr)}.admin-journey-dot{grid-row:auto}.admin-journey>li+li:before{top:calc(var(--journey-dot) / 2 - 1px);width:100%;height:2px;left:-50%}}@media (prefers-reduced-motion:no-preference){.admin-dialog[open]{animation:.26s cubic-bezier(.2,.7,.2,1) admin-sheet-in}.admin-dialog[open]::backdrop{animation:.2s ease-out admin-fade-in}.admin-menu:popover-open{animation:.12s ease-out admin-fade-in}.admin-toast{animation:.2s ease-out admin-rise-in}}@media (width>=540px) and (prefers-reduced-motion:no-preference){.admin-dialog[open]{animation-name:admin-rise-in;animation-duration:.2s}}@keyframes admin-sheet-in{0%{transform:translateY(var(--space-8));opacity:0}}@keyframes admin-rise-in{0%{transform:translateY(var(--space-2));opacity:0}}@keyframes admin-fade-in{0%{opacity:0}}
