@charset "UTF-8";
:root{--ink:#123e48;--navy:#073d4b;--muted:#637c80;--aqua:#1aacae;--coral:#dc5b3c;--yellow:#f4ce64;--cream:#faf8f2;--paper:#fffefb;--line:#dde5df;--shadow:0 16px 45px #183b4710;--radius:22px;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-underline-offset:4px}button,input,select,textarea,a{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #008c99}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(2.4rem,4.5vw,4.5rem)}h2{font-size:clamp(1.65rem,3vw,2.5rem)}h3{font-size:1.2rem}p{line-height:1.65}img{max-width:100%;display:block}svg{flex-shrink:0}button svg{width:19px;height:19px}small{line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:500;padding:14px;background:white}.skip-link:focus{top:10px}.initial-loading{min-height:100svh;display:grid;align-content:center;justify-items:center;gap:20px}.initial-loading p{color:var(--muted)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--coral);color:white;font-size:26px;transform:rotate(-8deg)}.wordmark{display:flex;align-items:center;gap:12px;font-weight:850;font-size:18px;text-decoration:none;letter-spacing:-.6px}.wordmark b{display:block}.wordmark small{display:block;max-width:140px;font-size:10px;letter-spacing:0;font-weight:600;line-height:1.45;text-transform:none;opacity:.65;margin-top:3px}.eyebrow{font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:2.1px;line-height:1.5;color:var(--coral);margin-bottom:13px}.muted{color:var(--muted)}.italic{font-family:Georgia,serif;font-style:italic;font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:11px;border:1px solid transparent;background:var(--navy);color:white;font-weight:750;font-size:13px;line-height:1.35;text-decoration:none;min-height:45px;transition:transform .15s,background .15s}.btn:hover:not(:disabled){background:#125766;transform:translateY(-1px)}.btn.coral{background:var(--coral)}.btn.coral:hover:not(:disabled){background:#c64b2f}.btn.secondary{border-color:var(--line);background:white;color:var(--ink)}.btn.secondary:hover:not(:disabled){background:#f3f7f3}.btn.ghost{background:transparent;color:var(--ink);border-color:transparent}.btn.ghost:hover{background:#eaf0eb}.btn.small{padding:8px 12px;min-height:36px;font-size:12px}.btn.danger{background:#fff0eb;color:#a43123;border-color:#f3ccc2}.btn.full{width:100%}.text-button{background:none;border:0;padding:5px 0;color:var(--ink);font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:4px}.icon-button{display:inline-grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:10px;width:38px;height:38px;color:var(--ink)}.icon-button:hover{background:#eef4ef}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.spacer{flex:1}.stack{display:grid;gap:18px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.5px;padding:5px 9px;border-radius:99px;background:#edf3ec;color:#416b54;font-weight:800;white-space:nowrap}.badge::before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.badge.warn{background:#fff1d6;color:#825b16}.badge.ink{background:#e9eff1;color:#355d6c}.badge.error{background:#ffebe5;color:#aa3b29}.empty{padding:55px 24px;text-align:center;border:1px dashed #c9d9d3;border-radius:20px;background:#fffefb}.empty .empty-icon{width:64px;height:64px;margin:0 auto 20px;display:grid;place-items:center;border-radius:20px;background:#e9f3ef;color:var(--aqua)}.empty h3{font-size:1.6rem;margin-bottom:10px}.empty p{max-width:440px;margin:0 auto 24px;color:var(--muted);font-size:14px}.panel{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 3px 8px #123e4803}.panel h3{margin-bottom:10px}.panel>p{font-size:13px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:750;min-width:0}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid #cedbd5;border-radius:10px;background:#fffefa;color:var(--ink);font-size:14px;font-weight:450;min-height:44px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--aqua)}.field textarea{resize:vertical;min-height:95px;line-height:1.65}.field small{font-size:11px;font-weight:450;color:var(--muted)}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field.wide{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink)}input[type=checkbox],input[type=radio]{accent-color:var(--aqua);width:17px;height:17px}.notice{border-radius:12px;padding:13px 15px;font-size:12px;line-height:1.6;background:#edf5f2;color:#356458;border:1px solid #d7e8df}.notice.warn{background:#fff4de;color:#7a591a;border-color:#f0dfba}.notice.error{background:#fff0eb;color:#9a3528;border-color:#f2d1c9}.notice:empty{display:none}.divider{height:1px;background:var(--line);margin:22px 0}.loading-line{height:3px;position:fixed;top:0;left:0;right:0;z-index:200;background:linear-gradient(90deg,transparent,var(--aqua),transparent);animation:loading 1.2s linear infinite}@keyframes loading{from{transform:translateX(-70%)}to{transform:translateX(70%)}}#toast{position:fixed;z-index:500;left:50%;bottom:24px;transform:translate(-50%,25px);background:var(--navy);color:white;padding:14px 22px;border-radius:13px;max-width:calc(100vw - 32px);box-shadow:0 8px 40px #123e4830;opacity:0;pointer-events:none;font-size:13px;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{padding:0;border:1px solid var(--line);border-radius:24px;width:min(620px,calc(100vw - 28px));max-height:90svh;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #123e4840}dialog::backdrop{background:#062c3c66;backdrop-filter:blur(5px)}.dialog-content{padding:30px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.dialog-header h2{font-size:1.9rem;margin-bottom:7px}.dialog-header p{font-size:13px;color:var(--muted);margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;flex-wrap:wrap}
/* A quiet, useful host workspace. */
.app-shell{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100svh}.sidebar{position:fixed;inset:0 auto 0 0;width:225px;background:var(--navy);color:#e2efec;padding:30px 22px;display:flex;flex-direction:column;z-index:30}.sidebar .wordmark{color:white;margin:2px 4px 36px}.sidebar-nav{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:10px;color:#a8c6ca;text-decoration:none;border:0;background:transparent;text-align:left;font-size:13px;font-weight:650}.nav-link svg{width:18px;height:18px}.nav-link.active,.nav-link:hover{background:#ffffff12;color:white}.sidebar-note{padding:16px 14px;border:1px solid #ffffff20;border-radius:14px;margin-top:26px}.sidebar-note .eyebrow{color:#f4ce64;font-size:9px;letter-spacing:1.5px;margin-bottom:9px}.sidebar-note p{color:#b6d0d1;font-size:11px;line-height:1.7;margin:0}.sidebar-bottom{margin-top:auto;padding-top:30px}.user-profile{display:flex;align-items:center;gap:11px;border-top:1px solid #ffffff20;padding-top:20px}.avatar{width:36px;height:36px;background:#dfe8d6;color:var(--navy);display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:800}.user-profile b{font-size:12px;display:block}.user-profile small{font-size:10px;color:#aac4c7}.workspace{grid-column:2;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#fffdf9aa;gap:16px}.topbar-label{font-size:12px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-right>span{font-size:11px;color:var(--muted)}.mobile-brand{display:none}.page-content{max-width:1500px;margin:auto;padding:38px 42px 65px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}.page-heading h1{font-size:clamp(2.1rem,3vw,3.3rem);margin-bottom:10px}.page-heading p{font-size:13px;color:var(--muted);margin:0}.page-heading .eyebrow{margin-bottom:10px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr);min-height:280px;padding:42px 45px;border-radius:25px;background:#e9f1e9;position:relative;overflow:hidden;gap:30px;margin-bottom:35px}.dashboard-hero::before{content:"";position:absolute;width:290px;height:290px;border:1px solid #cbdccb;border-radius:50%;right:-90px;top:-150px}.dashboard-hero h2{font-size:clamp(2.4rem,3.5vw,3.6rem);max-width:540px;margin-bottom:16px}.dashboard-hero p{font-size:13px;color:#587168;max-width:400px}.dashboard-hero .btn{margin-top:7px}.hero-cards{position:relative;min-height:210px;display:flex;align-items:center;justify-content:center}.hero-cards .mini-invite{width:175px;height:235px;position:absolute;box-shadow:0 18px 35px #173c4722;border:6px solid white;border-radius:8px;transform:rotate(-10deg) translateX(-48px);overflow:hidden}.hero-cards .mini-invite:last-child{transform:rotate(9deg) translateX(55px);background:#fee5ca}.mini-invite .invitation{height:100%;min-height:0;border:0!important;border-radius:0!important;padding:13px!important}.mini-invite .invite-title{font-size:24px!important}.mini-invite .invite-eyebrow{font-size:5px!important;letter-spacing:1px}.mini-invite .invite-meta{font-size:6px!important}.mini-invite .invite-honoree{font-size:7px!important}.mini-invite .invite-art{min-height:80px;height:85px!important;border-radius:4px!important}.mini-invite .invite-copy{padding:10px!important}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 20px}.section-heading h2{font-size:1.6rem;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:0}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.event-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 3px 12px #123e4806;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:block}.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.event-card-art{height:205px;overflow:hidden;position:relative;background:#e9f3f0;padding:19px 25px}.event-card-art .invitation{max-width:260px;margin:auto;min-height:190px;box-shadow:0 10px 25px #123e4820;pointer-events:none}.event-card-art .invite-title{font-size:27px}.event-card-art .invite-art{height:105px;min-height:0}.event-card-art .invite-copy{padding:16px}.event-card-art .invite-honoree{font-size:8px}.event-card-art .invite-eyebrow,.event-card-art .invite-meta{font-size:7px;letter-spacing:.5px}.event-card-body{padding:20px}.event-card-body h3{font-size:18px;line-height:1.2;margin:12px 0 8px}.event-card-body p{font-size:11px;color:var(--muted);margin:0}.event-card-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:17px;font-size:10px;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.stat-card{padding:21px 23px;border-radius:16px;background:white;border:1px solid var(--line)}.stat-card small{font-size:11px;color:var(--muted);display:block}.stat-card strong{display:block;font-size:32px;letter-spacing:-1.5px;margin:9px 0 3px;line-height:1}.stat-card span{font-size:10px;color:var(--muted)}.event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.event-header h1{font-size:clamp(2rem,3.6vw,3.4rem);margin:12px 0}.event-header p{font-size:12px;color:var(--muted);margin:0}.event-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:0;margin-bottom:30px;scrollbar-width:thin}.tab-button{white-space:nowrap;padding:14px 15px 17px;background:transparent;border:0;border-bottom:3px solid transparent;font-size:12px;color:var(--muted);font-weight:700}.tab-button.active{color:var(--navy);border-bottom-color:var(--coral)}.tab-button:hover{color:var(--navy)}.two-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.overview-preview{padding:25px;border-radius:17px;background:#edf1e8;display:grid;place-items:center;max-height:520px;overflow:hidden}.overview-preview .invitation{width:100%;max-width:360px;box-shadow:0 12px 30px #123e4818}.activity{list-style:none;padding:0;margin:0;display:grid;gap:20px}.activity li{display:flex;gap:12px;align-items:flex-start}.activity-dot{width:9px;height:9px;border-radius:50%;background:var(--aqua);margin-top:5px;flex-shrink:0}.activity b{font-size:12px}.activity p{font-size:11px;color:var(--muted);margin:3px 0 0}.search-input{max-width:300px;position:relative}.search-input input{padding:11px 14px 11px 39px;width:100%;border:1px solid var(--line);border-radius:10px;background:white;font:inherit;font-size:12px}.search-input svg{position:absolute;left:13px;top:12px;width:16px;height:16px;color:var(--muted)}.filter-select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font-size:12px;min-height:40px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px;background:white}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#72878a;background:#f8faf6;padding:15px 18px;white-space:nowrap}td{padding:17px 18px;border-top:1px solid #edf1ed;vertical-align:middle}td b{font-size:12px;display:block}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px;max-width:250px;overflow-wrap:anywhere}.table-actions{display:flex;gap:7px;align-items:center}.table-actions .btn{white-space:nowrap}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.contact-card{padding:23px;border:1px solid var(--line);border-radius:17px;background:white}.contact-card .avatar{width:42px;height:42px;background:#edf3ea}.contact-card h3{font-size:17px;margin:15px 0 5px}.contact-card p{font-size:12px;color:var(--muted);margin:4px 0;overflow-wrap:anywhere}.contact-card .contact-count{font-size:10px;margin-top:14px}.contact-card .row{margin-top:18px}.contact-card .tag{font-size:9px;background:#f4f1e9;padding:4px 8px;border-radius:6px;color:#75674b}.compose-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:24px}.message-card{padding:20px;border:1px solid var(--line);border-radius:15px;background:white;margin-bottom:15px}.message-card h3{margin:11px 0;font-size:16px}.message-card p{font-size:12px;color:var(--muted);white-space:pre-line}.message-meta{font-size:10px;color:var(--muted)}.recipient-options{max-height:180px;overflow:auto;display:grid;gap:10px;border:1px solid var(--line);padding:13px;border-radius:10px}.chat-list{display:grid;gap:18px;max-height:530px;overflow:auto;padding:4px 4px 20px}.chat-message{display:flex;gap:12px;align-items:flex-start}.chat-message .avatar{flex-shrink:0;width:32px;height:32px;font-size:10px}.chat-bubble{padding:16px 19px;border:1px solid var(--line);background:white;border-radius:3px 17px 17px 17px;max-width:650px;overflow-wrap:anywhere}.chat-bubble b{font-size:11px}.chat-bubble time{font-size:9px;color:var(--muted);margin-left:12px}.chat-bubble p{font-size:13px;margin:8px 0 0;white-space:pre-wrap}.chat-compose{display:flex;gap:12px;margin-top:20px;align-items:flex-end}.chat-compose .field{flex:1}.chat-compose textarea{min-height:80px}.potluck-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.potluck-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:white}.potluck-card .potluck-icon{width:42px;height:42px;border-radius:13px;background:#f7eee0;display:grid;place-items:center;font-size:22px;margin-bottom:18px}.potluck-card h3{font-size:18px;margin:10px 0}.potluck-card p{font-size:12px;color:var(--muted);margin:0 0 15px}.potluck-progress{height:5px;border-radius:10px;background:#edf1e8;overflow:hidden;margin:16px 0 10px}.potluck-progress>span{display:block;height:100%;background:var(--aqua)}.potluck-card small{font-size:10px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.capability-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.capability-row:last-child{border:0}.capability-row b{font-size:13px}.capability-row p{font-size:11px;color:var(--muted);margin:4px 0 0}
/* Prompt to design. */
.studio-container{max-width:1320px;margin:auto}.studio-progress{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-bottom:33px;flex-wrap:wrap}.studio-progress span{display:flex;align-items:center;gap:7px}.studio-progress b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#e9eee5;color:#647d75;font-size:10px}.studio-progress .active{color:var(--ink);font-weight:800}.studio-progress .active b{background:var(--navy);color:white}.studio-progress i{width:34px;height:1px;background:var(--line)}.brief-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.8fr);gap:55px;align-items:center}.brief-copy{padding:15px 0}.brief-copy h1{font-size:clamp(2.8rem,4vw,4.5rem);max-width:650px;line-height:1;margin-bottom:20px}.brief-copy>p{max-width:530px;color:var(--muted);font-size:14px}.prompt-field textarea{min-height:195px;font-size:15px;line-height:1.8;padding:20px;border-radius:15px;background:white;box-shadow:0 5px 20px #123e4806}.prompt-help{font-size:11px;color:var(--muted);margin:10px 0 20px}.brief-options{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.brief-visual{min-height:510px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 43%,#e4eee0 0 35%,transparent 36%),radial-gradient(circle at 90% 88%,#f8e7cc 0 17%,transparent 18%)}.brief-visual .invitation{width:300px;transform:rotate(-6deg);box-shadow:0 25px 60px #173c4726;border:9px solid white;position:relative;z-index:1}.brief-visual .invite-title{font-size:44px}.brief-visual .invite-art{height:180px}.visual-sticker{position:absolute;z-index:2;bottom:65px;right:0;background:var(--yellow);border:5px solid var(--cream);border-radius:50%;width:115px;height:115px;display:grid;place-items:center;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:20px;line-height:1.1;transform:rotate(12deg)}.visual-star{position:absolute;top:20px;right:35px;font-size:75px;color:var(--coral);transform:rotate(15deg)}.studio-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.studio-heading h1{font-size:clamp(2rem,3vw,3rem);margin-bottom:10px}.studio-heading p{font-size:13px;color:var(--muted);margin:0}.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:35px}.concept-option{border:2px solid transparent;padding:16px;background:#edeede;border-radius:18px;text-align:left;color:var(--ink);position:relative;transition:border .15s,transform .15s}.concept-option:hover{transform:translateY(-3px)}.concept-option.selected{border-color:var(--aqua);background:#e7f4ed}.concept-option .invitation{pointer-events:none;height:320px;min-height:0;overflow:hidden;box-shadow:0 8px 22px #123e4815}.concept-option .invite-title{font-size:clamp(25px,2.6vw,37px)}.concept-option .invite-art{height:145px;min-height:0}.concept-option .invite-copy{padding:22px}.concept-option .invite-meta{font-size:9px}.concept-option .invite-honoree{font-size:10px}.concept-option .invite-eyebrow{font-size:7px}.concept-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px}.concept-caption b{font-size:12px}.concept-caption span{width:23px;height:23px;border:1px solid #a9c4b5;border-radius:50%;display:grid;place-items:center;font-size:12px}.concept-option.selected .concept-caption span{background:var(--aqua);border-color:var(--aqua);color:white}.concept-option small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.design-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:26px;align-items:start}.design-stage{background:#eceee3;border:1px solid #dfe4d9;border-radius:21px;padding:32px;min-height:620px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.design-stage::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.23;background-image:radial-gradient(#b8c8b5 .7px,transparent .7px);background-size:6px 6px}.design-stage .invitation{position:relative;z-index:1;width:100%;max-width:490px;box-shadow:0 20px 60px #1c45392b;max-height:880px;overflow:auto}.design-controls{display:grid;gap:17px}.design-controls .panel{padding:21px}.control-heading{font-size:11px;font-weight:800;display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.control-heading span{color:var(--muted);font-weight:450;font-size:10px}.segmented{display:flex;gap:5px;background:#f0f3ed;padding:4px;border-radius:10px}.segmented button{flex:1;border:0;border-radius:7px;padding:9px 5px;background:transparent;color:var(--muted);font-size:10px;font-weight:750;min-width:0}.segmented button.selected{color:var(--ink);background:white;box-shadow:0 2px 5px #123e480d}.palette-list{display:flex;gap:9px;flex-wrap:wrap}.palette-swatch{border:2px solid transparent;border-radius:50%;width:30px;height:30px;padding:3px;background:white}.palette-swatch>span{width:100%;height:100%;display:block;border-radius:50%}.palette-swatch.selected{border-color:var(--ink)}.template-select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font-size:12px}.art-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.art-actions .btn{font-size:10px;padding:10px 6px}.revision-field{margin-top:16px}.revision-field textarea{min-height:88px;font-size:12px}.section-editor{padding:12px 0;border-top:1px solid var(--line);display:grid;gap:10px}.section-editor input,.section-editor textarea{font-size:11px;padding:9px 11px;min-height:35px}.section-editor textarea{min-height:60px}.section-editor .row{gap:6px}.section-editor .icon-button{width:29px;height:29px}.section-editor .icon-button svg{width:13px;height:13px}.design-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0;flex-wrap:wrap}.confirmation-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr);gap:35px;align-items:start}.confirmation-preview{background:#eaf0e5;padding:30px;border-radius:22px;position:sticky;top:24px}.confirmation-preview .invitation{box-shadow:0 15px 40px #123e4820;max-width:400px;margin:auto}.revision-note{font-size:11px;margin:12px 0 0;color:#356b51;line-height:1.7}
/* Eight designed directions, rendered from safe structured values. */
.invitation{--inv-bg:#dff7f2;--inv-ink:#073d4b;--inv-accent:#ec7656;--inv-soft:#fff7e7;position:relative;overflow:hidden;border-radius:12px;background:var(--inv-bg);color:var(--inv-ink);isolation:isolate;min-height:300px}.invite-copy{padding:34px;position:relative;z-index:2}.invite-eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:2.5px;font-weight:850;margin:0 0 16px;color:var(--inv-ink);opacity:.75}.invite-title{font-size:clamp(2.4rem,4.7vw,4.9rem);font-weight:900;letter-spacing:-.07em;line-height:.94;margin:0 0 17px;overflow-wrap:anywhere}.invite-honoree{font-size:13px;line-height:1.6;margin:0 0 18px;max-width:480px}.invite-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:10px;font-weight:750;line-height:1.65;border-top:1px solid currentColor;padding-top:15px;margin-top:20px;opacity:.85}.invite-location{flex:1 0 100%}.invite-art{height:230px;min-height:90px;position:relative;overflow:hidden;margin:0 23px 23px;border-radius:11px;background:var(--inv-soft)}.invite-art img{width:100%;height:100%;object-fit:cover}.invite-art svg{width:100%;height:100%;display:block}.hero-small .invite-art{height:150px}.hero-large .invite-art{height:350px}.invite-symbol{position:absolute;font-size:45px;z-index:0;color:var(--inv-accent);opacity:.6;top:15px;right:25px;transform:rotate(12deg)}.invite-art .art-caption{position:absolute;bottom:13px;left:13px;padding:6px 9px;border-radius:99px;background:#fffdf5dd;color:#073d4b;font-size:8px;letter-spacing:.5px;font-weight:700}.font-serif .invite-title{font-family:Georgia,"Times New Roman",serif;font-weight:450;letter-spacing:-.065em;line-height:1}.font-modern .invite-title{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-weight:650;letter-spacing:-.055em}.format-editorial{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.format-editorial .invite-copy{padding:30px 24px;display:flex;flex-direction:column;justify-content:center}.format-editorial .invite-title{font-size:clamp(2rem,3.7vw,4.2rem)}.format-editorial .invite-art{margin:0;border-radius:0;height:100%;min-height:380px;grid-column:2;grid-row:1}.format-editorial .invite-extra{grid-column:1/-1}.format-story .invite-art{margin:0;border-radius:0;height:300px}.format-story .invite-copy{padding:36px}.format-story .invite-title{font-size:clamp(2.5rem,5vw,5.3rem)}.invite-extra{padding:20px 34px 32px;position:relative;z-index:2}.invite-extra h3{font-size:25px;margin:5px 0 12px}.invite-extra p{font-size:13px;line-height:1.8;white-space:pre-line}.invite-extra img{width:100%;max-height:350px;object-fit:cover;border-radius:10px;margin-top:15px}.template-splash{background:radial-gradient(circle at 100% 0%,#f7cd6660 0 18%,transparent 18.5%),var(--inv-bg)}.template-splash .invite-title{transform:rotate(-2deg)}.template-splash .invite-art{border:5px solid #ffffffaa;transform:rotate(1deg);box-shadow:0 8px 0 #0e807b15}.template-garden{--inv-bg:#f2f0df;--inv-ink:#315641;--inv-accent:#bd7858;--inv-soft:#dce5ce;border:1px solid #c4cba9}.template-garden .invite-copy{text-align:center;padding-top:47px}.template-garden .invite-title{font-family:Georgia,serif;font-weight:450;font-size:clamp(2.2rem,4.5vw,4.7rem);letter-spacing:-.055em}.template-garden .invite-meta{justify-content:center;border-color:#31564150}.template-garden .invite-art{border-radius:180px 180px 4px 4px;margin-left:40px;margin-right:40px}.template-garden .invite-symbol{font-size:38px;top:10px;right:43%;color:#729d6d}.template-editorial{--inv-bg:#f2ebdf;--inv-ink:#2d342c;--inv-accent:#af5c3d;--inv-soft:#e8c7a3;border-radius:2px}.template-editorial .invite-copy{padding:37px 30px}.template-editorial .invite-title{font-family:Georgia,serif;font-weight:400;line-height:1;letter-spacing:-.06em}.template-editorial .invite-eyebrow{letter-spacing:4px;font-size:8px}.template-editorial .invite-art{margin:0 30px 30px;border-radius:0}.template-noir{--inv-bg:#172e34;--inv-ink:#f7e6bc;--inv-accent:#d8b66d;--inv-soft:#233f3c;border:1px solid #8f804d}.template-noir .invite-copy{text-align:center;padding:42px 30px}.template-noir .invite-title{font-family:Georgia,serif;font-weight:450;line-height:1;letter-spacing:-.045em}.template-noir .invite-eyebrow{color:#dbbc7b;letter-spacing:4px}.template-noir .invite-meta{justify-content:center;border-color:#d8b66d60}.template-noir .invite-art{border:1px solid #9d8756;margin:0 30px 30px;border-radius:50% 50% 4px 4px}.template-confetti{--inv-bg:#fce7db;--inv-ink:#562e65;--inv-accent:#ef6d45;--inv-soft:#f9c453;background-image:radial-gradient(#f5b83d 2px,transparent 2px),radial-gradient(#d383aa 2px,transparent 2px);background-position:7px 7px,34px 39px;background-size:61px 73px,79px 87px}.template-confetti .invite-title{font-weight:900;text-shadow:3px 3px #f7b67b;font-size:clamp(2.6rem,4.8vw,5rem)}.template-confetti .invite-art{border-radius:50% 50% 16px 16px;border:6px solid #fff5e7;transform:rotate(-2deg)}.template-confetti .invite-copy{text-align:center}.template-confetti .invite-meta{justify-content:center}.template-coastal{--inv-bg:#e1eae8;--inv-ink:#1e5062;--inv-accent:#e5a369;--inv-soft:#b7d8d5}.template-coastal .invite-copy{text-align:center;padding-top:43px}.template-coastal .invite-title{font-family:Georgia,serif;font-style:italic;font-weight:400;line-height:1.05}.template-coastal .invite-art{border:7px solid #fff9e8;border-radius:4px;transform:rotate(2deg);margin-left:30px;margin-right:30px}.template-coastal .invite-meta{justify-content:center;border-color:#1e506250}.template-minimal{--inv-bg:#fffdf9;--inv-ink:#273d34;--inv-accent:#64866f;--inv-soft:#e5eadc;border:1px solid #d9dfd0;border-radius:1px}.template-minimal .invite-copy{padding:50px 35px}.template-minimal .invite-title{font-family:Georgia,serif;font-weight:400;line-height:1.08;font-size:clamp(2.1rem,4.3vw,4.3rem);letter-spacing:-.06em}.template-minimal .invite-art{border-radius:0;margin:0 35px 35px;height:175px}.template-minimal .invite-eyebrow{letter-spacing:4px}.template-storybook{--inv-bg:#f6e6c6;--inv-ink:#384c70;--inv-accent:#cf7656;--inv-soft:#bad3c3;border:6px solid #fff7e7;border-radius:100px 100px 12px 12px}.template-storybook .invite-copy{text-align:center;padding:55px 30px 28px}.template-storybook .invite-title{font-family:Georgia,serif;font-weight:700;font-style:italic;font-size:clamp(2.3rem,4.5vw,4.6rem);line-height:1}.template-storybook .invite-art{border-radius:100px 100px 10px 10px;border:3px solid #fff7e7}.template-storybook .invite-meta{justify-content:center;border-color:#384c7050}.palette-ocean{--inv-bg:#def4ef;--inv-ink:#063e54;--inv-accent:#e26d49;--inv-soft:#a5dfe1}.palette-sunset{--inv-bg:#fae7cf;--inv-ink:#793f36;--inv-accent:#d16743;--inv-soft:#f8c46b}.palette-forest{--inv-bg:#e5ead9;--inv-ink:#2b523f;--inv-accent:#b27448;--inv-soft:#b5cba4}.palette-ink{--inv-bg:#1c3035;--inv-ink:#f4dfb7;--inv-accent:#bf9c57;--inv-soft:#334c4c}.palette-rose{--inv-bg:#f8e6e3;--inv-ink:#6c374e;--inv-accent:#ba6583;--inv-soft:#eab4ae}
/* The invitation is a destination, not a form. */
.guest-page{--guest-bg:#edf8f1;--guest-ink:#073d4b;background:var(--guest-bg);color:var(--guest-ink);min-height:100svh}.guest-nav{position:sticky;top:0;z-index:20;background:#fffdf4ed;backdrop-filter:blur(14px);border-bottom:1px solid #123e4812;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px max(24px,calc((100vw - 1180px)/2))}.guest-nav .wordmark{font-size:13px}.guest-nav .brand-mark{width:28px;height:28px;font-size:19px;border-radius:8px}.guest-nav-links{display:flex;gap:20px;align-items:center}.guest-nav-links a{font-size:11px;font-weight:750;text-decoration:none}.guest-nav-links .btn{padding:9px 14px;min-height:35px;color:white;font-size:10px}.guest-hero{position:relative;display:grid;grid-template-columns:minmax(330px,560px) minmax(260px,440px);align-items:center;justify-content:center;gap:clamp(40px,6vw,100px);padding:clamp(40px,6vw,85px) 32px 75px;overflow:hidden;background:radial-gradient(circle at 7% 9%,#f5d7745c 0 8%,transparent 8.3%),radial-gradient(circle at 95% 89%,#acd9cf45 0 13%,transparent 13.2%),linear-gradient(135deg,#edf8ef,#fff9ec 75%,#ffe9d5)}.guest-hero .invitation{box-shadow:0 22px 65px #123e4826;border:10px solid #fffdf7;transform:rotate(-1deg)}.guest-hero-copy h1{font-size:clamp(2.8rem,5vw,5rem);line-height:.95;margin-bottom:25px}.guest-hero-copy p{color:#527177;max-width:400px;font-size:15px;line-height:1.9}.guest-hero-copy .eyebrow{color:var(--coral);font-size:10px}.guest-hero-copy .btn{margin-top:15px}.guest-recipient{display:inline-block;font-size:11px;border:1px solid #b6cec4;border-radius:99px;padding:8px 13px;margin-bottom:25px;color:#4b7167;background:#ffffff55}.guest-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:0 auto;padding:30px 24px;gap:25px;border-bottom:1px solid #cbded4}.guest-strip>div{display:flex;align-items:center;gap:15px}.guest-strip .strip-icon{display:grid;place-items:center;background:#ffffff99;border:1px solid #d1e2d8;border-radius:13px;width:46px;height:46px;color:#547366;flex-shrink:0}.guest-strip .strip-icon svg{width:20px;height:20px}.guest-strip b{font-size:13px;display:block;line-height:1.5}.guest-strip small{font-size:11px;color:#658077;display:block;overflow-wrap:anywhere}.guest-section{padding:80px 24px;max-width:1180px;margin:auto}.guest-section-heading{max-width:650px;margin-bottom:35px}.guest-section-heading h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1}.guest-section-heading p{font-size:14px;color:#5d7b75}.guest-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.guest-detail-card{padding:35px;background:#fffdf4;border:1px solid #d6e2d5;border-radius:24px}.guest-detail-card h3{font-size:27px;line-height:1.1;margin:10px 0 20px}.guest-detail-card p{color:#5d7b75;font-size:14px;white-space:pre-line;overflow-wrap:anywhere}.guest-detail-card img{width:100%;max-height:420px;object-fit:cover;border-radius:14px;margin-top:20px}.guest-rsvp-section{padding:85px 24px;background:#fff8e9}.guest-rsvp-inner{max-width:1050px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start}.guest-rsvp-heading h2{font-size:clamp(2.6rem,5vw,4.6rem);line-height:.96;margin-bottom:23px}.guest-rsvp-heading p{font-size:14px;color:#667c72;max-width:370px}.rsvp-card{padding:35px;background:white;border:1px solid #e7e6d4;border-radius:24px;box-shadow:0 12px 50px #123e4808}.rsvp-answers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:24px}.rsvp-choice{position:relative}.rsvp-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%}.rsvp-choice span{display:block;padding:14px 10px;border:1px solid var(--line);border-radius:10px;text-align:center;font-size:12px;font-weight:750;cursor:pointer}.rsvp-choice input:checked+span{background:#e2f3e8;border-color:#439171;color:#21513c}.rsvp-choice input:focus-visible+span{outline:3px solid var(--aqua);outline-offset:3px}.rsvp-success{padding:15px 0;text-align:center}.rsvp-success>span{width:65px;height:65px;border-radius:50%;background:#dff1e4;color:#3d805b;display:grid;place-items:center;font-size:30px;margin:0 auto 25px}.rsvp-success h3{font-size:29px}.rsvp-success p{font-size:13px;color:var(--muted)}.guest-community{background:#f1f3e8;border-top:1px solid #dce3d3}.guest-community .guest-section{max-width:1100px}.guest-community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.guest-chat-panel{padding:25px;background:#fffdf6;border:1px solid #d8e0d0;border-radius:22px}.guest-chat-panel h3{font-size:25px;margin-bottom:8px}.guest-chat-panel>p{font-size:12px;color:var(--muted)}.guest-chat-panel .chat-list{max-height:350px}.guest-chat-panel .chat-message{gap:9px}.guest-chat-panel .chat-bubble{padding:12px 13px}.guest-chat-panel .chat-bubble p{font-size:12px}.guest-potluck-items{display:grid;gap:13px;margin-top:20px}.guest-potluck-item{padding:18px;border-radius:14px;background:white;border:1px solid var(--line)}.guest-potluck-item h4{font-size:15px;margin:0 0 7px}.guest-potluck-item p{font-size:11px;color:var(--muted);margin:0 0 10px}.guest-potluck-item .claim-row{display:flex;align-items:center;gap:10px;margin-top:12px}.claim-row select{padding:8px;border:1px solid var(--line);border-radius:8px;background:white;font-size:12px}.guest-footer{background:var(--navy);color:#e1efea;padding:35px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.guest-footer b{display:block;font-size:14px}.guest-footer small{color:#9dbdbf;font-size:10px}.guest-footer .text-button{color:#bed4cc;font-size:11px}.envelope-overlay{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 7% 11%,#f5d6726b 0 10%,transparent 10.3%),radial-gradient(circle at 89% 84%,#a7d9cd75 0 16%,transparent 16.3%),linear-gradient(135deg,#eaf5e9,#fff8e8 63%,#ffe6d0);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:45px 24px;perspective:1200px;transition:opacity .5s}.envelope-intro{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#5e7d70;font-weight:750;margin-bottom:40px}.envelope{width:min(590px,90vw);aspect-ratio:1.45;position:relative;transform:rotate(-2deg);filter:drop-shadow(0 22px 23px #173c4724);transition:transform .75s,opacity .65s}.envelope-back{position:absolute;inset:0;border-radius:13px;background:#e6dabc;border:1px solid #d7caac}.envelope-front{position:absolute;inset:0;background:linear-gradient(148deg,transparent 49.8%,#f7efdd 50%) 0 0/50% 100% no-repeat,linear-gradient(212deg,transparent 49.8%,#eee4cf 50%) 100% 0/50% 100% no-repeat;z-index:4;border-radius:12px;border-bottom:1px solid #ddcdae}.envelope-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 57%);background:#fff8e9;z-index:6;transform-origin:top;transition:transform .7s .1s,z-index 0s .4s}.envelope-paper{position:absolute;inset:8%;border:5px solid #fffef8;background:#fffdf6;border-radius:4px;padding:26px;text-align:center;z-index:3;transition:transform .7s .2s;display:flex;align-items:center;justify-content:center;flex-direction:column}.envelope-paper h2{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(2rem,5vw,3.4rem);margin:10px 0}.envelope-paper p{font-size:11px;color:#627c70;margin:0}.envelope-seal{position:absolute;z-index:7;top:47%;left:50%;transform:translate(-50%,-50%);border:4px solid #dc5938;background:var(--coral);color:#fff1d7;width:66px;height:66px;border-radius:50%;font-size:27px;box-shadow:0 3px 0 #b84b32,0 6px 12px #7d442530;transition:opacity .25s}.envelope-address{position:absolute;z-index:5;bottom:15%;left:20%;right:20%;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:clamp(18px,4vw,27px);color:#5c6458}.envelope-hint{font-size:12px;color:#597568;margin-top:37px;text-align:center}.envelope-overlay .btn{margin-top:5px}.envelope-overlay.opening .envelope-flap{transform:rotateX(180deg);z-index:1}.envelope-overlay.opening .envelope-seal{opacity:0}.envelope-overlay.opening .envelope-paper{transform:translateY(-40%)}.envelope-overlay.opening .envelope{transform:rotate(0) translateY(15%) scale(.95);opacity:0;transition-delay:.6s}.envelope-overlay.opening{opacity:0;transition-delay:.9s;pointer-events:none}.envelope-skip{position:absolute;right:25px;top:25px;background:transparent;border:0;text-decoration:underline;font-size:11px;color:#5a786c}
/* Welcome. */
.auth-recovery-link{align-self:flex-start;margin-top:18px;min-height:44px;text-align:left}
.auth-art .mini-invite .invite-copy p{color:var(--inv-ink)}
.auth-form-wrap .notice{margin-bottom:20px}
.auth-form-wrap .stack .field{margin-bottom:0}
.settings-grid>.panel{min-width:0;align-self:start}
.settings-grid h2{font-size:1.8rem}
.settings-grid .stack{margin-top:20px}
.settings-grid .row.wrap{gap:10px}
.settings-grid .btn:disabled{cursor:not-allowed}
.settings-grid .field select{min-width:0;max-width:100%}
.credit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0;background:#edf5ee;padding:17px;border-radius:14px}
.credit-summary>div{min-width:0}
.credit-summary dt{font-size:10px;color:#42635b;line-height:1.6}
.credit-summary dd{margin:6px 0 0;font-size:clamp(16px,1.9vw,24px);font-weight:800;letter-spacing:-.7px;overflow-wrap:anywhere}
.credit-settings>.notice{margin:20px 0 16px}
.settings-footnote{display:block;color:#4b686e;font-size:11px;line-height:1.7}
.account-removal{border-color:#e4c8be;background:#fff9f4}
.account-removal .eyebrow{color:#953b2d}
.btn.danger:hover:not(:disabled){background:#f8ded5;color:#8f2f22;border-color:#d9aea0}
@media(max-width:420px){.credit-summary{gap:8px;padding:14px}.credit-summary dd{font-size:17px}.customer-ai-settings .row.wrap>.btn{width:100%}.settings-grid .panel{padding:22px}}
.auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}.auth-art{background:var(--navy);color:white;padding:45px 55px;position:relative;overflow:hidden;display:flex;flex-direction:column}.auth-art h1{font-size:clamp(3rem,5vw,5rem);max-width:550px;margin:75px 0 25px;line-height:.98}.auth-art p{color:#a9cac9;max-width:390px;font-size:14px}.auth-art .hero-cards{min-height:310px;flex:1;margin-top:10px}.auth-art .hero-cards .mini-invite{width:210px;height:285px}.auth-art .hero-cards .mini-invite:first-child{transform:rotate(-12deg) translateX(-75px)}.auth-art .hero-cards .mini-invite:last-child{transform:rotate(10deg) translateX(70px)}.auth-form-wrap{display:flex;flex-direction:column;justify-content:center;padding:65px max(40px,8vw)}.auth-form-wrap h2{font-size:2.9rem;margin:15px 0}.auth-form-wrap>p{font-size:14px;color:var(--muted);margin-bottom:28px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-bottom:25px}.auth-tabs button{padding:10px 0 13px;border:0;background:none;color:var(--muted);font-size:13px}.auth-tabs button.selected{border-bottom:2px solid var(--coral);color:var(--ink);font-weight:750}.auth-form-wrap .field{margin-bottom:18px}.auth-note{font-size:10px;color:var(--muted);line-height:1.7;margin:20px 0}.error-page{min-height:100svh;display:grid;place-items:center;padding:30px;background:var(--cream)}.error-page>div{max-width:460px;text-align:center}.error-page h1{font-size:3rem}.error-page p{color:var(--muted)}
@media(min-width:1600px){.page-content{padding-left:60px;padding-right:60px}.design-stage{padding:45px}.event-grid{gap:27px}}
@media(max-width:1150px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding:25px 16px}.sidebar .wordmark{font-size:15px;gap:9px}.sidebar .brand-mark{width:34px;height:34px}.page-content{padding:30px 28px 50px}.topbar{padding:0 28px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid,.potluck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero{padding:32px;grid-template-columns:1.15fr .8fr}.brief-layout{gap:30px}.brief-visual .invitation{width:265px}.design-layout{grid-template-columns:minmax(0,1fr) 285px;gap:20px}.design-stage{padding:20px;min-height:550px}.concept-option .invitation{height:280px}.concept-option .invite-copy{padding:19px}.concept-option .invite-art{height:115px}.two-columns,.compose-grid{grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr)}.guest-hero{gap:40px}.guest-rsvp-inner{gap:45px}.auth-form-wrap{padding:50px 40px}.auth-art{padding:40px}.auth-art h1{font-size:3.8rem}}
@media(max-width:900px){.app-shell{display:block;padding-bottom:68px}.sidebar{top:auto;bottom:0;width:100%;height:66px;padding:6px 15px;background:#073d4bf7;backdrop-filter:blur(15px)}.sidebar .wordmark,.sidebar-note,.sidebar-bottom{display:none}.sidebar-nav{display:flex;align-items:center;justify-content:space-around;gap:0;height:100%}.nav-link{flex-direction:column;gap:5px;font-size:9px;padding:7px 12px;width:auto;min-width:65px}.nav-link svg{width:18px;height:18px}.workspace{width:100%}.topbar{height:65px;padding:0 24px}.mobile-brand{display:flex;font-size:14px}.mobile-brand .brand-mark{width:30px;height:30px;font-size:20px;border-radius:9px}.topbar-label{display:none}.topbar-right>span{display:none}.page-content{padding:30px 24px 45px}.brief-layout{grid-template-columns:1fr}.brief-copy{max-width:720px;margin:auto;width:100%}.brief-visual{display:none}.brief-copy h1{max-width:600px;font-size:3.7rem}.design-layout{grid-template-columns:minmax(0,1fr) 280px}.design-stage{min-height:520px}.confirmation-grid{gap:25px}.guest-hero{grid-template-columns:minmax(300px,1fr) minmax(260px,.8fr);padding:40px 24px 55px;gap:30px}.guest-hero-copy h1{font-size:3.6rem}.guest-hero-copy p{font-size:13px}.guest-hero .invite-title{font-size:3.2rem}.guest-hero .invite-copy{padding:28px}.guest-hero .invite-art{height:200px}.guest-rsvp-inner{grid-template-columns:.8fr 1.2fr;gap:35px}.guest-community-grid{gap:20px}.guest-strip{gap:16px}.guest-strip b{font-size:11px}.guest-strip small{font-size:10px}.guest-strip .strip-icon{width:37px;height:37px}.guest-nav-links{gap:14px}.auth-art{padding:30px}.auth-art h1{font-size:3.2rem}.auth-art .hero-cards .mini-invite{width:175px;height:240px}.auth-form-wrap{padding:40px 28px}.auth-form-wrap h2{font-size:2.4rem}}
@media(max-width:700px){.page-content{padding:25px 18px 40px}.topbar{padding:0 18px}.page-heading{gap:15px;align-items:flex-start;flex-direction:column}.page-heading h1{font-size:2.6rem}.dashboard-hero{grid-template-columns:1fr;padding:30px 27px;min-height:0;gap:10px}.dashboard-hero h2{font-size:2.7rem;max-width:420px}.dashboard-hero .hero-cards{display:none}.event-grid{gap:15px}.event-card-art{height:160px;padding:13px 15px}.event-card-art .invite-title{font-size:24px}.event-card-body{padding:16px}.event-card-body h3{font-size:16px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:18px}.event-header{flex-direction:column;gap:18px}.event-header h1{font-size:2.5rem}.event-header .row{width:100%;flex-wrap:wrap}.event-tabs{gap:0;margin:0 -18px 25px;padding-left:10px;padding-right:10px}.tab-button{padding:13px 12px 15px;font-size:11px}.two-columns,.compose-grid,.confirmation-grid,.settings-grid{grid-template-columns:1fr}.overview-preview{max-height:450px}.confirmation-preview{position:static;order:-1;max-height:370px;overflow:hidden;padding:20px}.confirmation-preview .invitation{max-width:300px}.confirmation-preview .invite-title{font-size:37px}.confirmation-preview .invite-art{height:140px}.contact-grid,.potluck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.contact-card,.potluck-card{padding:18px}.contact-card .row{flex-wrap:wrap;gap:7px}.studio-progress{font-size:10px;gap:7px;margin-bottom:26px}.studio-progress i{width:16px}.brief-copy h1{font-size:3.2rem;max-width:520px}.brief-copy>p{font-size:13px}.brief-options{gap:12px}.studio-heading{flex-direction:column}.studio-heading h1{font-size:2.5rem}.concept-grid{gap:12px;overflow:auto;margin:0 -18px 25px;padding:3px 18px 10px;grid-template-columns:repeat(3,minmax(200px,1fr))}.concept-option{padding:12px}.concept-option .invitation{height:275px}.concept-option .invite-title{font-size:29px}.concept-option .invite-art{height:115px}.design-layout{grid-template-columns:1fr}.design-stage{padding:25px;min-height:450px}.design-stage .invitation{max-width:420px;max-height:700px}.design-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.design-controls .panel{padding:17px}.design-controls .panel:last-child{grid-column:1/-1}.design-actions{align-items:stretch}.design-actions .btn{flex:1}.template-select{font-size:11px}.guest-nav{padding:12px 17px}.guest-nav-links>a:not(.btn){display:none}.guest-nav-links{gap:8px}.guest-hero{grid-template-columns:1fr;padding:35px 21px 50px;gap:40px}.guest-hero .invitation{width:100%;max-width:440px;margin:auto;border-width:8px}.guest-hero .invite-title{font-size:clamp(2.6rem,9vw,4rem)}.guest-hero .invite-art{height:230px}.guest-hero-copy{text-align:center;max-width:470px;margin:auto}.guest-hero-copy h1{font-size:3.2rem}.guest-hero-copy p{margin-left:auto;margin-right:auto}.guest-recipient{margin-bottom:20px}.guest-strip{grid-template-columns:1fr;padding:26px 24px;gap:22px}.guest-strip>div{gap:15px}.guest-strip .strip-icon{width:42px;height:42px}.guest-strip b{font-size:13px}.guest-strip small{font-size:11px}.guest-section{padding:55px 21px}.guest-details-grid{grid-template-columns:1fr}.guest-detail-card{padding:28px}.guest-rsvp-section{padding:55px 21px}.guest-rsvp-inner{grid-template-columns:1fr;gap:25px}.guest-rsvp-heading{text-align:center}.guest-rsvp-heading h2{font-size:3.1rem;max-width:400px;margin-left:auto;margin-right:auto}.guest-rsvp-heading p{margin:auto}.rsvp-card{padding:25px}.guest-community-grid{grid-template-columns:1fr;gap:25px}.guest-footer{padding:28px 24px;flex-wrap:wrap}.guest-footer .wordmark{font-size:12px}.format-editorial .invite-copy{padding:20px 16px}.format-editorial .invite-title{font-size:2.2rem}.format-editorial .invite-art{min-height:340px;height:100%;margin:0;transform:none;border:0}.auth-page{grid-template-columns:1fr}.auth-art{min-height:300px;padding:30px}.auth-art h1{font-size:3.3rem;margin:40px 0 15px;max-width:460px}.auth-art p{max-width:430px}.auth-art .hero-cards{display:none}.auth-form-wrap{padding:35px 25px 60px}.auth-form-wrap h2{font-size:2.3rem}.dialog-content{padding:24px}.dialog-header h2{font-size:1.65rem}}
@media(max-width:420px){.wordmark{gap:8px}.topbar-right .btn{font-size:10px;padding:9px 11px}.topbar-right .badge{display:none}.event-grid,.contact-grid,.potluck-grid{grid-template-columns:1fr}.event-card-art{height:205px}.event-card-art .invitation{max-width:290px}.event-card-art .invite-art{height:125px}.event-card-body h3{font-size:19px}.brief-copy h1{font-size:2.85rem}.brief-options{grid-template-columns:1fr}.fields{gap:14px}.field{font-size:11px}.field input{padding:11px;font-size:13px}.design-controls{grid-template-columns:1fr}.design-controls .panel:last-child{grid-column:auto}.design-stage{padding:17px}.studio-progress span{gap:5px}.studio-progress b{width:20px;height:20px}.studio-progress i{width:8px}.guest-hero .invite-copy{padding:26px 23px}.guest-hero .invite-art{height:195px;margin:0 16px 18px}.guest-hero-copy h1{font-size:2.8rem}.rsvp-card{padding:22px}.rsvp-answers{gap:6px}.rsvp-choice span{font-size:11px;padding:13px 7px}.chat-compose{gap:8px}.chat-compose .btn{padding:12px}.envelope{aspect-ratio:1.3}.envelope-paper{padding:17px}.envelope-address{bottom:12%}.envelope-seal{width:55px;height:55px;font-size:22px}.table-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.envelope-overlay.opening{transition-delay:0s!important}}

/* Small type is held to the same contrast standard as the invitation itself. */
:root{--muted:#4b686e;--coral:#b9462c}
.btn.coral:hover:not(:disabled){background:#a43923}
.studio-progress b{color:#435d53}
.segmented button{color:#506a62}
.sidebar .nav-link{color:#b7d2d3}
.sidebar-note p{color:#bfd8d7}
.invite-eyebrow,.invite-meta{opacity:1}
.field small,.prompt-help,.auth-note{color:#4b686e}
.event-card-footer,.contact-card p,.message-meta{color:#4b686e}
.visual-sticker{color:#123e48}
.guest-hero-copy p,.guest-rsvp-heading p,.guest-section-heading p{color:#4b6865}
svg{width:20px;height:20px;vertical-align:middle}
.empty-icon svg{width:28px;height:28px}
.guest-strip small{color:#4d6a60}
.guest-footer .btn.ghost{color:#d3e4dc}
.template-noir .invite-eyebrow{color:var(--inv-ink)}
.rsvp-card small,.rsvp-card .muted{color:#425f65}
.guest-nav .wordmark small{opacity:1}

/* A chosen art direction carries through the whole guest experience. */
.guest-page{--guest-wash:#edf8ef;--guest-glow:#fff9ec;--guest-detail:#fff8e9;--guest-community:#f1f3e8}
.guest-palette-ocean{--guest-bg:#edf9f7;--guest-wash:#e5f5f3;--guest-glow:#f9fcf5;--guest-detail:#eff9f7;--guest-community:#e6f2f1}
.guest-palette-sunset{--guest-bg:#fff3e8;--guest-wash:#fae7cf;--guest-glow:#fffaf1;--guest-detail:#fff2e1;--guest-community:#faeee3}
.guest-palette-forest{--guest-bg:#f2f5e9;--guest-wash:#e7edda;--guest-glow:#fffbed;--guest-detail:#f8f4e5;--guest-community:#eaf0df}
.guest-palette-ink{--guest-bg:#f7f3e9;--guest-wash:#e7eae3;--guest-glow:#fff9eb;--guest-detail:#f4eddc;--guest-community:#e9ece5}
.guest-palette-rose{--guest-bg:#fff3f0;--guest-wash:#f8e6e3;--guest-glow:#fffaf2;--guest-detail:#fdf0e9;--guest-community:#f7eae5}
.guest-hero{background:radial-gradient(circle at 7% 9%,#f5d7745c 0 8%,transparent 8.3%),radial-gradient(circle at 95% 89%,#acd9cf45 0 13%,transparent 13.2%),linear-gradient(135deg,var(--guest-wash),var(--guest-glow) 75%,var(--guest-detail))}
.guest-rsvp-section{background:var(--guest-detail)}
.guest-community{background:var(--guest-community)}
.guest-template-garden .guest-hero-copy h1{font-family:Georgia,serif;font-weight:450;font-style:italic;line-height:1.04}
.guest-template-garden .guest-detail-card{border-radius:48% 48% 24px 24px;padding-top:65px}
.guest-template-editorial .guest-hero-copy{border-left:2px solid currentColor;padding-left:30px}
.guest-template-editorial .guest-hero-copy h1{font-family:Georgia,serif;font-weight:450;letter-spacing:-.065em}
.guest-template-editorial .guest-hero .invitation,.guest-template-minimal .guest-hero .invitation{transform:none;border-width:1px}
.guest-template-noir .guest-nav{background:#172e34;color:#f7e6bc;border-color:#334a48}
.guest-template-noir .guest-nav .brand-mark{background:#d8b66d;color:#172e34}
.guest-template-noir .guest-nav .btn{background:#f7e6bc;color:#172e34}
.guest-template-noir .guest-hero-copy h1{font-family:Georgia,serif;font-weight:450}
.guest-template-noir .guest-detail-card{border:1px solid #a6976c;border-radius:6px}
.guest-template-confetti .guest-hero{background:radial-gradient(circle at 11% 12%,#e9b7a4 0 3%,transparent 3.2%),radial-gradient(circle at 90% 85%,#93c8ca 0 5%,transparent 5.2%),radial-gradient(circle at 88% 10%,#f4ce6499 0 2%,transparent 2.2%),linear-gradient(135deg,var(--guest-wash),var(--guest-glow))}
.guest-template-confetti .guest-hero-copy h1{letter-spacing:-.075em;font-weight:900}
.guest-template-coastal .guest-hero{background:repeating-linear-gradient(90deg,#ffffff50 0 35px,transparent 35px 70px),linear-gradient(var(--guest-wash),var(--guest-glow))}
.guest-template-coastal .guest-hero .invitation{transform:rotate(2deg)}
.guest-template-minimal .guest-hero{background:#fffdf9}
.guest-template-minimal .guest-hero-copy h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.6rem,4.5vw,4.7rem)}
.guest-template-minimal .guest-detail-card{border-radius:2px;background:#fffdf9}
.guest-template-storybook .guest-hero-copy h1{font-family:Georgia,serif;font-weight:500;line-height:1.06}
.guest-template-storybook .guest-hero .invitation{border-radius:48% 48% 14px 14px;transform:rotate(-2deg)}
.guest-template-storybook .guest-detail-card{border:double 5px #b5c6ad;border-radius:24px;background:#fffcf1}
.guest-chat-disabled .guest-community-grid>.guest-chat-panel:first-child,.guest-potluck-disabled .guest-community-grid>.guest-chat-panel:last-child{display:none}
.guest-chat-disabled .guest-community-grid,.guest-potluck-disabled .guest-community-grid{grid-template-columns:1fr}
.guest-chat-disabled.guest-potluck-disabled .guest-community{display:none}
@media(max-width:700px){.guest-template-editorial .guest-hero-copy{border-left:0;padding-left:0}.guest-template-garden .guest-detail-card{padding-top:45px;border-radius:28px}}
.guest-footer .btn.ghost:hover{background:#ffffff14;color:white}
.concept-option .invitation .invite-title{font-size:30px;line-height:1.02;letter-spacing:-1.4px;margin-bottom:12px}
.concept-option .invitation .invite-copy{padding:22px 18px}
.concept-option .invitation .invite-eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:12px}
.concept-option .invitation .invite-honoree{font-size:9px;line-height:1.55;margin-bottom:10px}
.concept-option .invitation .invite-meta{font-size:8px;margin-top:13px;padding-top:10px;gap:5px 9px}
.concept-option .invitation .invite-art{height:120px;min-height:0;margin:0 16px 16px;border-width:3px}
.concept-option .invitation.format-editorial{grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr)}
.concept-option .invitation.format-editorial .invite-copy{padding:19px 10px}
.concept-option .invitation.format-editorial .invite-title{font-size:24px}
.concept-option .invitation.format-editorial .invite-art{height:100%;min-height:275px;margin:0;border:0;border-radius:0;transform:none}
.concept-option .invitation.format-story .invite-art{margin:0;height:130px;border:0;border-radius:0;transform:none}
.concept-option .invitation.template-storybook{border-width:4px;border-radius:65px 65px 9px 9px}
.concept-option .invitation.template-storybook .invite-copy{padding-top:35px}
.mini-invite .invitation .invite-title{font-size:24px;line-height:1.05;letter-spacing:-1px}
.mini-invite .invitation .invite-copy{padding:14px}
.mini-invite .invitation .invite-meta{font-size:6px;margin-top:10px;padding-top:6px}
.mini-invite .invitation .invite-honoree{font-size:7px;margin-bottom:9px}
.mini-invite .invitation .invite-art{height:90px;min-height:0;margin:0 10px 10px}
.event-card-art .invitation .invite-title{font-size:27px;line-height:1.04;letter-spacing:-1px}
.event-card-art .invitation .invite-copy{padding:20px}
.event-card-art .invitation .invite-art{height:120px;min-height:0}
.event-card-art .invitation .invite-eyebrow{font-size:7px;letter-spacing:1.3px}
.event-card-art .invitation .invite-honoree{font-size:8px}
.event-card-art .invitation .invite-meta{font-size:7px}
.event-card-footer svg{width:11px;height:11px;margin-left:4px}
@media(max-width:700px){.concept-option .invitation .invite-title{font-size:27px}.concept-option .invitation.format-editorial .invite-title{font-size:22px}.concept-option .invitation .invite-copy{padding:19px 16px}}

/* Whole artwork, readable details, and a clear distinction between compositions. */
.invitation{container-type:inline-size}
.invitation .invite-art img,.invite-extra img,.guest-detail-card img{object-fit:contain}
.invitation.format-editorial{grid-template-columns:minmax(0,1fr)}
.invitation.format-editorial .invite-copy{padding:30px 28px;min-width:0;text-align:left;justify-content:center}
.invitation.format-editorial .invite-title{font-size:clamp(26px,7cqi,42px);line-height:1.08;letter-spacing:-.045em;overflow-wrap:break-word}
.invitation.format-editorial .invite-honoree{font-size:13px;line-height:1.7}
.invitation.format-editorial .invite-meta{font-size:11px;line-height:1.8}
.invitation.format-editorial .invite-art{grid-column:auto;grid-row:auto;height:300px;min-height:0;margin:0 22px 22px;border-radius:10px;transform:none}
.invitation.format-editorial.hero-small .invite-art{height:220px}
.invitation.format-editorial.hero-large .invite-art{height:420px}
.invite-description{grid-column:1/-1;padding:4px 30px 26px;position:relative;z-index:2}
.invite-description p{font-size:14px;line-height:1.85;white-space:pre-line;margin:0;overflow-wrap:break-word}
.format-help,.layout-explanation{font-size:11px;line-height:1.75;color:var(--muted);margin:12px 0 18px}
.format-help b{color:var(--ink)}
.time-editor{padding:0;border:0;margin:0;min-width:0}
.time-editor legend{font-size:11px;font-weight:750;margin-bottom:8px}
.time-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(65px,1fr);gap:5px;align-items:center}
.time-controls label{min-width:0}
.time-controls select{padding:12px 6px;width:100%;min-width:0;text-align:center}
.contact-picker{display:grid;gap:12px;max-height:min(58svh,620px);overflow:auto;padding:2px}
.contact-choice{border:1px solid var(--line);border-radius:13px;background:#fffdf7;min-width:0}
.contact-choice.selected{border-color:#439171;background:#f0f8f0}
.contact-choice.added{background:#f2f5ed;opacity:.75}
.contact-choice-heading{display:flex;gap:13px;padding:17px;align-items:flex-start;cursor:pointer}
.contact-choice-heading input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:var(--aqua)}
.contact-choice-heading span{min-width:0;overflow-wrap:anywhere}
.contact-choice-heading b{font-size:13px;display:block}
.contact-choice-heading small{display:block;font-size:10px;font-weight:450;line-height:1.65;color:var(--muted);margin-top:4px}
.recipient-fields{border:0;border-top:1px solid #d5e4d3;margin:0 17px;padding:17px 0 0;min-width:0}
.recipient-fields .layout-explanation{margin-bottom:14px}
.envelope-style-picker{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.envelope-style-picker legend{font-size:13px;font-weight:750;margin-bottom:12px}
.envelope-style-choice{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:11px;cursor:pointer;background:#fffdf7}
.envelope-style-choice:has(input:checked){border-color:#439171;background:#edf6eb}
.envelope-style-choice input{width:17px;height:17px;flex:0 0 17px;margin-top:3px;accent-color:var(--aqua)}
.envelope-style-choice b{font-size:12px;display:block}
.envelope-style-choice small{display:block;font-size:10px;line-height:1.65;color:var(--muted);margin-top:4px}
.guest-page>header[hidden],.guest-page>main[hidden],.guest-page>footer[hidden],.recipient-fields[hidden]{display:none}
.envelope-paper{opacity:0;transform:translateY(10%);transition:transform .7s .5s,opacity .25s .45s}
.envelope-paper h3{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(1.7rem,5vw,3.2rem);line-height:1.08;letter-spacing:-.04em;margin:12px 0;overflow-wrap:break-word}
.envelope-overlay.opening .envelope-paper{opacity:1;transform:translateY(-48%)}
.envelope-overlay.opening .envelope{opacity:1;transform:rotate(0);animation:envelope-depart .55s 1.2s ease-in forwards}
.envelope-overlay.opening{transition:opacity .6s 1.3s;opacity:0}
.envelope-style-ribbon .envelope::before,.envelope-style-ribbon .envelope::after{content:"";position:absolute;background:#bc5c6a;z-index:6;box-shadow:inset 3px 0 #ffffff24,inset -3px 0 #7b364326;transition:opacity .2s,transform .4s}
.envelope-style-ribbon .envelope::before{inset:0 auto 0 45%;width:10%}
.envelope-style-ribbon .envelope::after{inset:43% 0 auto;height:12%}
.envelope-style-ribbon .envelope-seal{background:#7d3548;border-color:#a5475b;box-shadow:0 3px 0 #592234,0 6px 12px #7d442530}
.envelope-style-ribbon .envelope-back{background:#f2dfdf;border-color:#d5b8bf}
.envelope-style-ribbon .envelope-flap{background:#fff2ef}
.envelope-style-ribbon.opening .envelope::before{opacity:0;transform:scaleY(.2)}
.envelope-style-ribbon.opening .envelope::after{opacity:0;transform:scaleX(.2)}
.envelope-style-minimal .envelope{transform:rotate(0);filter:drop-shadow(0 16px 22px #173c4715)}
.envelope-style-minimal .envelope-back{background:#efeee7;border-radius:3px;border-color:#d7d5c9}
.envelope-style-minimal .envelope-front{border-radius:3px;background:linear-gradient(148deg,transparent 49.8%,#f9f8f1 50%) 0 0/50% 100% no-repeat,linear-gradient(212deg,transparent 49.8%,#f3f1e8 50%) 100% 0/50% 100% no-repeat}
.envelope-style-minimal .envelope-flap{background:#fffefa}
.envelope-style-minimal .envelope-seal{width:54px;height:54px;background:#2d5147;border:2px solid #456d5d;box-shadow:0 2px 0 #1c3d33;font-size:22px}
.envelope-style-minimal .envelope-address{font-style:normal;letter-spacing:1px}
@keyframes envelope-depart{to{transform:translateY(22%) scale(.94);opacity:0}}
@media(min-width:1200px){
  .design-stage .invitation.format-editorial{max-width:720px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .guest-hero .invitation.format-editorial{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .design-stage .invitation.format-editorial .invite-art,.guest-hero .invitation.format-editorial .invite-art{grid-column:2;grid-row:1;margin:20px 20px 20px 0;align-self:center}
}
@media(max-width:700px){.invitation.format-editorial .invite-copy{padding:25px 22px}.invitation.format-editorial .invite-art{height:260px;margin:0 18px 18px}.invitation.format-editorial.hero-large .invite-art{height:340px}.invite-description{padding:4px 22px 24px}.envelope-intro{font-size:9px;letter-spacing:2px}.envelope-paper{padding:16px}.envelope-hint{max-width:260px}}
@media(prefers-reduced-motion:reduce){.envelope-overlay,.envelope,.envelope-paper,.envelope-flap,.envelope-seal,.envelope::before,.envelope::after{animation:none!important;transition:none!important}}
.concept-option .invitation.format-editorial .invite-title{font-size:clamp(16px,9cqi,24px)}
.concept-option .invitation.format-editorial .invite-honoree{font-size:9px;line-height:1.55}
.concept-option .invitation.format-editorial .invite-meta{font-size:8px;line-height:1.65}
.envelope-style-ribbon .envelope-address{z-index:7;bottom:14%;left:15%;right:15%;padding:5px 12px;background:#fff5ec;border:1px solid #dbc7c2;border-radius:3px}
/* Composition families change the stationery, never the shared artwork. */
.invitation .invite-title{overflow-wrap:break-word;word-break:normal}
.invitation.format-card{display:grid;grid-template-columns:minmax(0,1fr)}
.invitation.format-card>.invite-description,.invitation.format-card>.invite-extra{grid-column:1}
.invitation.template-splash.format-card{border:8px solid var(--inv-soft);border-radius:22px 22px 48px 22px}
.invitation.template-splash.format-card .invite-copy{padding:30px 27px 25px;text-align:left}
.invitation.template-splash.format-card .invite-title{font-weight:900;letter-spacing:-.065em;transform:rotate(-2deg)}
.invitation.template-splash.format-card .invite-art{margin:0 20px 28px;border:7px solid #fffdf4;border-radius:7px 28px 7px 7px;transform:rotate(1.5deg);box-shadow:7px 8px 0 color-mix(in srgb,var(--inv-accent) 25%,transparent)}
.invitation.template-garden.format-card{border:double 5px color-mix(in srgb,var(--inv-ink) 35%,var(--inv-bg));border-radius:130px 130px 9px 9px;padding-top:24px}
.invitation.template-garden.format-card .invite-art{grid-row:1;margin:14px 35px 0;border-radius:150px 150px 5px 5px;border:1px solid color-mix(in srgb,var(--inv-ink) 25%,transparent);transform:none}
.invitation.template-garden.format-card .invite-copy{grid-row:2;text-align:center;padding:28px 30px 33px}
.invitation.template-garden.format-card .invite-title{font-family:Georgia,serif;font-style:italic;line-height:1.04;letter-spacing:-.045em}
.invitation.template-garden.format-card .invite-symbol{top:auto;bottom:14px;right:calc(50% - 13px);font-size:26px}
.invitation.template-editorial.format-card{border:0;border-left:9px solid var(--inv-ink);border-radius:0}
.invitation.template-editorial.format-card .invite-art{grid-row:1;margin:0;height:270px;border:0;border-radius:0;transform:none}
.invitation.template-editorial.format-card .invite-copy{grid-row:2;text-align:left;padding:29px 28px 34px;border-top:1px solid var(--inv-ink)}
.invitation.template-editorial.format-card .invite-title{font-family:Georgia,serif;letter-spacing:-.06em;font-weight:400;font-size:clamp(28px,9cqi,50px)}
.invitation.template-editorial.format-card .invite-eyebrow{font-family:monospace;letter-spacing:3px;border-bottom:1px solid var(--inv-ink);padding-bottom:12px}
.invitation.template-noir.format-card{border:double 6px color-mix(in srgb,var(--inv-ink) 60%,var(--inv-bg));border-radius:6px;padding:10px}
.invitation.template-noir.format-card .invite-copy{padding:32px 22px 23px;text-align:center}
.invitation.template-noir.format-card .invite-title{font-family:Georgia,serif;line-height:1.1;font-weight:400;letter-spacing:-.035em}
.invitation.template-noir.format-card .invite-art{border:double 5px color-mix(in srgb,var(--inv-ink) 60%,var(--inv-bg));border-radius:50%;margin:0 36px 30px;transform:none}
.invitation.template-noir.format-card .invite-eyebrow{letter-spacing:4px;opacity:1}
.invitation.template-confetti.format-card{border:8px solid var(--inv-soft);border-radius:30px 8px 30px 8px;padding-top:24px}
.invitation.template-confetti.format-card .invite-art{grid-row:1;margin:0 30px 8px;border:8px solid #fffaf0;border-radius:9px;transform:rotate(-3deg);box-shadow:8px 7px 0 color-mix(in srgb,var(--inv-accent) 30%,transparent)}
.invitation.template-confetti.format-card .invite-copy{grid-row:2;padding:28px 26px 30px;text-align:left}
.invitation.template-confetti.format-card .invite-title{font-weight:900;line-height:.99;letter-spacing:-.065em;transform:rotate(1deg);text-shadow:2px 2px color-mix(in srgb,var(--inv-accent) 28%,var(--inv-bg))}
.invitation.template-confetti.format-card .invite-eyebrow{display:inline-block;background:var(--inv-ink);color:var(--inv-bg);padding:7px 10px;opacity:1;transform:rotate(-2deg);border-radius:4px}
.invitation.template-coastal.format-card{border:12px solid var(--inv-soft);border-radius:2px;padding:8px}
.invitation.template-coastal.format-card .invite-art{grid-row:1;margin:0;border:0;border-radius:0;transform:none;height:230px}
.invitation.template-coastal.format-card .invite-copy{grid-row:2;padding:26px 19px 22px;text-align:left;border-top:5px solid var(--inv-soft)}
.invitation.template-coastal.format-card .invite-title{font-family:Georgia,serif;font-style:italic;letter-spacing:-.045em;line-height:1.02}
.invitation.template-coastal.format-card .invite-meta{justify-content:flex-start;border-top:0;border-left:2px solid var(--inv-ink);padding:0 0 0 14px}
.invitation.template-minimal.format-card{border:1px solid color-mix(in srgb,var(--inv-ink) 25%,var(--inv-bg));border-radius:0;padding:18px 14px}
.invitation.template-minimal.format-card .invite-copy{padding:35px 24px 28px;text-align:left}
.invitation.template-minimal.format-card .invite-title{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em;line-height:1.08;max-width:12ch}
.invitation.template-minimal.format-card .invite-art{width:70%;margin:0 24px 30px;border:0;border-radius:0;height:180px;transform:none}
.invitation.template-minimal.format-card .invite-symbol{display:none}
.invitation.template-storybook.format-card{border:double 8px var(--inv-soft);border-radius:90px 90px 20px 20px;padding:9px}
.invitation.template-storybook.format-card .invite-copy{padding:40px 23px 25px;text-align:center}
.invitation.template-storybook.format-card .invite-title{font-family:Georgia,serif;font-style:italic;font-weight:700;letter-spacing:-.04em;line-height:1.03}
.invitation.template-storybook.format-card .invite-art{border:4px solid var(--inv-soft);border-radius:140px 140px 12px 12px;margin:0 17px 21px;transform:none}
.invitation.format-story{display:grid;grid-template-columns:minmax(0,1fr);border-radius:8px}
.invitation.format-story>.invite-art{grid-row:1;margin:0;border-radius:0;border-width:0;transform:none;height:320px}
.invitation.format-story>.invite-copy{grid-row:2;padding:34px 30px}
.invitation.format-story>.invite-description,.invitation.format-story>.invite-extra{grid-column:1}
.invitation.font-serif .invite-title{font-family:Georgia,"Times New Roman",serif;font-style:normal;font-weight:400}
.invitation.font-modern .invite-title{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-style:normal;font-weight:650}
.invitation.palette-rainbow{--inv-bg:#fff7ed;--inv-ink:#393451;--inv-accent:#a24462;--inv-soft:#fffdf6;background:radial-gradient(ellipse at 0% 0%,#f7c2b8 0,transparent 48%),radial-gradient(ellipse at 100% 0%,#f8df9c 0,transparent 48%),radial-gradient(ellipse at 100% 100%,#b8dfd1 0,transparent 50%),radial-gradient(ellipse at 0% 100%,#cec6e8 0,transparent 48%),#fff7ed}
.invitation.palette-rainbow.template-confetti{background-image:radial-gradient(#b96b8d 1.4px,transparent 1.8px),radial-gradient(#538b85 1.4px,transparent 1.8px),linear-gradient(135deg,#f8cfbd,#fae9b2 30%,#c9e7dc 65%,#ded2ef);background-position:9px 12px,30px 34px,0 0;background-size:57px 67px,73px 79px,100% 100%}
.guest-palette-rainbow{--guest-wash:#fce4d8;--guest-glow:#fff6d7;--guest-detail:#eef5e4;--guest-community:#eee9f5}
.sample-artwork-label{position:absolute;top:10px;left:12px;z-index:3;background:#fffdf4;color:#365548;border:1px solid #cbd8cd;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:750}
.design-stage:has(.sample-artwork-label){padding-top:45px}
.host-preview-banner{padding:18px 25px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff2d7;color:#513f22;border-bottom:1px solid #dac6a3}
.host-preview-banner b{font-size:13px}.host-preview-banner p{font-size:11px;margin:5px 0 0;line-height:1.6}.host-preview-banner .btn{flex:none}
[data-form="rsvp"] :disabled,[data-form="guest-chat"] :disabled,[data-form="claim"] :disabled{cursor:not-allowed;opacity:.6}
@media(max-width:700px){.host-preview-banner{align-items:flex-start;flex-direction:column;padding:18px 21px}.invitation.format-story>.invite-art{height:260px}}
/* Miniatures retain each composition without borrowing viewport-sized type. */
.concept-option .invitation.format-card .invite-copy{padding:17px 14px 20px}
.concept-option .invitation.format-card .invite-title{font-size:clamp(19px,12cqi,28px);line-height:1.06}
.concept-option .invitation.format-card .invite-art{height:105px;min-height:0;margin-left:15px;margin-right:15px;border-width:3px}
.concept-option .invitation.template-garden.format-card{padding-top:9px;border-radius:65px 65px 6px 6px}
.concept-option .invitation.template-garden.format-card .invite-art{margin-top:5px}
.concept-option .invitation.template-noir.format-card .invite-art{margin-left:26px;margin-right:26px}
.concept-option .invitation.template-confetti.format-card{padding-top:15px}
.concept-option .invitation.template-minimal.format-card{padding:8px 6px}
.concept-option .invitation.template-storybook.format-card{border-radius:65px 65px 10px 10px}
/* One bounded sizing contract applies to every composition and font choice. */
.invitation{--hero-height:230px}
.invitation.template-minimal{--hero-height:180px}
.invitation.format-editorial{--hero-height:300px}
.invitation.format-story{--hero-height:320px}
.invitation.hero-small{--hero-height:150px}
.invitation.hero-large{--hero-height:350px}
.invitation:is(.format-card,.format-editorial,.format-story):is(.hero-small,.hero-medium,.hero-large) .invite-art{height:var(--hero-height);min-height:0}
.invitation:is(.format-card,.format-editorial,.format-story).font-serif .invite-title{font-family:Georgia,"Times New Roman",serif;font-style:normal;font-weight:400}
.invitation:is(.format-card,.format-editorial,.format-story).font-modern .invite-title{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-style:normal;font-weight:650}
.concept-option .invitation:is(.format-card,.format-story):is(.hero-small,.hero-medium,.hero-large) .invite-art{height:105px;min-height:0}
/* The editor scrolls as a page, so large artwork never hides invitation facts. */
.design-stage .invitation{max-height:none;overflow:clip}
/* Prompt first; detailed controls are disclosed only when the host wants them. */
.refinement-panel{border-color:#b4cdc2;background:#f5faf5}
.design-controls>.refinement-panel{grid-column:1/-1}
.refinement-heading{font-size:14px;color:var(--ink)!important;font-weight:800!important}
.refinement-panel .field textarea{min-height:116px}
.refinement-panel .stack{gap:13px}
.refinement-panel .layout-explanation{margin:0}
.control-disclosure{min-width:0}
.control-disclosure>summary{font-size:13px;font-weight:800;cursor:pointer;min-height:24px;line-height:1.6;color:var(--ink)}
.control-disclosure>summary span{font-weight:500;font-size:10px;color:var(--muted);margin-left:8px}
.disclosure-content{display:grid;gap:13px;margin-top:20px}
.disclosure-content>.control-heading{margin:0}
.section-options>summary{font-size:11px;font-weight:700;cursor:pointer;line-height:1.7}
.section-options>.stack{margin-top:12px;gap:12px}
.section-editor .btn{font-size:10px}
.invitation>.invite-pattern{position:absolute;inset:0;z-index:0;pointer-events:none;background-position:0 0}
.invitation>.invite-copy,.invitation>.invite-art,.invitation>.invite-description,.invitation>.invite-extra{position:relative;z-index:1}
.invitation.background-confetti>.invite-pattern{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='145' viewBox='0 0 160 145'%3E%3Cg opacity='.56'%3E%3Cpath d='m14 19 5-3 8 12-5 3z' fill='%23c85168'/%3E%3Cpath d='m85 10 7 1-2 13-7-1z' fill='%23c88f32'/%3E%3Cpath d='m125 72 6-4 9 12-6 4z' fill='%236a94b3'/%3E%3Cpath d='m53 91 6 3-5 13-6-3z' fill='%23836bab'/%3E%3Cpath d='m114 125 5-4 8 10-5 4z' fill='%23b85e3e'/%3E%3Cpath d='m7 121 7-2 4 12-7 2z' fill='%234a9682'/%3E%3Ccircle cx='55' cy='44' r='3' fill='%23c88f32'/%3E%3Ccircle cx='145' cy='25' r='3' fill='%23836bab'/%3E%3Ccircle cx='28' cy='67' r='3' fill='%234a9682'/%3E%3Ccircle cx='87' cy='116' r='3' fill='%23c85168'/%3E%3C/g%3E%3C/svg%3E");background-size:160px 145px}
.invitation.background-dots>.invite-pattern{background-image:radial-gradient(circle,#587d7866 1.5px,transparent 2px);background-size:22px 22px}
.invitation.background-stripes>.invite-pattern{background-image:repeating-linear-gradient(135deg,#789b8d1c 0 7px,transparent 7px 23px)}
.invitation.dividers-line>.invite-extra+.invite-extra{border-top:1px solid currentColor}
.invitation.dividers-dots>.invite-extra+.invite-extra{border-top:4px dotted currentColor}
.invitation>.invite-extra.appearance-panel{margin:10px 20px;padding:22px;border-radius:16px;background:color-mix(in srgb,var(--inv-bg),white 82%);border:1px solid #78978a;color:#173c47}
.invitation>.invite-extra.appearance-accent{margin:10px 20px;padding:22px;border-left:5px solid var(--inv-accent);background:color-mix(in srgb,var(--inv-bg),white 82%);border-radius:0 12px 12px 0;color:#173c47}
.guest-details-grid.dividers-line,.guest-details-grid.dividers-dots{grid-template-columns:minmax(0,1fr)}
.guest-details-grid.dividers-line>.guest-detail-card+.guest-detail-card{border-top:2px solid #537b71}
.guest-details-grid.dividers-dots>.guest-detail-card+.guest-detail-card{border-top:5px dotted #537b71}
.guest-details-grid>.guest-detail-card.appearance-panel{background:#e7f0e9;border:1px solid #9cb7a8;border-radius:18px}
.guest-details-grid>.guest-detail-card.appearance-accent{background:#fff9e9;border-left:6px solid #b64e36;border-radius:0 18px 18px 0}
.guest-details-grid>.guest-detail-card.appearance-panel>p,.guest-details-grid>.guest-detail-card.appearance-accent>p{color:#355b54}
.personal-text-card{border:1px solid var(--line);border-radius:15px;padding:19px;background:#fffefa;min-width:0}
.personal-text-card h3{font-size:16px;margin-bottom:10px}
.personal-text-card .field{margin-bottom:15px}
.personal-text-card textarea{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
.personal-text-card .row>.btn{flex:1}
/* A shared, fitted canvas keeps Design and Confirm faithful to one another. */
.studio-workbench.design-layout,.studio-workbench.confirmation-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.85fr);align-items:stretch;gap:24px;height:min(860px,calc(100dvh - 116px));min-height:480px}
.studio-workbench .studio-preview-panel{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-self:stretch;min-width:0;min-height:0;height:auto;max-height:none;padding:0;border:1px solid #d4dfd4;border-radius:22px;background:#e9eee3;overflow:hidden;order:0}
.studio-workbench .preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#f7f9f1;border-bottom:1px solid #d4dfd4;flex:none}
.preview-toolbar>span{font-size:11px;font-weight:750;color:#355b54}
.preview-device-switcher{display:flex;flex:none;padding:3px}
.preview-device-switcher button{padding:7px 9px;min-height:32px;font-size:10px}
.preview-viewport{overflow:auto;overscroll-behavior:contain;min-height:0;min-width:0;flex:1;padding:12px 0;scrollbar-gutter:stable}
.preview-scaled{position:relative;margin:0 auto;min-height:1px}
.preview-canvas{position:absolute;left:0;top:0;width:var(--preview-width);container-type:inline-size;container-name:invitation-preview;transform-origin:top left;display:flow-root;padding:16px 0}
.preview-canvas>.invitation{width:calc(100% - 32px);max-width:560px;margin:0 auto;max-height:none;min-height:0;box-shadow:0 15px 40px #123e4820}
.preview-canvas>.invitation.format-editorial{max-width:840px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.preview-canvas>.invitation.format-story{max-width:700px}
.preview-caption{font-size:10px;line-height:1.5;color:#355b54;background:#f7f9f1;padding:9px 14px;margin:0;flex:none;border-top:1px solid #d4dfd4}
.studio-workbench .studio-scroll-controls{display:block;overflow:auto;overscroll-behavior:contain;min-height:0;min-width:0;max-height:none;height:100%;padding:0 8px 0 0;scrollbar-gutter:stable}
.studio-scroll-controls>.panel,.studio-scroll-controls>.control-disclosure{margin-bottom:16px}
.studio-controls-footer.design-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0;padding:14px 0;background:var(--cream)}
.studio-controls-footer .btn{width:100%;flex:none}
.confirmation-controls .panel{margin-bottom:0}
.section-color-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.section-color-fields input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.invitation.corners-square[class*="template-"][class*="format-"]{border-radius:0}
.invitation.corners-square .invite-art,.invitation.corners-square .invite-art img{border-radius:0}
.invitation.corners-square>.invite-extra,.invitation.corners-square>.invite-extra img,.guest-corners-square .guest-details-grid>.guest-detail-card[class*="appearance-"],.guest-corners-square .guest-details-grid>.guest-detail-card[class*="appearance-"] img{border-radius:0}
.invitation>.invite-extra.custom-section-colors>h3,.invitation>.invite-extra.custom-section-colors>p,.guest-details-grid>.guest-detail-card.custom-section-colors>h3,.guest-details-grid>.guest-detail-card.custom-section-colors>p{color:inherit}
.invitation.dividers-line>.invite-extra{border-top:1px solid currentColor}
.invitation.dividers-dots>.invite-extra{border-top:4px dotted currentColor}
.guest-details-grid.dividers-line>.guest-detail-card{border-top:2px solid #537b71}
.guest-details-grid.dividers-dots>.guest-detail-card{border-top:5px dotted #537b71}
/* Editorial artwork is the complete image, not a picture floating in a filler box. */
.invitation.format-editorial{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.invitation.format-editorial .invite-art,.preview-canvas>.invitation.format-editorial .invite-art{grid-column:2;grid-row:1;align-self:center;display:flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none;margin:18px 18px 18px 0;border-radius:0;transform:none}
.invitation.format-editorial .invite-art img{object-fit:contain;border-radius:0}
.invitation.format-editorial>.invite-description,.invitation.format-editorial>.invite-extra{grid-column:1/-1}
.preview-canvas>.invitation .invite-title{font-size:clamp(28px,9cqi,64px)}
.preview-canvas>.invitation.format-editorial .invite-title{font-size:clamp(25px,5cqi,42px)}
@container invitation-preview (max-width:600px){.preview-canvas>.invitation.format-editorial{grid-template-columns:minmax(0,1fr)}.preview-canvas>.invitation.format-editorial .invite-art{grid-column:1;grid-row:auto;margin:0 22px 22px}.preview-canvas>.invitation.format-editorial .invite-title{font-size:clamp(26px,8cqi,38px)}}
.compact-contact-row{display:flex;align-items:center;gap:10px;padding-right:14px;min-width:0}
.compact-contact-row>.contact-choice-heading{flex:1;min-width:0;padding-bottom:9px}
.compact-contact-row>.btn{flex:none;font-size:10px;min-height:32px;padding:7px 9px}
.recipient-summary{font-size:10px;line-height:1.6;color:#355b54;margin:0;padding:0 17px 14px 48px;overflow-wrap:anywhere}
.delivery-contact-note{font-size:12px;line-height:1.7;color:#355b54;background:#edf5ec;border-radius:12px;padding:14px;overflow-wrap:anywhere}
@media(max-width:1000px){.studio-workbench.design-layout,.studio-workbench.confirmation-grid{gap:18px;grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}}
@media(max-width:700px){.studio-workbench.design-layout,.studio-workbench.confirmation-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(160px,32%) minmax(0,1fr);gap:12px;height:calc(100dvh - 90px);min-height:540px}.studio-workbench .studio-preview-panel{border-radius:16px}.studio-workbench .preview-toolbar{padding:7px 10px;gap:7px}.preview-toolbar>span{font-size:10px}.preview-device-switcher button{padding:6px 8px;min-height:30px;font-size:10px}.preview-caption{display:none}.studio-workbench .studio-scroll-controls{padding-right:3px}.studio-scroll-controls>.panel,.studio-scroll-controls>.control-disclosure{margin-bottom:12px}.studio-controls-footer.design-actions{padding:8px 0}.studio-controls-footer .btn{font-size:12px;min-height:40px}.compact-contact-row{gap:5px;padding-right:10px}.compact-contact-row>.contact-choice-heading{padding:13px 8px 7px 12px;gap:9px}.compact-contact-row>.btn{max-width:95px;font-size:10px}.recipient-summary{padding-left:40px}.invitation.format-editorial{grid-template-columns:minmax(0,1fr)}.invitation.format-editorial .invite-art{grid-column:1;grid-row:auto;margin:0 22px 22px}.preview-canvas>.invitation.format-editorial .invite-art{grid-column:2;grid-row:1;margin:18px 18px 18px 0}.preview-canvas[data-device="phone"]>.invitation.format-editorial .invite-art{grid-column:1;grid-row:auto;margin:0 22px 22px}}
@media(max-height:600px) and (max-width:700px){.studio-workbench.design-layout,.studio-workbench.confirmation-grid{height:calc(100dvh - 50px);min-height:370px;grid-template-rows:minmax(115px,30%) minmax(0,1fr)}}
@media(min-width:701px) and (max-width:1000px){.design-controls{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  .concept-option .invitation.format-editorial{grid-template-columns:minmax(0,1fr)}
  .concept-option .invitation.format-editorial .invite-copy{padding:16px 12px}
  .concept-option .invitation.format-editorial .invite-title{font-size:22px;line-height:1.02;margin-bottom:10px}
  .concept-option .invitation.format-editorial .invite-honoree{display:none}
  .concept-option .invitation.format-editorial .invite-meta{font-size:7px;line-height:1.5;margin-top:8px;padding-top:8px;gap:4px 8px}
  .concept-option .invitation.format-editorial .invite-art{grid-column:1;grid-row:auto;height:85px;min-height:0;margin:0 12px 10px;border-radius:6px}
}
