:root{--font-display: "Sora", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg-deep: oklch(.115 .004 60);--bg: oklch(.16 .005 60);--surface: oklch(.2 .006 60);--surface-sunken: oklch(.18 .006 60);--surface-hover: oklch(.24 .007 60);--border: oklch(.32 .008 75 / 65%);--border-strong: oklch(.4 .01 80);--border-accent: color-mix(in srgb, var(--accent) 30%, transparent);--text: oklch(.96 .01 85);--muted: oklch(.72 .015 80);--muted-2: oklch(.62 .012 80);--accent: oklch(.76 .13 85);--accent-bright: oklch(.82 .12 88);--accent-hover: oklch(.8 .12 88);--accent-active: oklch(.7 .13 84);--accent-soft: oklch(.3 .03 85);--accent-contrast: oklch(.14 .005 60);--accent-glow: color-mix(in srgb, var(--accent) 30%, transparent);--danger: oklch(.66 .2 25);--danger-strong: oklch(.74 .18 25);--danger-soft: oklch(.28 .06 25);--success: oklch(.74 .14 155);--success-soft: oklch(.26 .04 155);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 8px 24px -12px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 60px -20px rgba(0, 0, 0, .7);--shadow-card: 0 0 0 1px rgba(255, 255, 255, .05), 0 2px 20px rgba(0, 0, 0, .45), 0 0 40px rgba(0, 0, 0, .25);--shadow-card-hover: 0 0 0 1px rgba(255, 255, 255, .1), 0 12px 44px rgba(0, 0, 0, .55), 0 0 70px var(--accent-glow);--shadow-cta: 0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent), 0 6px 20px -4px color-mix(in srgb, var(--accent) 35%, transparent), inset 0 1px 0 0 rgba(255, 255, 255, .22);--ease-expo: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:radial-gradient(ellipse 130% 90% at 50% -10%,oklch(.24 .01 70) 0%,var(--bg) 46%,var(--bg-deep) 100%);background-repeat:no-repeat;background-attachment:fixed;color:var(--text)}h1{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px}h2{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}p{line-height:1.5}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-screen,.event-form-screen{max-width:440px;margin:8vh auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:10px}.login-brand-word{width:120px;height:auto;color:var(--accent);flex-shrink:0}.login-brand h1{margin:0}.events-screen{max-width:620px;margin:8vh auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.photos-screen{max-width:960px;margin:5vh auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.login-screen form,.event-form-screen form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.login-screen label,.event-form-screen label,.moderators-section label,.promotion-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--muted)}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}input,select{font:inherit;font-size:15px;color:var(--text);caret-color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;transition:border-color .12s ease}input::placeholder{color:var(--muted-2)}input:hover,select:hover{border-color:var(--border-strong)}input:focus-visible,select:focus-visible{border-color:var(--accent)}input:disabled,select:disabled{background:var(--surface-sunken);color:var(--muted-2);cursor:not-allowed}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}input[type=color]{width:64px;height:40px;padding:4px;cursor:pointer}input[type=file]{border:none;padding:4px 0;font-size:14px}input[type=file]::file-selector-button{font:inherit;font-size:13px;font-weight:500;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;margin-right:12px;cursor:pointer;transition:background .12s ease,border-color .12s ease}input[type=file]::file-selector-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.field-hint{font-size:12px;color:var(--muted-2);margin:-6px 0 0}button{font:inherit;font-size:15px;font-weight:500;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 16px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}button:active:not(:disabled){background:var(--surface-hover)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.btn-danger{color:var(--danger-strong);background:var(--surface);border-color:var(--border)}.btn-danger:hover:not(:disabled){color:#fff;background:var(--danger-strong);border-color:var(--danger-strong)}.btn-link{border:none;background:none;padding:4px 0;color:var(--accent);font-weight:500;text-align:left}.btn-link:hover:not(:disabled){background:none;text-decoration:underline}.btn-icon{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-block{display:block;width:100%}.btn-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;padding:8px 12px;font-size:14px;color:var(--muted);background:transparent;border-color:transparent}.btn-back:hover:not(:disabled){color:var(--text);background:var(--surface-hover);border-color:var(--border)}.btn-file{display:inline-flex;align-items:center;font-size:13px;font-weight:500;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 14px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn-file:hover{background:var(--surface-hover);border-color:var(--border-strong)}.error{color:var(--danger-strong);font-size:14px}.success{color:var(--success);font-size:14px}.role-badge{display:inline-block;color:var(--muted-2);font-size:12px;font-weight:500;background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px;padding:4px 12px;margin:0;white-space:nowrap}.events-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px}.events-header h1{margin:0}.events-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 4px}.events-toolbar .btn-primary{flex-shrink:0}.center-msg{text-align:center;margin-top:20vh;color:var(--muted)}ul{list-style:none;padding:0;margin:16px 0 0}.event-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;text-decoration:none;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;font-weight:400;transition:border-color .12s ease,box-shadow .12s ease}.event-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.event-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.event-row-name{font-weight:600;font-size:15px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-code{color:var(--muted-2);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.04em}.event-tabs{display:flex;gap:8px;margin:18px 0 16px;padding-bottom:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.event-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;font-size:13.5px;font-weight:500;color:var(--muted);background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .14s var(--ease-expo),background .14s var(--ease-expo),border-color .14s var(--ease-expo)}.event-tab:hover:not(.active){color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.event-tab.active{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.event-tab-count{font-size:12px;font-weight:600;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--muted) 24%,transparent);color:inherit}.event-tab.active .event-tab-count{background:color-mix(in srgb,var(--accent-contrast) 18%,transparent)}.status-badge{flex-shrink:0;display:inline-flex;align-items:center;font-size:12px;font-weight:600;letter-spacing:.01em;padding:4px 11px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.status-draft{color:var(--muted);background:var(--surface-sunken);border-color:var(--border)}.status-live{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent);border-color:color-mix(in srgb,var(--success) 42%,transparent)}.status-live:before{content:"";width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--success)}.status-pending_reveal{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 42%,transparent)}.status-revealed{color:#6dbbe8;background:color-mix(in srgb,oklch(.76 .1 235) 15%,transparent);border-color:color-mix(in srgb,oklch(.76 .1 235) 42%,transparent)}.status-archived{color:var(--muted-2);background:transparent;border-color:var(--border);opacity:.85}.events-empty{color:var(--muted);margin:8px 0}.form-actions{display:flex;gap:8px}.form-actions input{flex:1;min-width:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.qr-section{display:flex;flex-direction:column;align-items:center;gap:10px;margin:20px 0;padding:20px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius)}.qr-section canvas{background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);max-width:100%;height:auto}.guest-url{font-size:13px;color:var(--muted-2);word-break:break-all;text-align:center}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:16px}.photo-grid a{display:block;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);transition:box-shadow .12s ease,transform .08s ease}.photo-grid a:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.photo-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:4px}.mod-photo{margin:0;display:flex;flex-direction:column;gap:6px}.mod-photo-img{position:relative;display:block;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);transition:opacity .15s ease,filter .15s ease}.mod-photo-img img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.mod-photo.is-hidden .mod-photo-img img{opacity:.4;filter:grayscale(.6)}.mod-photo-badge{position:absolute;top:8px;left:8px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:color-mix(in srgb,var(--danger) 78%,black 10%);padding:3px 8px;border-radius:999px}.mod-photo-btn{width:100%;padding:7px 10px;font-size:13px;font-weight:600;color:var(--danger-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.mod-photo-btn:hover:not(:disabled){color:#fff;background:var(--danger-strong);border-color:var(--danger-strong)}.mod-photo-btn.restore{color:var(--success)}.mod-photo-btn.restore:hover:not(:disabled){color:var(--accent-contrast);background:var(--success);border-color:var(--success)}.mod-photo-btn:disabled{opacity:.6;cursor:not-allowed}.mod-photo-actions{display:flex;gap:6px}.mod-photo-actions .mod-photo-btn{width:auto;flex:1}.mod-photo-btn.danger{color:#fff;background:var(--danger-strong);border-color:var(--danger-strong)}.mod-photo-btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger-strong) 82%,black)}.mod-photo-badge.req{background:color-mix(in srgb,var(--accent) 82%,black 8%);top:auto;bottom:8px}.mod-photo.is-requested{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.event-tab.has-alert .event-tab-count{background:var(--danger-strong);color:#fff}.consent-fieldset,.festival-fieldset{margin:4px 0 8px;padding:14px 16px 6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken)}.consent-fieldset legend,.festival-fieldset legend{padding:0 8px;font-weight:600;font-size:14px}.consent-lock-note{margin-top:0}.consent-readonly{margin-top:20px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken)}.consent-readonly h2{margin:0 0 4px;font-size:15px}.consent-readonly p{margin:4px 0;font-size:13.5px}.readonly-detail{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:16px 0}.readonly-detail p{margin:4px 0;color:var(--muted)}.logo-section,.promotions-section,.moderators-section{margin-top:28px;border-top:1px solid var(--border);padding-top:20px}.logo-section{display:flex;flex-direction:column;gap:12px}.logo-preview{max-width:160px;max-height:160px;object-fit:contain;border-radius:var(--radius);background:var(--surface-sunken);border:1px solid var(--border);padding:8px}.moderators-section form{display:flex;flex-direction:column;gap:12px;margin-top:12px}.moderators-section ul li{padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.promotions-list{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:8px}.promotion-item{display:flex;align-items:center;gap:12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.promotion-image{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.promotion-info{flex:1;min-width:0}.promotion-info p{margin:2px 0;color:var(--muted-2);font-size:13px}.promotion-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.promotion-form{display:flex;flex-direction:column;gap:12px;margin-top:16px}@media (max-width: 640px){.login-screen,.event-form-screen,.events-screen,.photos-screen{margin:4vh 12px;padding:20px}h1{font-size:20px}.promotion-item{flex-wrap:wrap}.promotion-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.dash{display:flex;min-height:100vh}.dash-sidebar{width:244px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:22px 16px;background:var(--surface);border-right:1px solid var(--border);position:sticky;top:0;height:100vh}.dash-brand{display:flex;flex-direction:column;gap:3px;padding:6px 8px 16px}.dash-brand-word{width:108px;height:auto;color:var(--accent)}.dash-brand-tag{font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em}.dash-nav{display:flex;flex-direction:column;gap:2px}.dash-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--muted);font-weight:500;font-size:14px;text-decoration:none;transition:background .12s ease,color .12s ease}.dash-nav a:hover{background:var(--surface-hover);color:var(--text)}.dash-nav a.active{background:var(--accent-soft);color:var(--text)}.dash-nav-icon{width:18px;text-align:center;opacity:.85}.dash-sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.dash-account{display:flex;flex-direction:column;gap:2px;padding:0 4px;min-width:0}.dash-account-email{font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-account-role{font-size:11px;color:var(--muted-2)}.dash-main{flex:1;min-width:0;padding:32px;overflow-x:hidden}.dash-topbar,.dash-backdrop{display:none}.page-head{margin-bottom:2px}.page-sub{margin:3px 0 0;color:var(--muted-2);font-size:14px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:22px}.dash-card{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);transition:border-color .12s ease,transform .08s ease,box-shadow .12s ease}.dash-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.dash-card-icon{font-size:22px;color:var(--accent);margin-bottom:2px}.dash-card h2{margin:2px 0 0}.dash-card p{margin:0;color:var(--muted-2);font-size:13px}.report-list{list-style:none;padding:0;margin:16px 0 0}.dash-main :is(.events-screen,.event-form-screen,.photos-screen){margin:0 auto}.dash-main :is(.overview-screen,.reports-screen){max-width:920px;margin:0 auto}@media (max-width: 860px){.dash{flex-direction:column}.dash-topbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.dash-hamburger{padding:6px 10px;font-size:18px;background:transparent;border-color:transparent}.dash-sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.dash-sidebar.open{transform:translate(0)}.dash-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0000008c}.dash-main{padding:18px 14px}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:20px}.kpi-tile{padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.kpi-label{font-size:12px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em}.kpi-value{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:6px;line-height:1}.kpi-value.accent{color:var(--accent)}.stat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.stat-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--surface-sunken);border:1px solid var(--border);font-size:12.5px;color:var(--muted)}.stat-chip b{color:var(--text);font-weight:600}.overview-section{margin-top:28px}.overview-section>h2{margin-bottom:12px}.reveal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.reveal-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.reveal-item a{color:var(--text);text-decoration:none}.reveal-item a:hover{text-decoration:underline}.reveal-when{color:var(--accent);font-size:13px;white-space:nowrap}.report-section{margin-top:26px}.report-section>h2{margin-bottom:12px}.chart-empty{color:var(--muted-2);font-size:14px;margin:0}.chart-scroll{overflow-x:auto;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.chart-svg{display:block;max-width:100%;height:auto}.chart-bar{fill:var(--accent)}.chart-val{fill:var(--text);font-size:12px;font-weight:600}.chart-axis{fill:var(--muted-2);font-size:11px}.hbars{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.hbar-row{display:grid;grid-template-columns:minmax(80px,140px) 1fr auto;align-items:center;gap:12px}.hbar-label{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{height:12px;background:var(--surface-sunken);border-radius:999px;overflow:hidden}.hbar-fill{display:block;height:100%;background:var(--accent);border-radius:999px;min-width:3px}.hbar-value{font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.dash-main .report-detail{max-width:760px}.camera-mode-field{display:flex;flex-direction:column;gap:8px}.field-title{font-size:14px;font-weight:500;color:var(--muted)}.camera-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.camera-mode-opt{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px;background:var(--surface-sunken);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .12s ease,background .12s ease}.camera-mode-opt:hover{border-color:var(--border-strong)}.camera-mode-opt.selected{border-color:var(--accent);background:var(--accent-soft)}.camera-mode-opt input[type=radio]{position:absolute;opacity:0;pointer-events:none}.cmo-title{font-size:14px;font-weight:600;color:var(--text)}.cmo-desc{font-size:12px;line-height:1.4;color:var(--muted-2)}@media (max-width: 520px){.camera-mode-options{grid-template-columns:1fr}}textarea{font:inherit;font-size:15px;color:var(--text);caret-color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;resize:vertical;min-height:64px;line-height:1.5;transition:border-color .12s ease}textarea::placeholder{color:var(--muted-2)}textarea:hover{border-color:var(--border-strong)}textarea:focus-visible{border-color:var(--accent)}.danger-zone{margin-top:28px;padding:18px;border:1px solid var(--danger-soft);border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 6%,transparent)}.danger-zone>h2{margin-bottom:8px;color:var(--danger-strong)}.danger-zone-desc{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}.danger-zone code{font-family:var(--font-mono);font-size:13px;background:var(--surface-sunken);border:1px solid var(--border);padding:1px 7px;border-radius:6px;color:var(--text)}.danger-confirm-input{width:100%;margin:0 0 12px;font-family:var(--font-mono);letter-spacing:.08em}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.ambient-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,#fff 1px,transparent 1px),linear-gradient(to bottom,#fff 1px,transparent 1px);background-size:64px 64px;opacity:.022;-webkit-mask-image:radial-gradient(ellipse 85% 65% at 50% 0%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 85% 65% at 50% 0%,#000 25%,transparent 78%)}.ambient-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.ambient-blob{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}.ambient-blob-1{top:-22%;left:50%;width:min(620px,130vw);height:520px;transform:translate(-50%);background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 55%,transparent),transparent 70%);opacity:.5}.ambient-blob-2{bottom:-18%;left:-12%;width:min(460px,90vw);height:460px;background:radial-gradient(circle at center,oklch(.62 .11 55 / 42%),transparent 70%);opacity:.45}@media (prefers-reduced-motion: no-preference){.ambient-blob-1{animation:ambient-float-a 12s ease-in-out infinite}.ambient-blob-2{animation:ambient-float-b 15s ease-in-out infinite}}@keyframes ambient-float-a{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(28px)}}@keyframes ambient-float-b{0%,to{transform:translate(0)}50%{transform:translate(26px,-22px)}}@supports ((background-clip: text) or (-webkit-background-clip: text)){h1{background:linear-gradient(180deg,#fff,#fffffff0 42%,#ffffffa8);-webkit-background-clip:text;background-clip:text;color:transparent}}.btn-primary{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border-color:transparent;box-shadow:var(--shadow-cta);transition:transform .14s var(--ease-expo),box-shadow .24s var(--ease-expo),filter .24s var(--ease-expo)}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.32) 50%,transparent 66%);transform:translate(-130%);transition:transform .7s var(--ease-expo);pointer-events:none}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--accent-bright),var(--accent));filter:brightness(1.05);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent),0 10px 30px -6px color-mix(in srgb,var(--accent) 45%,transparent),inset 0 1px #ffffff47}.btn-primary:hover:not(:disabled):after{transform:translate(130%)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{box-shadow:none;filter:none}input,select,textarea{background:var(--surface-hover);border-color:var(--border-strong);transition:border-color .18s var(--ease-expo),box-shadow .18s var(--ease-expo)}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);outline:none}.login-screen,.event-form-screen,.events-screen,.photos-screen,.kpi-tile,.reveal-item{background:linear-gradient(180deg,#ffffff0f,#ffffff05),var(--surface);box-shadow:var(--shadow-card)}.dash-card,.event-row{background:linear-gradient(180deg,#ffffff0f,#ffffff05),var(--surface);box-shadow:var(--shadow-card);transition:transform .24s var(--ease-expo),box-shadow .24s var(--ease-expo),border-color .24s var(--ease-expo)}.dash-card:hover,.event-row:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.dash-card:active,.event-row:active{transform:translateY(-1px) scale(.995)}.photo-grid a{transition:transform .2s var(--ease-expo),box-shadow .2s var(--ease-expo),border-color .2s var(--ease-expo)}.photo-grid a:hover{transform:translateY(-3px);border-color:var(--border-accent);box-shadow:0 0 0 1px var(--border-accent),0 6px 22px -8px color-mix(in srgb,var(--accent) 40%,transparent)}.dash-sidebar{background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(1.3) blur(14px);backdrop-filter:saturate(1.3) blur(14px)}.dash-topbar{background:color-mix(in srgb,var(--surface) 78%,transparent);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px)}@media (prefers-reduced-motion: no-preference){.login-screen,.event-form-screen,.events-screen,.photos-screen,.overview-screen,.reports-screen{animation:rise-in .5s var(--ease-expo) both}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.qrgen-grid{display:grid;grid-template-columns:380px 1fr;gap:28px;align-items:start}.qrgen-fs{border:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:12px}.qrgen-fs legend{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;padding:0;margin-bottom:4px;width:100%;display:flex;align-items:center;gap:9px}.qrgen-fs legend:after{content:"";flex:1;height:1px;background:var(--border)}.qrgen-controls label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.qrgen-controls textarea{font:inherit;font-size:14px;color:var(--text);caret-color:var(--accent);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;resize:vertical;line-height:1.5}.qrgen-controls textarea:focus-visible{outline:none;border-color:var(--accent)}.qrgen .field-label{font-size:13px;color:var(--muted);display:block;margin-bottom:8px}.qrgen-logo-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.qrgen-logo-thumb{width:40px;height:40px;border-radius:7px;object-fit:contain;background:#fff;border:1px solid var(--border-strong);padding:3px}.qrgen-seg{display:flex;gap:6px}.qrgen-seg button{flex:1;font:inherit;font-size:13px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 0;cursor:pointer;transition:all .14s var(--ease-expo)}.qrgen-seg button[aria-pressed=true]{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent);font-weight:600}.qrgen-stage{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(70% 60% at 50% 20%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 60%),var(--surface-sunken);padding:44px 24px 28px;min-height:60vh;display:flex;justify-content:center;align-items:flex-start;overflow:auto}.qrgen-stage-label{position:absolute;top:15px;left:50%;transform:translate(-50%);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2, var(--muted))}.qr-scaler{transform-origin:top center}.qrcard{--cw: 105mm;--ch: 148mm;--c-bg: linear-gradient(165deg, #16130c 0%, #100e09 55%, #0a0906 100%);--c-text: #f4ecda;--c-muted: #b7aa84;--c-gold: #d3b158;--c-line: rgba(226, 205, 143, .22);--c-qrbg: #ffffff;width:var(--cw);height:var(--ch);background:var(--c-bg);color:var(--c-text);position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 40px 90px -30px #000c,0 0 0 1px #0006}.qrcard.ivory{--c-bg: radial-gradient(120% 90% at 50% 0%, #fbf7ee 0%, #f4eee0 60%, #ece3d0 100%);--c-text: #211d15;--c-muted: #6f6552;--c-gold: #9a7a2c;--c-line: rgba(120, 96, 40, .24);box-shadow:0 40px 90px -30px #3c2d0a59,0 0 0 1px #7860282e}.qrcard:before{content:"";position:absolute;top:-38%;right:-30%;width:78%;aspect-ratio:1;border-radius:50%;border:1.5px solid var(--c-line);box-shadow:0 0 0 14px color-mix(in srgb,var(--c-gold) 5%,transparent);opacity:.6;pointer-events:none}.qrcard-inner{position:relative;flex:1;display:flex;flex-direction:column;padding:9mm 9mm 8mm;text-align:center}.qrcard-cobrand{display:flex;align-items:center;justify-content:center;gap:4mm;min-height:12mm}.qrcard-wm{height:8.6mm;width:15.5mm;color:var(--c-gold)}.qrcard-x{width:1px;height:8mm;background:var(--c-line)}.qrcard-cobrand.solo .qrcard-x{display:none}.qrcard-vendor-logo{max-height:12mm;max-width:34mm;object-fit:contain}.qrcard-vendor-name{font-size:4.4mm;font-weight:600;color:var(--c-text)}.qrcard-event{margin-top:6mm;font-size:3.1mm;letter-spacing:.28em;text-transform:uppercase;color:var(--c-gold);font-weight:600}.qrcard-headline{margin:2.4mm 0 0;font-size:8.6mm;line-height:1.04;font-weight:700;letter-spacing:-.01em;text-wrap:balance;color:var(--c-text);font-family:var(--font-display)}.qrcard-desc{margin:3.2mm auto 0;max-width:74mm;font-size:3.35mm;line-height:1.5;color:var(--c-muted)}.qrcard-qrwrap{margin-top:auto;padding-top:3mm;display:flex;flex-direction:column;align-items:center}.qrcard-tile{width:40mm;height:40mm;padding:2.6mm;border-radius:3mm;background:var(--c-qrbg);box-shadow:0 0 0 1px var(--c-line),0 6mm 14mm -6mm #00000080}.qrcard-tile svg{width:100%;height:100%;display:block}.qrcard-cta{margin-top:3.4mm;font-size:3.4mm;font-weight:600;color:var(--c-text);display:inline-flex;align-items:center;gap:2mm}.qrcard-cta b{color:var(--c-gold)}.qrcard-divider{margin:4mm 0 3mm;height:1px;background:var(--c-line)}.qrcard-foot{display:flex;flex-direction:column;gap:1.6mm}.qrcard-contact{font-size:3mm;color:var(--c-muted);display:flex;align-items:center;justify-content:center;gap:2.4mm;flex-wrap:wrap}.qrcard-contact-item{display:inline-flex;align-items:center;gap:2.4mm}.qrcard-contact .strong{color:var(--c-text);font-weight:600}.qrcard-dot{width:3px;height:3px;border-radius:50%;background:var(--c-gold);opacity:.7}.qrcard-powered{font-size:2.5mm;letter-spacing:.22em;text-transform:uppercase;color:var(--c-muted);opacity:.8}.qrcard-chapter-logo{height:15mm;width:auto;max-width:40mm;object-fit:contain}.qrcard-x-gold{width:1.4px;height:12mm;background:linear-gradient(to bottom,transparent,var(--c-gold) 18%,var(--c-gold) 82%,transparent);transform:rotate(13deg);box-shadow:0 0 5px color-mix(in srgb,var(--c-gold) 55%,transparent);border-radius:2px}.qrcard,.qrcard *{-webkit-print-color-adjust:exact;print-color-adjust:exact}@media (max-width: 900px){.qrgen-grid{grid-template-columns:1fr}}@media print{.dash-sidebar,.dash-topbar,.dash-backdrop,.qrgen .page-head,.qrgen-controls,.qrgen-stage-label{display:none!important}.dash,.dash-main,.qrgen,.qrgen-grid,.qrgen-stage{display:block!important;margin:0!important;padding:0!important;border:none!important;background:none!important;overflow:visible!important;min-height:0!important}.qr-scaler{transform:none!important}.qrcard{box-shadow:none!important}}.mod-photo-likes{position:absolute;bottom:8px;right:8px;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#fff;background:color-mix(in srgb,#fb7185 82%,black 10%);padding:3px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.winner-card{display:flex;gap:16px;align-items:center;margin:4px 0 18px;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface));border:1px solid var(--border-accent);border-radius:var(--radius-lg);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),var(--shadow-sm)}.winner-media{position:relative;flex-shrink:0;width:104px;height:104px;border-radius:var(--radius);overflow:hidden;border:2px solid var(--accent);box-shadow:0 6px 18px -8px var(--accent-glow)}.winner-media img{width:100%;height:100%;object-fit:cover;display:block}.winner-crown{position:absolute;top:5px;left:5px;font-size:18px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.winner-info{display:flex;flex-direction:column;gap:3px;min-width:0}.winner-eyebrow{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.winner-name{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis}.winner-likes{font-size:14px;font-weight:600;color:#fb7185;font-variant-numeric:tabular-nums}.winner-hint{margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--muted)}.mod-photo.is-winner .mod-photo-img{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 6px 18px -8px var(--accent-glow)}.mod-photo-crown{position:absolute;top:7px;right:7px;font-size:16px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.mod-photo-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.mod-photo-ips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.mod-ip{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;padding:1px 5px}.mod-ip.dup{color:#fff;background:color-mix(in srgb,var(--danger) 78%,black 10%);border-color:var(--danger);font-weight:700}.venue-section{margin-top:28px;border-top:1px solid var(--border);padding-top:20px;display:flex;flex-direction:column;gap:12px}.venues-screen{max-width:760px}.venues-screen>.muted{margin:4px 0 20px;max-width:62ch;line-height:1.5}.venue-create{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:28px}.venue-create small{display:block;margin-top:4px;font-size:12px}.venue-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.venue-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.venue-card-info{display:flex;flex-direction:column;gap:8px;min-width:0}.venue-card-info h2{margin:0;font-size:18px}.venue-url{color:var(--accent);font-size:14px;word-break:break-all}.venue-card-qr{flex-shrink:0;background:#fff;padding:8px;border-radius:var(--radius);line-height:0}.btn-copy{align-self:flex-start;font-size:13px;padding:6px 12px}@media (max-width: 560px){.venue-card{flex-direction:column-reverse;align-items:stretch}.venue-card-qr{align-self:center}}.qrcard.wedding{--c-bg: radial-gradient(125% 100% at 50% 0%, #fffdf8 0%, #faf5ec 55%, #f2ebde 100%);--c-text: #3a352c;--c-muted: #857c69;--c-gold: #b0894a;--c-sage: #9aa982;--c-line: rgba(176, 137, 74, .3);--c-qrbg: #ffffff;box-shadow:0 40px 90px -30px #5a461e47,0 0 0 1px #b0894a29}.qrcard.wedding:before{display:none}.qrcard.wedding:after{content:"";position:absolute;top:5mm;right:5mm;bottom:5mm;left:5mm;border:.4mm solid var(--c-line);pointer-events:none}.qrcard-inner.wed{padding:8mm 11mm 6mm;text-align:center}.wed-corner{position:absolute;width:12mm;color:var(--c-sage);opacity:.5;line-height:0}.wed-corner svg{width:100%;height:auto;display:block}.wed-corner.tl{top:5mm;left:5mm;transform:rotate(135deg)}.wed-corner.tr{top:5mm;right:5mm;transform:rotate(-135deg)}.wed-corner.bl{bottom:5mm;left:5mm;transform:rotate(45deg)}.wed-corner.br{bottom:5mm;right:5mm;transform:rotate(-45deg)}.wed-eyebrow{margin-top:3.5mm;font-family:Cormorant Garamond,Georgia,serif;font-size:3.2mm;letter-spacing:.42em;text-transform:uppercase;color:var(--c-gold);font-weight:600}.wed-names{display:flex;flex-direction:column;align-items:center;margin-top:2mm}.wed-name{font-family:Great Vibes,Cormorant Garamond,cursive;font-size:12.5mm;line-height:1.16;color:var(--c-text)}.wed-amp{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:5.6mm;color:var(--c-gold);line-height:1;margin:.4mm 0}.wed-sprigdiv{display:flex;align-items:center;justify-content:center;gap:3.5mm;margin-top:2.5mm;color:var(--c-sage)}.wed-div-leaf{width:5mm;height:auto;opacity:.85;display:block}.wed-div-leaf.left{transform:rotate(90deg)}.wed-div-leaf.right{transform:rotate(-90deg)}.wed-diamond{width:2.2mm;height:2.2mm;background:var(--c-gold);transform:rotate(45deg);flex:none}.wed-meta{display:flex;align-items:center;justify-content:center;gap:3mm;margin-top:2.5mm;font-family:Cormorant Garamond,Georgia,serif;font-size:3.8mm;letter-spacing:.06em;color:var(--c-text)}.wed-meta-sep{width:1.5mm;height:1.5mm;background:var(--c-gold);transform:rotate(45deg);opacity:.8;flex:none}.wed-desc{margin:2.5mm auto 0;max-width:80mm;font-family:Cormorant Garamond,Georgia,serif;font-size:3.3mm;line-height:1.4;color:var(--c-muted)}.wed-qrwrap{margin-top:auto;padding-top:1.5mm;display:flex;flex-direction:column;align-items:center}.qrcard-tile.wed{width:31mm;height:31mm;box-shadow:0 0 0 .4mm var(--c-line),0 5mm 12mm -6mm #5a461e66}.wed-cta{margin-top:2.5mm;font-family:Cormorant Garamond,Georgia,serif;font-size:3.7mm;letter-spacing:.16em;text-transform:uppercase;color:var(--c-text)}.wed-cta b{color:var(--c-gold);font-weight:600}.wed-foot{margin-top:3mm;font-family:Cormorant Garamond,Georgia,serif;font-size:2.8mm;letter-spacing:.2em;text-transform:uppercase;color:var(--c-muted);opacity:.85}.qrgen-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qrcard.wedding.wed-pal-sage{--c-sage: #9aa982;--c-gold: #b0894a}.qrcard.wedding.wed-pal-blush{--c-bg: radial-gradient(125% 100% at 50% 0%, #fffcfa 0%, #faeae5 55%, #f1d9d1 100%);--c-sage: #c5847f;--c-gold: #b5765f;--c-line: rgba(181, 118, 95, .32)}.qrcard.wedding.wed-pal-lavender{--c-bg: radial-gradient(125% 100% at 50% 0%, #fffdfe 0%, #f3eef8 55%, #e6ddef 100%);--c-sage: #a495c1;--c-gold: #a2884f;--c-line: rgba(150, 128, 88, .3)}.qrcard.wedding.wed-pal-gold{--c-sage: #c0a878;--c-gold: #a9803a;--c-line: rgba(169, 128, 58, .3)}.wed-size-s .wed-name{font-size:11mm}.wed-size-s .wed-amp{font-size:5.2mm}.wed-size-m .wed-name{font-size:12.5mm}.wed-size-m .wed-amp{font-size:5.6mm}.wed-size-l .wed-name{font-size:13.5mm}.wed-size-l .wed-amp{font-size:6mm}.wed-monogram{align-self:center;margin-top:2mm;width:12mm;height:12mm;border:.35mm solid var(--c-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:1mm;font-family:Cormorant Garamond,Georgia,serif;font-size:4.4mm;color:var(--c-text);letter-spacing:.02em}.wed-mono-amp{color:var(--c-gold);font-style:italic;font-size:2.9mm}.qrgen-controls label.qrgen-check{flex-direction:row;align-items:center;gap:8px;color:var(--text)}.qrgen-check input[type=checkbox]{width:auto;flex:none;accent-color:var(--accent);cursor:pointer}.host-search{width:100%;max-width:340px;margin-bottom:16px;font:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;caret-color:var(--accent)}.host-search:focus-visible{outline:none;border-color:var(--accent)}.event-row.host-row{cursor:default}.event-row.host-row:hover{border-color:var(--border);box-shadow:none}.host-roles{display:inline-flex;gap:6px;flex-wrap:wrap;margin-top:4px}.host-role{font-size:11px;font-weight:600;letter-spacing:.02em;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--surface-sunken)}.host-role.role-host{color:var(--accent);border-color:var(--border-accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.host-role.role-superadmin{color:#cbaef2;border-color:#b496eb66;background:#966edc24}.host-role.role-unconfirmed{color:#e3a748;border-color:#e0a34166;background:#e0a3411f}.host-events{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.wed-shape-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0}.qrcard-inner.wed{position:relative;z-index:1}.qrcard.wedding.wed-shape-oval,.qrcard.wedding.wed-shape-circle,.qrcard.wedding.wed-shape-heart{background:transparent;box-shadow:none}.qrcard.wedding.wed-shape-oval:after,.qrcard.wedding.wed-shape-circle:after,.qrcard.wedding.wed-shape-heart:after{display:none}.qrcard.wedding.wed-shape-oval .wed-corner,.qrcard.wedding.wed-shape-circle .wed-corner,.qrcard.wedding.wed-shape-heart .wed-corner{display:none}.wed-shape-oval .qrcard-inner.wed,.wed-shape-circle .qrcard-inner.wed,.wed-shape-heart .qrcard-inner.wed{justify-content:center}.wed-shape-circle .qrcard-inner.wed{padding:22mm 21mm}.wed-shape-oval .qrcard-inner.wed{padding:27mm 19mm}.wed-shape-heart .qrcard-inner.wed{padding:31mm 21mm 25mm}.wed-shape-oval .wed-qrwrap,.wed-shape-circle .wed-qrwrap,.wed-shape-heart .wed-qrwrap{margin-top:3mm;padding-top:2mm}.qrcard.wedding.wed-pal-olive{--c-bg: radial-gradient(125% 100% at 50% 0%, #f8f3e9 0%, #f2ece0 55%, #ece4d5 100%);--c-text: #26402b;--c-muted: #465737;--c-gold: #a9863f;--c-sage: #6f7d55;--c-line: rgba(169, 134, 63, .6)}.qrcard-inner.wed.wed-invite{justify-content:center;gap:0;padding:25mm 15mm 14mm;text-align:center}.wed-invite .qrcard-tile.wed{width:27mm;height:27mm}.wed-shape-oval .qrcard-inner.wed-invite,.wed-shape-circle .qrcard-inner.wed-invite{clip-path:ellipse(50% 50%)}.wed-invite .floral{position:absolute;width:30mm;color:var(--c-sage);opacity:.92;line-height:0}.wed-invite .floral svg{width:100%;height:auto;display:block}.wed-invite .floral.tl{top:0;right:50%;transform-origin:right top}.wed-invite .floral.tr{top:0;left:50%;transform:scaleX(-1);transform-origin:left top}.wed-invite .floral.bl{bottom:0;right:50%;transform:scaleY(-1);transform-origin:right bottom}.wed-invite .floral.br{bottom:0;left:50%;transform:scale(-1);transform-origin:left bottom}.wed-shape-oval .wed-invite .floral.bl,.wed-shape-oval .wed-invite .floral.br,.wed-shape-circle .wed-invite .floral.bl,.wed-shape-circle .wed-invite .floral.br{display:none}.wed-shape-rectangle .wed-invite .floral.tl{top:-3mm;left:-3mm;right:auto;width:46mm}.wed-shape-rectangle .wed-invite .floral.tr{top:1mm;right:-2mm;left:auto;width:30mm}.wed-shape-rectangle .wed-invite .floral.bl{bottom:1mm;left:-2mm;right:auto;width:32mm}.wed-shape-rectangle .wed-invite .floral.br{bottom:-3mm;right:-3mm;left:auto;width:44mm}.inv-quote{margin:0 auto;max-width:66mm;font-family:Cormorant Garamond,Georgia,serif;font-size:3.1mm;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--c-text);font-weight:600}.inv-names{display:flex;align-items:center;justify-content:center;gap:3mm;flex-wrap:wrap;margin-top:2mm;max-width:90mm}.wed-invite .inv-names .wed-name{font-family:Great Vibes,Cormorant Garamond,cursive;font-weight:400;font-size:14mm;line-height:1;color:var(--c-text)}.inv-join{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:6mm;color:var(--c-text)}.inv-line{margin:2.5mm auto 0;max-width:70mm;font-family:Cormorant Garamond,Georgia,serif;font-size:3.05mm;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text);font-weight:600}.inv-daterow{display:flex;align-items:center;justify-content:center;gap:4mm;margin-top:3mm}.inv-dow,.inv-month{display:inline-flex;align-items:center;gap:2.5mm;font-family:Cormorant Garamond,Georgia,serif;font-size:3.4mm;letter-spacing:.22em;text-transform:uppercase;color:var(--c-text);font-weight:600}.inv-dow:before,.inv-dow:after,.inv-month:before,.inv-month:after{content:"";width:5mm;height:.3mm;background:var(--c-gold);flex:none}.inv-day{display:flex;flex-direction:column;align-items:center;line-height:1}.inv-day-num{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:12mm;color:var(--c-text)}.inv-year{font-family:Cormorant Garamond,Georgia,serif;font-size:3.4mm;font-weight:500;letter-spacing:.14em;color:var(--c-text);margin-top:.6mm}.wed-invite .wed-qrwrap{margin-top:3mm;padding-top:0}.wed-invite .wed-foot{margin-top:2.5mm}.inv-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.inv-garland{position:absolute;top:0;left:50%;transform:translate(-50%);width:70mm;height:auto;z-index:2}.inv-heartdiv{display:flex;align-items:center;justify-content:center;gap:3mm;margin-top:2.5mm}.inv-hd-line{width:11mm;height:.3mm;background:var(--c-gold);flex:none}.inv-hd-heart{width:4.2mm;height:auto}.inv-heartdiv-bottom{margin-top:2.5mm}.wed-cta.inv-cta{margin-top:3mm;background:color-mix(in srgb,var(--c-gold) 26%,#f5edd9);color:var(--c-text);border-radius:999px;padding:2.6mm 7mm;display:inline-block;font-family:Cormorant Garamond,Georgia,serif;font-size:3.5mm;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.inv-qr-row{display:flex;align-items:center;justify-content:center;gap:3.5mm}.inv-rays{width:9mm;height:auto;flex:none}.wed-invite .wed-foot{color:var(--c-muted);opacity:1;font-weight:500}.wed-invite .inv-quote{font-weight:600;color:var(--c-text)}
