:root{--ink: #2b1e2f;--ink-2: #4b3d50;--muted: #6e6273;--paper: #f4f1f6;--surface: #ffffff;--line: #e2dbe6;--line-2: #cfc5d4;--wax: #9c2f3c;--act: #1f5a57;--act-2: #17443f;--gold: #b8893b;--yes: #2f7a54;--no: #a2423f;--maybe: #a67a1a;--wait: #7a7182;--display: "Bodoni Moda", "Didot", Georgia, serif;--ui: "Karla", system-ui, -apple-system, "Segoe UI", sans-serif;--r: 10px;--shadow: 0 1px 2px rgba(43, 30, 47, .06), 0 8px 24px -12px rgba(43, 30, 47, .18)}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--ui);color:var(--ink);background:var(--paper);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--act)}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;margin:0;letter-spacing:-.01em}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--act);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:13px}.block{display:block}.center{text-align:center;justify-content:center}.row{display:flex;align-items:center}.row.between{justify-content:space-between}.gap{gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:10px}.loading{padding:48px;text-align:center;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,transform .08s}.btn:hover{border-color:var(--ink-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--act);border-color:var(--act);color:#fff}.btn.primary:hover{background:var(--act-2)}.btn.quiet{border-color:transparent;background:transparent}.btn.quiet:hover{background:#2b1e2f0f}.btn.danger{color:var(--no)}.btn.danger:not(.quiet){border-color:#e3c1bf}.btn.sm{height:30px;padding:0 11px;font-size:13px;border-radius:7px}.btn.block{width:100%}label.btn{position:relative}.icon-btn{width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:transparent;cursor:pointer;display:inline-grid;place-items:center;font-size:16px;color:var(--ink-2)}.icon-btn:hover:not(:disabled){background:#2b1e2f12}.icon-btn:disabled{opacity:.3}.link-btn{background:none;border:0;padding:0;color:var(--act);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn.strong{color:var(--ink);font-weight:700;text-decoration:none;text-align:left}.link-btn.strong:hover{text-decoration:underline}.input{width:100%;min-height:38px;padding:8px 11px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface)}.input:focus{outline:2px solid color-mix(in srgb,var(--act) 40%,transparent);border-color:var(--act)}.input.sm{min-height:30px;padding:4px 8px;font-size:13px}textarea.input{resize:vertical;line-height:1.45}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label,.panel-label{font-size:13px;font-weight:700;color:var(--ink-2)}.panel-label{margin:18px 0 8px;display:block}.field-hint{font-size:12.5px;color:var(--muted)}.form-error{color:var(--no);font-weight:600;margin:0}.form-note{color:var(--act);margin:0}.toggle{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;padding:4px 0}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle-track{flex:none;width:36px;height:21px;border-radius:21px;background:var(--line-2);position:relative;transition:background .2s;margin-top:1px}.toggle-track span{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px #0003}.toggle input:checked+.toggle-track{background:var(--act)}.toggle input:checked+.toggle-track span{transform:translate(15px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--act);outline-offset:2px}.toggle-text{display:flex;flex-direction:column;font-size:14px}.toggle-text small{color:var(--muted);font-size:12.5px}.segmented{display:inline-flex;flex-wrap:wrap;background:#ebe5ee;border-radius:9px;padding:3px;gap:2px}.segmented button{border:0;background:transparent;padding:5px 11px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-2)}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #2b1e2f26}.color-input{display:inline-flex;align-items:center;gap:7px;cursor:pointer;position:relative;font-size:13px}.color-input input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.swatch{width:28px;height:28px;border-radius:7px;border:1px solid rgba(0,0,0,.15);box-shadow:inset 0 0 0 2px #fff}.range{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;margin:6px 0}.range .field-label{grid-column:1 / -1}.range input{width:100%;accent-color:var(--act)}.range output{font-size:12.5px;color:var(--muted);min-width:42px;text-align:right}.num{display:inline-flex;flex-direction:column;font-size:11.5px;color:var(--muted);gap:2px}.num input,.num select{width:66px;min-height:30px;border:1px solid var(--line-2);border-radius:7px;padding:3px 6px;font-size:13px;background:#fff}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12.5px;font-weight:600;background:#ece6ef;color:var(--ink-2);white-space:nowrap}.chip.yes{background:#e2f1e8;color:var(--yes)}.chip.no{background:#f6e3e2;color:var(--no)}.chip.maybe{background:#f6eedb;color:var(--maybe)}.chip.wait{background:#ece9ef;color:var(--wait)}.chip.st-published{background:#e2f1e8;color:var(--yes)}.chip.st-draft{background:#f3eadb;color:#85601a}.chip.st-archived{background:#e7e3ea;color:var(--muted)}.chips{display:flex;gap:6px;flex-wrap:wrap}.btnchip{border:1px solid transparent;cursor:pointer}.btnchip.on{background:var(--ink);color:#fff}.banner{background:#fbf3e2;border:1px solid #ecd8ac;color:#6e5114;padding:10px 14px;border-radius:9px;font-size:14px;margin:0 0 14px}.toasts{position:fixed;bottom:18px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:1000;pointer-events:none}.toast{background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;box-shadow:var(--shadow);animation:toast-in .25s ease-out}.toast.err{background:#7d2a2b}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.modal-back{position:fixed;inset:0;background:#1e142273;display:grid;place-items:center;z-index:500;padding:16px}.modal{background:var(--surface);border-radius:14px;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 30px 80px -20px #00000073}.modal.wide{width:min(920px,100%)}.modal header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 10px;position:sticky;top:0;background:var(--surface);z-index:1}.modal header h2{font-size:22px}.modal-body{padding:4px 22px 22px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;align-items:center}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#2b1e2f;display:grid;place-items:center;overflow:hidden;position:relative}.login-art:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 55%,#4a3350,transparent)}.login-env{position:relative;width:320px;height:220px;background:#cdbfd6;border-radius:6px;box-shadow:0 40px 80px -20px #0009;margin-top:140px}.login-env:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:120px;background:#d9cde0;clip-path:polygon(0 100%,50% 0,100% 100%)}.login-card{position:absolute;left:22px;right:22px;bottom:12px;height:196px;background:#fff;border-radius:4px;display:flex;flex-direction:column;align-items:center;padding-top:26px;font-family:var(--display);font-size:30px;line-height:1.05;color:var(--ink);box-shadow:0 -2px 10px #0000001a;animation:login-rise 2.4s cubic-bezier(.5,0,.2,1) .4s both}.login-card span:last-child{font-style:italic;color:var(--wax)}.login-pocket{position:absolute;inset:0;background:#efe9f3;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);border-radius:6px;box-shadow:inset 0 0 0 1px #0000000a}@keyframes login-rise{0%{transform:translateY(0)}to{transform:translateY(-150px)}}.login-form{align-self:center;justify-self:center;width:min(400px,100% - 40px);display:flex;flex-direction:column;gap:16px;padding:40px 0}.login-form h1{font-size:34px}.login-form .muted{margin:-6px 0 6px}.brand{display:inline-flex;align-items:center;gap:9px}.brand-word{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:.01em}.brand-link{color:var(--ink);text-decoration:none}.host-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:10px 22px;background:#f4f1f6eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.crumbs{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.crumb-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-user{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.save-badge{font-size:12.5px;color:var(--muted);white-space:nowrap}.save-badge.s-pending,.save-badge.s-saving{color:#85601a}.save-badge.s-error{color:var(--no);font-weight:700}.dash{max-width:1180px;margin:0 auto;padding:36px 24px 80px}.dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px}.dash-head h1{font-size:44px}.dash-sub{color:var(--muted);margin:6px 0 0;max-width:60ch}.dash-foot{margin-top:40px;color:var(--muted)}.event-group{margin-bottom:40px}.event-group h2{font-size:20px;font-family:var(--ui);font-weight:700;color:var(--ink-2);margin-bottom:14px}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.event-card{display:flex;flex-direction:column;background:var(--surface);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.event-thumb{position:relative;height:190px;overflow:hidden;display:flex;justify-content:center;align-items:flex-end}.thumb-card{position:relative;z-index:1;transform:translateY(40px) rotate(-3deg);box-shadow:0 6px 18px #0003;transition:transform .35s cubic-bezier(.3,.7,.2,1)}.event-card:hover .thumb-card{transform:translateY(20px) rotate(-1deg)}.thumb-pocket{position:absolute;left:0;right:0;bottom:0;height:64px;z-index:2;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);filter:brightness(.94)}.event-meta{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}.event-meta h3{font-size:20px}.event-meta p{margin:0;color:var(--muted);font-size:13.5px}.empty{text-align:center;padding:56px 20px;background:var(--surface);border:1px dashed var(--line-2);border-radius:14px}.empty h3{font-size:26px;margin-bottom:8px}.empty p{color:var(--muted);max-width:46ch;margin:0 auto 18px}.empty .row{justify-content:center;flex-wrap:wrap}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:6px}.tpl-grid.big{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.tpl{display:flex;flex-direction:column;gap:6px;align-items:stretch;text-align:left;background:var(--surface);border:2px solid transparent;border-radius:12px;padding:10px;cursor:pointer;box-shadow:0 0 0 1px var(--line)}.tpl:hover{box-shadow:0 0 0 1px var(--line-2),var(--shadow)}.tpl.on{border-color:var(--act)}.tpl span{font-weight:700;font-size:14px}.tpl small{color:var(--muted);font-size:12px}.tpl .design-canvas,.tpl>div>div{box-shadow:0 2px 8px #00000014}.upload-tile{position:relative}.upload-tile img,.upload-tile video{width:100%;aspect-ratio:5 / 7;object-fit:contain;background:#f6f3f7;border-radius:6px}.upload-blank{display:grid;place-items:center;font-size:40px;color:var(--muted)}.tpl.starter{cursor:default;gap:10px;justify-content:center;padding:16px}.tpl-blank{aspect-ratio:5 / 7;background:repeating-linear-gradient(135deg,#f7f4f8 0 10px,#fff 10px 20px);border:1px dashed var(--line-2);border-radius:6px}.tpl-blank.b-landscape{aspect-ratio:7 / 5}.tpl-blank.b-square{aspect-ratio:1}.tpl-tools{margin-bottom:16px;justify-content:space-between}.ws{display:grid;grid-template-columns:236px 1fr;min-height:calc(100vh - 59px)}.rail{border-right:1px solid var(--line);padding:22px 12px;position:sticky;top:59px;height:calc(100vh - 59px);overflow:auto}.rail ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.rail li>a,.rail li.rail-done{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:14px;font-weight:500}.rail li>a:hover{background:#2b1e2f0d}.rail li>a.on{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 1px 3px #2b1e2f1a}.rail-n{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;border:1.5px solid var(--line-2);color:var(--muted)}.rail a.done .rail-n,.rail-done .rail-n{background:var(--ink);border-color:var(--ink);color:#fff}.rail a.on .rail-n{border-color:var(--act);color:var(--act);background:#fff}.rail-done{opacity:.7}.rail-extra{list-style:none;padding:14px 0 0;margin:14px 0 0;border-top:1px solid var(--line)}.rail-extra a{display:block;padding:7px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:14px}.rail-extra a.on{background:var(--surface);font-weight:700}.rail-mobile{display:none}.ws-main{min-width:0}.step{padding:28px 32px 80px;max-width:1180px}.step.narrow{max-width:760px}.step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.step-head h1{font-size:34px;margin-bottom:6px}.step-head p{margin:0;max-width:72ch}h2.sub{font-family:var(--ui);font-size:16px;font-weight:700;margin:30px 0 10px;color:var(--ink)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:14px}.panel.subtle{background:#f8f6f9;margin-top:16px}.panel h3{font-family:var(--ui);font-size:15px;font-weight:700;margin-bottom:4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;align-items:start}.span2{grid-column:1 / -1}.list-editor{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:8px}.list-row{display:flex;gap:8px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;width:100%}.list-body{flex:1;min-width:0}.list-body .row>.input{flex:1;min-width:120px}.list-ctl{display:flex;gap:2px}.section-order{list-style:none;padding:6px 12px}.section-order li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.section-order li:last-child{border-bottom:0}.section-order li.off .toggle-text{color:var(--muted)}.split{display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:26px;align-items:start}.split-controls{display:flex;flex-direction:column;gap:10px}.split-preview{position:sticky;top:80px;display:flex;flex-direction:column;gap:12px;min-width:0}details.group{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 16px}details.group[open]{padding-bottom:16px}details.group>summary{cursor:pointer;padding:13px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between}details.group>summary:after{content:"+";color:var(--muted);font-weight:400}details.group[open]>summary:after{content:"\2212"}details.group>*:not(summary)+*{margin-top:10px}.preview-stage{border-radius:14px;min-height:440px;display:grid;place-items:center;overflow:hidden;position:relative}.preview-center{display:flex;flex-direction:column;align-items:center;gap:22px;padding:70px 20px 40px}.preview-frame{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#222;position:relative}.preview-frame.tall{height:min(720px,calc(100vh - 160px))}.style-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.style-card{text-align:left;border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:11px 12px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.style-card span{font-size:12.5px;color:var(--muted)}.style-card.on{border-color:var(--act);box-shadow:0 0 0 1px var(--act)}.effect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.effect-grid button{border:1.5px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 6px;cursor:pointer;font-size:13px;font-weight:600}.effect-grid button.on{border-color:var(--act);color:var(--act);background:#eef6f5}.palette-row{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.palette{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:1.5px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 10px;cursor:pointer;font-size:13px;font-weight:600}.palette.on{border-color:var(--act);box-shadow:0 0 0 1px var(--act)}.palette-dots{display:flex;gap:3px}.palette-dots i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.toolbar .search{max-width:320px}.toolbar>select.input{width:auto}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}.table-wrap.short{max-height:280px;overflow:auto}.table-wrap>p{padding:0 14px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12.5px;color:var(--muted);font-weight:700;padding:10px 14px;border-bottom:1px solid var(--line);background:#faf8fb;position:sticky;top:0}.table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}.table tr:last-child td{border-bottom:0}.table tr.revoked td{opacity:.55}.details-cell blockquote{margin:4px 0 0;padding-left:8px;border-left:2px solid var(--line-2);color:var(--ink-2);font-style:italic}.guest-extra{border-top:1px solid var(--line);margin-top:20px;padding-top:6px}.guest-extra h3{font-family:var(--ui);font-size:15px;font-weight:700;margin:14px 0 8px}.link-box{display:block;background:#f6f3f7;border:1px solid var(--line);padding:8px 10px;border-radius:8px;word-break:break-all;margin-bottom:8px}.qr-box{width:260px;margin:0 auto 10px}.checklist{list-style:none;padding:14px 18px}.checklist li{padding:6px 0 6px 28px;position:relative}.checklist li:before{content:"";position:absolute;left:0;top:9px;width:16px;height:16px;border-radius:50%;border:2px solid var(--line-2)}.checklist li.ok:before{background:var(--yes);border-color:var(--yes);box-shadow:inset 0 0 0 3px #fff}.checklist li.todo{color:var(--no)}.publish-box{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.big-status{font-family:var(--display);font-size:26px;margin:0}.big-status.live{color:var(--yes)}.send-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:640px;overflow:auto}.send-list li{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.send-who{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.send-who small{flex-basis:100%}.danger-zone{border-color:#ecd0ce}.stats{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin-bottom:18px}.stat-attend{display:flex;flex-direction:column;border-right:1px solid var(--line);padding-right:28px}.stat-big{font-family:var(--display);font-size:64px;line-height:1}.stat-attend span:not(.stat-big){font-weight:700}.stat-attend small{color:var(--muted)}.stat-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#eee8f0}.stat-bar span{display:block;height:100%;transition:width .5s}.stat-bar .yes,.stat-legend .yes dd{background:var(--yes)}.stat-bar .maybe,.stat-legend .maybe dd{background:var(--maybe)}.stat-bar .no,.stat-legend .no dd{background:var(--no)}.stat-bar .wait{background:#cbc3cf}.stat-legend{display:flex;flex-wrap:wrap;gap:8px 26px;margin:14px 0 0}.stat-legend div{display:flex;flex-direction:column-reverse}.stat-legend dt{font-size:12.5px;color:var(--muted)}.stat-legend dd{margin:0;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.stat-legend .yes dd,.stat-legend .maybe dd,.stat-legend .no dd{background:none}.stat-legend .yes dd{color:var(--yes)}.stat-legend .maybe dd{color:var(--maybe)}.stat-legend .no dd{color:var(--no)}.activity{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:420px;overflow:auto}.activity li{display:flex;gap:16px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:14px}.activity time{color:var(--muted);min-width:120px;font-size:13px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.photo-grid figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-grid figcaption{padding:8px;display:flex;flex-direction:column;gap:6px}.device-shell{display:flex;justify-content:center;padding:10px 0 30px}.device-viewport{background:#111;border:10px solid #1c1720;border-radius:34px;overflow:hidden;position:relative;box-shadow:0 30px 60px -24px #00000080}.device-shell.phone .device-viewport{width:390px;height:760px}.device-shell.tablet .device-viewport{width:768px;height:900px;border-radius:26px}.device-shell.desktop .device-viewport{width:min(1180px,100%);height:720px;border-radius:12px;border-width:8px}.device-preview{display:flex;gap:30px;justify-content:center;align-items:flex-end;flex-wrap:wrap}.device-preview figure{margin:0;text-align:center;color:var(--muted)}.device{background:#1c1720;padding:10px;border-radius:30px}.device.phone{width:260px}.device.desktop{width:520px;border-radius:10px}.device-screen{background:#f0edf2;border-radius:22px;padding:18px 12px;min-height:200px;display:grid;place-items:center}.device.desktop .device-screen{border-radius:4px}.ws-full .ws-main{overflow:hidden}.studio{display:grid;grid-template-columns:272px 1fr 288px;height:calc(100vh - 59px)}.studio-left,.studio-right{background:var(--surface);overflow:auto}.studio-left{border-right:1px solid var(--line);display:flex;flex-direction:column}.studio-right{border-left:1px solid var(--line);padding:16px}.studio-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:10px;border-bottom:1px solid var(--line)}.studio-tabs button{border:0;background:transparent;padding:6px 9px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink-2)}.studio-tabs button.on{background:var(--ink);color:#fff}.studio-panel{padding:4px 14px 20px;overflow:auto}.add-text{display:flex;flex-direction:column;gap:6px}.add-text button{text-align:left;border:1px solid var(--line);background:#faf8fb;border-radius:8px;padding:10px 12px;cursor:pointer}.add-text button:hover{border-color:var(--line-2);background:#fff}.add-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.add-grid button{aspect-ratio:1;border:1px solid var(--line);background:#faf8fb;border-radius:8px;cursor:pointer;color:var(--ink-2);display:grid;place-items:center}.sticker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.sticker-grid button{aspect-ratio:1;border:1px solid var(--line);background:#faf8fb;border-radius:10px;padding:12px;cursor:pointer}.sticker-grid button:hover{background:#fff;border-color:var(--line-2)}.sticker-grid.small{grid-template-columns:repeat(6,1fr);gap:5px}.sticker-grid.small button{padding:5px;border-radius:7px}.sticker-grid button.on{border-color:var(--act);box-shadow:0 0 0 1px var(--act)}.sticker-grid .tiny{font-size:9px;line-height:1;display:block}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.upload-grid button{aspect-ratio:1;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:pointer;background:#f3f0f4}.upload-grid img,.upload-grid video{width:100%;height:100%;object-fit:cover}.texture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.texture-grid button{border:1.5px solid var(--line);background:#fff;border-radius:8px;padding:4px;cursor:pointer;font-size:11.5px;display:flex;flex-direction:column;gap:3px}.texture-grid button span{height:34px;border-radius:5px;display:block;border:1px solid rgba(0,0,0,.06)}.texture-grid button.on{border-color:var(--act)}.layers{list-style:none;padding:8px 0;margin:0;display:flex;flex-direction:column;gap:2px}.layers li{display:flex;align-items:center;gap:1px;border-radius:7px;padding:2px 4px}.layers li.on{background:#efe9f2}.layer-name{flex:1;min-width:0;text-align:left;border:0;background:none;cursor:pointer;padding:6px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layers .icon-btn{width:26px;height:26px;font-size:12px}.studio-center{display:flex;flex-direction:column;min-width:0;background:#e9e4ec}.studio-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--paper);border-bottom:1px solid var(--line)}.stage{flex:1;overflow:auto;display:grid;place-items:center;position:relative;touch-action:none;background-image:radial-gradient(#d8d0dc 1px,transparent 1px);background-size:16px 16px}.artboard-wrap{position:relative;margin:24px;flex:none;box-shadow:0 20px 50px -18px #2b1e2f66}.artboard{position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden}.artboard .bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.artboard .bg-texture{position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply}.el-hit{display:contents}.el-hit>div{cursor:move}.el-hit.locked>div{cursor:default}.el-hit>div:has(>svg){pointer-events:none}.el-hit>div>svg *{pointer-events:visiblePainted;cursor:move}.guide{position:absolute;background:#e0389b;pointer-events:none;z-index:5}.guide.gv{width:1px;top:0}.guide.gh{height:1px;left:0}.sel-box{position:absolute;border:1.5px solid var(--act);pointer-events:none;transform-origin:center;z-index:10}.sel-box.is-editing{border-style:dashed}.handle{position:absolute;width:12px;height:12px;background:#fff;border:1.5px solid var(--act);border-radius:3px;pointer-events:auto;touch-action:none}.h-nw{left:-7px;top:-7px;cursor:nwse-resize}.h-ne{right:-7px;top:-7px;cursor:nesw-resize}.h-sw{left:-7px;bottom:-7px;cursor:nesw-resize}.h-se{right:-7px;bottom:-7px;cursor:nwse-resize}.h-n{left:calc(50% - 6px);top:-7px;cursor:ns-resize}.h-s{left:calc(50% - 6px);bottom:-7px;cursor:ns-resize}.h-e{right:-7px;top:calc(50% - 6px);cursor:ew-resize}.h-w{left:-7px;top:calc(50% - 6px);cursor:ew-resize}.h-rot{left:calc(50% - 7px);top:-34px;width:14px;height:14px;border-radius:50%;cursor:grab}.h-rot:after{content:"";position:absolute;left:5px;top:13px;width:1.5px;height:14px;background:var(--act)}.inline-editor{caret-color:var(--act)}.done-editing{position:absolute;top:12px;right:12px}.studio-tip{text-align:center;padding:6px;margin:0}.props h3{font-family:var(--ui);font-size:15px;font-weight:700;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis}.props>*+*{margin-top:10px}.props .panel-label{margin:18px 0 6px}.token-row{display:flex;flex-wrap:wrap;gap:4px}.token-row .chip{font-size:11.5px}.props-empty h3{font-family:var(--ui);font-size:15px;font-weight:700}.g-root{--g-paper: #f7f4f8;--g-ink: #2a2230;--g-accent: #1f4e5a;--g-card: #fff;position:relative;min-height:100vh;min-height:100dvh;background:var(--g-paper);color:var(--g-ink);font-family:var(--g-body);overflow-x:hidden}.g-root.embedded{position:absolute;inset:0;min-height:0;overflow-y:auto;overflow-x:hidden}.g-root.stage-closed,.g-root.stage-opening,.g-root.stage-handoff{overflow:hidden;height:100vh;height:100dvh}.g-root.embedded.stage-closed,.g-root.embedded.stage-opening,.g-root.embedded.stage-handoff{height:auto}.g-stage.backdrop{position:fixed;inset:0;display:grid;place-items:center;z-index:5;overflow:hidden}.g-root.embedded .g-stage.backdrop{position:absolute}.backdrop{position:relative}.backdrop-pattern{position:absolute;inset:0;opacity:.18;pointer-events:none}.g-scene{position:relative;display:flex;flex-direction:column;align-items:center;gap:30px;padding:20px}.g-hint{font-family:var(--g-body);font-size:14px;color:#0009;background:#ffffffb8;padding:7px 16px;border-radius:999px;margin:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .4s;animation:hint-breathe 2.8s ease-in-out infinite}.g-hint.gone{opacity:0;animation:none}@keyframes hint-breathe{50%{transform:translateY(-3px);box-shadow:0 6px 16px #00000014}}.g-view{position:relative;z-index:1;padding:64px 16px 80px}.g-card-wrap{display:flex;justify-content:center}.g-card{box-shadow:0 18px 50px #00000038;border-radius:6px}.g-float{position:fixed;z-index:30;transform-origin:0 0;border-radius:6px;will-change:transform;pointer-events:none}.g-root.embedded .g-float{position:fixed}.g-effects{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:40}.g-root.embedded .g-effects{position:absolute}.g-controls{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;z-index:60;display:flex;gap:8px}.g-root.embedded .g-controls{position:absolute}.g-ctl{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;border:0;background:#ffffffd9;color:#2a2230;font-size:13px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px #0000001f}.g-ctl:hover{background:#fff}.env-scene{position:relative;perspective:1700px;perspective-origin:50% 35%}.env-shadow{position:absolute;left:6%;right:6%;bottom:-6%;height:22%;background:radial-gradient(closest-side,rgba(0,0,0,.45),transparent);filter:blur(10px);opacity:.55}.env-lift{position:relative;transform-style:preserve-3d}.env-body{position:relative;transform-style:preserve-3d;border-radius:6px;outline:none}.env-body.is-tappable{cursor:pointer}.env-body.is-tappable:hover{transform:translateY(-3px);transition:transform .3s}.env-body:focus-visible{outline:3px solid rgba(255,255,255,.9);outline-offset:6px}.env-face{position:absolute;inset:0;border-radius:6px;transform-style:preserve-3d}.env-front{overflow:hidden;box-shadow:0 1px #fff6 inset,0 22px 40px -18px #00000080,0 2px 6px #0000001f}.env-tex{position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;border-radius:inherit}.env-tex-back{transform:translateZ(2.5px);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%)}.env-edge{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #0000000f,inset 0 -18px 30px -24px #00000059,inset 0 14px 24px -22px #fff9;pointer-events:none}.env-return{position:absolute;left:6%;top:8%;line-height:1.3;opacity:.85;max-width:45%}.env-sender{font-weight:600}.env-stamp-wrap{position:absolute;transform:rotate(3deg)}.env-stamp{position:relative}.env-postmark{position:absolute;pointer-events:none}.env-sticker{position:absolute}.env-sticker.pos-bl{left:5%;bottom:7%;transform:rotate(-8deg)}.env-sticker.pos-br{right:5%;bottom:7%;transform:rotate(8deg)}.env-sticker.pos-tl{left:5%;top:7%;transform:rotate(-6deg)}.env-sticker.pos-tr-low{right:5%;top:40%;transform:rotate(5deg)}.env-name{position:absolute;left:0;right:0;transform:translateY(-50%);padding-right:8%}.env-prefix{opacity:.75;margin-bottom:.15em}.env-name-text{line-height:1.12;overflow-wrap:anywhere}.env-back{box-shadow:0 22px 40px -18px #00000080,0 2px 6px #0000001f}.env-inner{position:absolute;inset:0;transform:translateZ(0);border-radius:6px;overflow:hidden;backface-visibility:hidden}.env-card{position:absolute;left:50%;backface-visibility:hidden;box-shadow:0 2px 10px #0000002e;border-radius:3px;overflow:hidden}.env-pocket{position:absolute;inset:0;transform:translateZ(2px);pointer-events:none;backface-visibility:hidden;filter:drop-shadow(0 -2px 3px rgba(0,0,0,.12))}.env-flap{position:absolute;left:0;right:0;top:0;transform-origin:50% 0;transform-style:preserve-3d;pointer-events:none}.flap-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flap-out{filter:drop-shadow(0 3px 3px rgba(0,0,0,.18))}.flap-in{transform:rotateX(180deg)}.env-seal{position:absolute;z-index:3;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3));pointer-events:none}.seal-split{position:relative}.seal-half{position:absolute;inset:0}.env-ribbon{position:absolute;left:0;right:0;transform:translateZ(4px);box-shadow:0 2px 4px #0003}.ribbon-bow{position:absolute;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}.reveal-curtain{position:relative;overflow:hidden;border-radius:8px;cursor:pointer;box-shadow:0 30px 60px -20px #0009;background:#1b1216;outline:none}.curtain-card{position:absolute;left:50%;top:54%;box-shadow:0 10px 40px #0009}.curtain-panel{position:absolute;top:0;bottom:0;width:51%;box-shadow:inset 0 -40px 60px -30px #0009}.curtain-panel.left{left:0;transform-origin:0 0}.curtain-panel.right{right:0;transform-origin:100% 0}.curtain-valance{position:absolute;left:0;right:0;top:0;height:13%;box-shadow:0 6px 12px #0006}.curtain-plaque{position:absolute;left:50%;bottom:18%;transform:translate(-50%);background:linear-gradient(#f3dfa2,#c9a24c);color:#3b2a0c;padding:12px 22px;border-radius:6px;text-align:center;box-shadow:0 6px 18px #00000073;display:flex;flex-direction:column;min-width:60%}.curtain-plaque small{font-size:12px;opacity:.8}.curtain-plaque span{font-size:clamp(18px,4.6vw,28px);line-height:1.15}.reveal-gift{position:relative;cursor:pointer;outline:none}.gift-clip{position:absolute;left:-50%;right:-50%;top:-300vh;overflow:hidden}.gift-card{position:absolute;left:50%;box-shadow:0 6px 20px #00000040;overflow:hidden}.gift-box{position:absolute;left:0;right:0;bottom:0;border-radius:4px 4px 8px 8px;box-shadow:0 30px 50px -20px #0000008c}.gift-ribbon-v{position:absolute;top:0;bottom:0;left:50%;width:13%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #00000014}.gift-lid{position:absolute;left:-4%;right:-4%;border-radius:5px;box-shadow:0 6px 12px #00000040}.gift-bow{position:absolute;left:50%;bottom:82%;transform:translate(-50%)}.gift-tag{position:absolute;right:4%;bottom:16%;background:#fdf8ec;padding:8px 14px 9px 22px;border-radius:4px 8px 8px 4px;transform:rotate(-6deg);box-shadow:0 4px 10px #00000040;display:flex;flex-direction:column;max-width:64%;clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%)}.gift-tag small{font-size:11px;opacity:.7}.gift-tag span{font-size:clamp(15px,4vw,22px);line-height:1.1}.reveal-book{position:relative;perspective:1800px;cursor:pointer;outline:none}.book-inner{position:relative;transform-style:preserve-3d}.book-page{position:absolute;inset:0;box-shadow:0 20px 40px -14px #00000080;background:#fff;overflow:hidden}.book-cover{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d}.cover-front,.cover-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:2px 8px 8px 2px}.cover-front{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:30px;box-shadow:0 20px 40px -14px #0000008c}.cover-front span{font-size:clamp(22px,6vw,38px);line-height:1.1}.cover-front small{opacity:.8;font-size:13px}.cover-front .cover-hint{position:absolute;bottom:24px;font-style:italic}.cover-frame{position:absolute;inset:14px 14px 14px 22px;border:1.5px solid rgba(246,231,196,.6);border-radius:4px}.cover-back{transform:rotateY(180deg);overflow:hidden}.reveal-unfold{position:relative;perspective:1600px;cursor:pointer;outline:none}.unfold-card{position:relative;transform-style:preserve-3d}.unfold-strip{position:absolute;left:0;right:0;transform-style:preserve-3d}.unfold-strip.top{transform-origin:50% 100%}.unfold-strip.bottom{transform-origin:50% 0}.unfold-strip.mid{box-shadow:0 16px 30px -10px #0006}.unfold-front,.unfold-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.unfold-back{transform:rotateX(180deg);box-shadow:inset 0 0 0 1px #0000000f;display:grid;place-items:center}.unfold-clip{overflow:hidden}.unfold-address{display:flex;flex-direction:column;align-items:center;transform:translateY(-14%);text-align:center;padding:0 10%}.unfold-address small{font-size:12px;opacity:.75}.unfold-address span{font-size:clamp(20px,5vw,32px);line-height:1.1}.unfold-seal{position:absolute;left:50%;transform:translate(-50%) translateZ(4px);filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}.g-after{max-width:620px;margin:0 auto;padding-top:34px;animation:g-rise .9s cubic-bezier(.2,.7,.2,1) both}@keyframes g-rise{0%{opacity:0;transform:translateY(16px)}}.g-sections{display:flex;flex-direction:column;gap:14px}.g-section{background:var(--g-card);border-radius:14px;padding:22px 24px;box-shadow:0 1px 2px #0000000d,0 10px 30px -18px #00000040}.g-h{font-family:var(--g-display);font-size:26px;font-weight:600;margin:0 0 12px;color:var(--g-ink)}.g-body{margin:0 0 10px;line-height:1.6;white-space:pre-line}.g-note{font-family:var(--g-display);font-size:21px;line-height:1.45;margin:0;text-align:center;font-style:italic}.g-section.g-message{background:transparent;box-shadow:none;padding:6px 12px}.g-when{display:flex;flex-direction:column;gap:12px}.g-when>div{display:flex;flex-direction:column}.g-when strong{font-size:17px}.g-when a{color:var(--g-accent)}.g-hosts{margin:0;opacity:.8}.g-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.g-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--g-accent);color:#fff;border:2px solid var(--g-accent);font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;font-family:var(--g-body)}.g-btn.ghost{background:transparent;color:var(--g-accent)}.g-btn:disabled{opacity:.5;cursor:not-allowed}.g-countdown{text-align:center}.g-countdown-label{margin:0 0 8px;font-family:var(--g-display);font-size:20px}.g-countdown-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.g-countdown-row div{display:flex;flex-direction:column}.g-countdown-row strong{font-family:var(--g-display);font-size:clamp(30px,8vw,44px);line-height:1;color:var(--g-accent);font-variant-numeric:tabular-nums}.g-countdown-row span{font-size:12px;opacity:.7;margin-top:4px}.g-countdown-done{text-align:center;font-family:var(--g-display);font-size:22px;margin:0}.g-itinerary{list-style:none;padding:0;margin:0}.g-itinerary li{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed color-mix(in srgb,var(--g-ink) 20%,transparent)}.g-itinerary li:last-child{border-bottom:0}.g-itinerary time{font-weight:700;color:var(--g-accent)}.g-itinerary p{margin:2px 0 0;opacity:.8;font-size:14px}.g-registry{display:grid;gap:8px}.g-registry-item{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;text-decoration:none;color:inherit;border:1.5px solid color-mix(in srgb,var(--g-ink) 15%,transparent)}.g-registry-item:hover{border-color:var(--g-accent)}.g-registry-item span:last-child{display:flex;flex-direction:column}.g-registry-item small{opacity:.7}.store-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:20px;color:#fff;background:var(--g-accent);flex:none}.store-mark.store-amazon{background:#232f3e}.store-mark.store-target{background:#c00}.store-mark.store-walmart{background:#0071ce}.g-announcement{padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--g-ink) 12%,transparent)}.g-announcement p{margin:4px 0 0}.g-faq{border-bottom:1px solid color-mix(in srgb,var(--g-ink) 12%,transparent);padding:10px 0}.g-faq summary{cursor:pointer;font-weight:700}.g-faq p{margin:8px 0 2px}.g-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px}.g-gallery figure{margin:0;position:relative;border-radius:10px;overflow:hidden}.g-gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.g-dl{position:absolute;right:6px;bottom:6px;background:#ffffffe6;color:#222;font-size:12px;padding:3px 8px;border-radius:999px;text-decoration:none}.g-upload{position:relative}.rsvp-form{display:flex;flex-direction:column;gap:16px}.rsvp-deadline{margin:-4px 0 0;opacity:.75;font-size:14px}.rsvp-choices{border:0;padding:0;margin:0;display:grid;gap:8px}.rsvp-choice{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:10px 16px;border:2px solid color-mix(in srgb,var(--g-ink) 20%,transparent);border-radius:14px;cursor:pointer;font-family:var(--g-display);font-size:19px;transition:border-color .2s,background .2s}.rsvp-choice input{position:absolute;opacity:0}.rsvp-choice.on{border-color:var(--g-accent);background:color-mix(in srgb,var(--g-accent) 10%,transparent)}.rsvp-choice:has(input:focus-visible){outline:2px solid var(--g-accent);outline-offset:2px}.rsvp-counts{display:flex;flex-wrap:wrap;gap:14px 28px}.rsvp-hint{flex-basis:100%;margin:0;font-size:13.5px;opacity:.75}.counter{display:flex;flex-direction:column;gap:6px}.counter-ctl{display:inline-flex;align-items:center;gap:4px}.counter-ctl button{width:44px;height:44px;border-radius:50%;border:2px solid color-mix(in srgb,var(--g-ink) 22%,transparent);background:transparent;font-size:22px;cursor:pointer;line-height:1}.counter-ctl button:disabled{opacity:.3;cursor:not-allowed}.counter-ctl output{min-width:40px;text-align:center;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.rsvp-field{display:flex;flex-direction:column;gap:6px}.rsvp-label{font-weight:700;font-size:14px}.g-input{width:100%;min-height:46px;border:1.5px solid color-mix(in srgb,var(--g-ink) 22%,transparent);border-radius:12px;padding:10px 14px;background:color-mix(in srgb,var(--g-card) 92%,var(--g-ink));color:var(--g-ink);font-family:var(--g-body);font-size:16px}.g-input:focus{outline:2px solid var(--g-accent);border-color:transparent}.rsvp-pills{display:flex;flex-wrap:wrap;gap:8px}.pill{position:relative;padding:9px 16px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--g-ink) 22%,transparent);cursor:pointer}.pill input{position:absolute;opacity:0}.pill.on{border-color:var(--g-accent);background:color-mix(in srgb,var(--g-accent) 12%,transparent)}.rsvp-error{color:#b3261e;font-weight:700;margin:0}.rsvp-note{opacity:.75;font-size:14px;margin:6px 0 0}.rsvp-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;animation:g-rise .6s ease-out}.rsvp-badge{font-family:var(--g-display);font-size:26px;color:var(--g-accent)}.rsvp-thanks{font-size:17px;margin:0;max-width:40ch}.rsvp-summary{margin:0;opacity:.75}.guest-loading,.guest-error{min-height:100vh;display:grid;place-items:center;background:#f2eef4;padding:20px}.loader-env{width:120px;height:80px;border-radius:6px;background:#e6deeb;position:relative;overflow:hidden}.loader-env:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);animation:shimmer 1.4s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.guest-error-card{max-width:420px;text-align:center;color:var(--ink)}.guest-error-card svg{color:var(--muted)}.guest-error-card h1{font-size:30px;margin:14px 0 10px}.guest-error-card p{color:var(--muted)}.guest-error .g-btn{--g-accent: var(--act)}@media(max-width:1100px){.studio{grid-template-columns:236px 1fr}.studio-right{position:fixed;right:0;bottom:0;top:auto;width:100%;max-height:42vh;z-index:40;border-top:1px solid var(--line);box-shadow:0 -10px 30px #0000001f}.studio-right:has(.props-empty){display:none}.split{grid-template-columns:1fr}.split-preview{position:static}}@media(max-width:860px){.login{grid-template-columns:1fr}.login-art{display:none}.ws{grid-template-columns:1fr}.rail{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}.rail ol,.rail-extra{display:none}.rail-mobile{display:block}.step{padding:20px 16px 80px}.step-head{flex-direction:column}.step-head h1{font-size:28px}.grid2{grid-template-columns:1fr}.host-bar{padding:10px 14px;gap:10px;flex-wrap:wrap}.host-user .who{display:none}.crumbs{order:3;flex-basis:100%}.dash-head{flex-direction:column;align-items:flex-start}.dash-head h1{font-size:34px}.stats{grid-template-columns:1fr}.stat-attend{border-right:0;padding-right:0}.studio{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:calc(100vh - 100px)}.studio-left{max-height:34vh;border-right:0;border-bottom:1px solid var(--line)}.style-cards{grid-template-columns:1fr}.device-shell.phone .device-viewport{width:100%;max-width:390px}.device-shell.tablet .device-viewport,.device-shell.desktop .device-viewport{width:100%}.table{font-size:13px}.table th,.table td{padding:8px 10px}}@media(max-width:520px){.g-section{padding:18px 16px}.g-view{padding-top:58px}.g-ctl span{display:none}.g-ctl{padding:0 11px}.g-ctl[data-testid=skip] span{display:inline}.g-countdown-row strong{font-size:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
