.invite-page{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 18px max(34px, env(safe-area-inset-bottom));place-items:center;display:grid}.invite-centered{color:var(--color-muted);text-align:center;align-content:center}.invite-card{background:var(--color-surface);border:3px solid var(--color-ink);border-radius:var(--radius-lg);width:min(100%,620px);box-shadow:var(--shadow-card);padding:clamp(30px,7vw,58px);position:relative}.invite-card:before{color:var(--color-primary);content:"✦";font-size:1.45rem;position:absolute;top:18px;right:22px;transform:rotate(12deg)}.invite-card h1{letter-spacing:-.035em;margin:8px 0 14px;font-size:clamp(2rem,8vw,3.5rem);line-height:1.08}.invite-kicker{color:var(--color-primary-strong);letter-spacing:.14em;margin:0;font-size:.72rem;font-weight:850}.invite-message,.section-lead,.success-card>p:last-child,.unavailable-card>p:last-child{color:var(--color-muted);margin:0 auto;font-size:1rem;line-height:1.7}.invite-intro,.success-card,.unavailable-card{text-align:center}.avatar-frame{width:88px;height:88px;color:var(--color-primary);background:var(--color-soft);border:3px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);border-radius:50%;place-items:center;margin:-5px auto 25px;display:grid;overflow:hidden;transform:rotate(-3deg)}.avatar-frame img{object-fit:cover;width:100%;height:100%}.avatar-frame svg{width:38px;height:38px}.invite-actions{gap:12px;margin-top:28px;display:grid}.invite-actions.horizontal{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.invite-button{min-height:50px;color:var(--color-ink);cursor:pointer;border:3px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-button);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:800;transition:background-color .16s,box-shadow .1s,transform .1s;display:inline-flex}.invite-button.primary{color:#fff;background:var(--color-primary)}.invite-button.primary:hover:not(:disabled){background:var(--color-primary-strong)}.invite-button.quiet{background:var(--color-surface)}.invite-button:hover:not(:disabled){box-shadow:4px 4px 0 var(--color-ink);transform:translate(-1px,-1px)}.invite-button:active:not(:disabled){box-shadow:1px 1px 0 var(--color-ink);transform:translate(2px,2px)}.invite-button:disabled{cursor:not-allowed;opacity:.45}.privacy-note{color:var(--color-muted);margin:20px 0 0;font-size:.8rem}.invite-progress{gap:7px;width:100%;margin:0 0 30px;display:flex}.invite-progress span{background:#eadfe3;border-radius:999px;flex:1;height:6px}.invite-progress span.is-active{background:var(--color-primary)}.choice-grid{border:0;gap:12px;margin:28px 0 0;padding:0;display:grid}.choice-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.choice-section{margin-top:28px}.choice-section legend{align-items:center;gap:8px;padding:0;font-weight:850;display:flex}.invite-choice{cursor:pointer;border-radius:var(--radius-sm);background:#fff;border:2px solid #d8cbd0;align-items:center;gap:10px;min-height:54px;padding:13px 15px;transition:background-color .16s,border-color .16s,transform .12s;display:flex}.invite-choice:hover{border-color:var(--color-ink);transform:translateY(-1px)}.invite-choice.is-selected{background:var(--color-soft);border-color:var(--color-primary-strong)}.invite-choice input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.invite-choice:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.invite-choice>span:first-of-type{align-items:center;gap:9px;min-width:0;font-weight:720;display:inline-flex}.choice-check{color:#fff;background:0 0;border:2px solid #c9b9bf;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;margin-left:auto;display:grid}.is-selected .choice-check{background:var(--color-primary);border-color:var(--color-primary)}.invite-summary{border:2px solid var(--color-ink);border-radius:var(--radius-md);background:#fffaf7;gap:0;margin:28px 0;display:grid;overflow:hidden}.invite-summary div{border-bottom:1px dashed #cdbbc2;grid-template-columns:78px 1fr;gap:12px;padding:16px;display:grid}.invite-summary div:last-child{border-bottom:0}.invite-summary span{color:var(--color-muted)}.note-field{gap:9px;font-weight:800;display:grid}.note-field small{color:var(--color-muted);font-weight:500}.note-field textarea{resize:vertical;width:100%;min-height:96px;color:var(--color-ink);border-radius:var(--radius-sm);background:#fff;border:2px solid #cdbec3;padding:13px 14px}.submit-error{color:var(--color-danger);border-radius:var(--radius-sm);background:#fff0ee;border:1px solid #ffc9c3;margin:18px 0 0;padding:11px 13px;font-weight:700}.text-back{min-height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:-12px 0 20px;padding:0;font-weight:700;display:inline-flex}.success-mark,.loading-heart{width:76px;height:76px;color:var(--color-primary);background:var(--color-soft);border:3px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);border-radius:50%;place-items:center;margin:0 auto 24px;display:grid}.loading-heart{animation:1.2s ease-in-out infinite heart-pulse}.invite-sticker{color:var(--color-primary);margin-bottom:20px;font-size:3rem;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes heart-pulse{50%{transform:scale(1.06)}}@media (width<=480px){.invite-card{border-radius:22px;padding:30px 22px}.choice-grid.compact,.invite-actions.horizontal{grid-template-columns:1fr}.invite-actions.horizontal .quiet{order:2}}.admin-page,.admin-login-page,.admin-loading{min-height:100dvh}.clipboard-fallback{opacity:0;pointer-events:none;position:fixed}.admin-loading{color:var(--color-muted);place-items:center;font-weight:700;display:grid}.admin-login-page{padding:max(28px, env(safe-area-inset-top)) 20px max(32px, env(safe-area-inset-bottom));place-items:center;display:grid}.admin-login-card{text-align:center;background:var(--color-surface);border:3px solid var(--color-ink);border-radius:var(--radius-lg);width:min(100%,440px);box-shadow:var(--shadow-card);padding:clamp(30px,7vw,48px)}.admin-login-card h1{letter-spacing:-.04em;margin:8px 0;font-size:clamp(2rem,8vw,2.8rem)}.admin-login-card>p:not(.admin-eyebrow,.login-security){color:var(--color-muted);margin:0 0 26px}.admin-login-card form{text-align:left;gap:16px;display:grid}.login-mark,.empty-mark{width:64px;height:64px;color:var(--color-primary);background:var(--color-soft);border:3px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);border-radius:50%;place-items:center;margin:0 auto 22px;display:grid}.login-security{color:var(--color-muted);align-items:center;gap:6px;margin:22px 0 0;font-size:.78rem;display:inline-flex}.admin-page{width:min(100%, calc(var(--content-width) + 40px));margin:0 auto;padding:20px 20px 60px}.admin-topbar{border-bottom:2px solid var(--color-ink);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:12px 0;display:flex}.admin-brand,.admin-brand>span,.topbar-actions,.admin-button,.icon-text-button,.add-option-button,.editor-submit-bar>span{align-items:center;display:flex}.admin-brand{gap:11px}.admin-brand>span{color:#fff;background:var(--color-primary);border:2px solid var(--color-ink);width:38px;height:38px;box-shadow:2px 2px 0 var(--color-ink);border-radius:12px;justify-content:center}.admin-brand div{display:grid}.admin-brand strong{font-size:1.08rem}.admin-brand small{color:var(--color-muted);letter-spacing:.11em;font-size:.62rem;font-weight:800}.topbar-actions{gap:10px}.admin-button{min-height:44px;color:var(--color-ink);cursor:pointer;border:2px solid var(--color-ink);border-radius:var(--radius-sm);box-shadow:2px 2px 0 var(--color-ink);background:#fff;justify-content:center;gap:7px;padding:9px 15px;font-weight:800}.admin-button.primary{color:#fff;background:var(--color-primary)}.admin-button.secondary,.admin-button.logout{background:var(--color-surface)}.admin-button.danger{color:var(--color-danger);border-color:var(--color-danger);box-shadow:2px 2px 0 var(--color-danger);background:#fff3f1}.admin-button.small{min-height:38px;margin-left:auto;padding:6px 11px;font-size:.82rem}.admin-button.full-width{width:100%}.admin-button:hover:not(:disabled){box-shadow:3px 3px 0 var(--color-ink);transform:translate(-1px,-1px)}.admin-button:disabled{cursor:wait;opacity:.55}.admin-title-row{justify-content:space-between;align-items:end;gap:28px;padding:38px 0 24px;display:flex}.admin-title-row h1{letter-spacing:-.045em;margin:3px 0 0;font-size:clamp(2.1rem,5vw,3.2rem)}.admin-title-row>p{max-width:450px;color:var(--color-muted);margin:0 0 6px;line-height:1.6}.admin-eyebrow{color:var(--color-primary-strong);letter-spacing:.13em;margin:0;font-size:.7rem;font-weight:850}.admin-workspace{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:20px;display:grid}.invite-list-panel,.admin-main-panel{background:var(--color-surface);border:2px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:3px 3px 0 var(--color-ink)}.invite-list-panel{min-height:300px;padding:14px;position:sticky;top:18px}.admin-main-panel{min-width:0;min-height:520px;overflow:hidden}.filter-pills{border-bottom:1px solid #ded1d6;gap:6px;padding-bottom:13px;display:flex;overflow-x:auto}.filter-pills button{min-height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;padding:6px 10px;font-size:.75rem;font-weight:750}.filter-pills button.is-active{color:var(--color-ink);background:var(--color-soft);border-color:var(--color-primary)}.invite-list-items{gap:9px;padding-top:12px;display:grid}.invite-list-item{width:100%;min-height:88px;color:var(--color-ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #d7c8ce;border-radius:12px;gap:6px;padding:12px;display:grid}.invite-list-item:hover,.invite-list-item.is-selected{border-color:var(--color-primary);background:#fff4f8}.list-item-top{justify-content:space-between;align-items:center;gap:7px;display:flex}.invite-list-item>span:nth-child(2),.invite-list-item small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;min-height:25px;padding:3px 7px;font-size:.7rem;font-weight:800;display:inline-flex}.status-active{color:#765000;background:#fff0b8}.status-accepted{color:#156843;background:#d9f5e8}.status-declined{color:#8c3c35;background:#ffe4df}.status-disabled{color:#5e5860;background:#eae6e8}.status-draft{color:#315781;background:#dfedff}.status-expired{color:#7a3f00;background:#ffebc2}.admin-empty,.panel-loading,.list-loading{color:var(--color-muted);text-align:center;place-items:center;display:grid}.compact-empty{align-content:center;gap:10px;min-height:225px}.main-empty{align-content:center;min-height:515px;padding:32px}.main-empty h2{color:var(--color-ink);margin:0 0 8px;font-size:1.8rem}.main-empty p{margin:0 0 22px}.text-action{min-height:40px;color:var(--color-primary-strong);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:7px 4px;font-weight:800;text-decoration:underline}.invite-editor,.detail-panel{padding:clamp(22px,4vw,38px)}.editor-heading,.detail-heading,.response-heading,.editor-submit-bar,.detail-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.editor-heading h2,.detail-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(1.8rem,4vw,2.5rem)}.detail-heading p:last-child{color:var(--color-muted);margin:6px 0 0}.editor-fieldset{border-radius:var(--radius-sm);border:1px solid #d7c8ce;gap:15px;margin:24px 0 0;padding:20px;display:grid}.editor-fieldset legend{padding:0 8px;font-weight:850}.editor-grid{gap:15px;display:grid}.editor-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid.align-start{align-items:start}.editor-field{text-align:left;gap:7px;display:grid}.editor-field>span{font-size:.86rem;font-weight:800}.editor-field b{color:var(--color-danger)}.editor-field small:not(.field-error),.editor-field span small{color:var(--color-muted);font-weight:500}.editor-field input,.editor-field textarea,.dynamic-row input,.share-row input{width:100%;min-height:46px;color:var(--color-ink);background:#fff;border:2px solid #cabac0;border-radius:10px;padding:10px 12px}.editor-field textarea{resize:vertical}.dynamic-options{gap:9px;display:grid}.dynamic-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.icon-text-button,.add-option-button{cursor:pointer;background:#fff;border:1px solid #cdbdc3;border-radius:9px;justify-content:center;gap:5px;min-height:42px;padding:7px 10px;font-weight:750}.danger-quiet{color:var(--color-danger)}.add-option-button{width:max-content;color:var(--color-primary-strong);border-style:dashed}.field-error{margin:0;font-size:.78rem;color:var(--color-danger)!important;font-weight:700!important}.form-error-summary,.admin-alert{border-radius:var(--radius-sm);padding:13px 15px}.form-error-summary,.admin-alert.error{color:var(--color-danger);background:#fff0ee;border:1px solid #ffc2ba}.form-error-summary{margin-top:22px}.form-error-summary ul{margin:8px 0 0;padding-left:20px}.admin-alert.success{color:var(--color-success);background:#e2f8ed;border:1px solid #9ed8bc}.page-alert{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.editor-submit-bar{border-top:2px solid var(--color-ink);margin-top:26px;padding-top:24px}.editor-submit-bar>span{color:var(--color-muted);gap:7px;font-size:.83rem}.share-box,.response-card,.waiting-card{border-radius:var(--radius-sm);margin-top:25px;padding:20px}.share-box{border:2px solid var(--color-primary);background:#fff4f8}.share-box h3,.response-card h3,.waiting-card h3{margin:5px 0 0}.share-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:15px;display:grid}.response-card{border:2px solid var(--color-ink);background:#fffdfa}.decision-yes{color:var(--color-success)}.decision-no{color:var(--color-danger)}.response-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 0;display:grid}.response-grid div{background:#fff7f2;border:1px solid #e1d3d8;border-radius:10px;padding:13px}.response-grid dt{color:var(--color-muted);align-items:center;gap:5px;font-size:.76rem;font-weight:700;display:flex}.response-grid dd{margin:7px 0 0;font-weight:800}.response-card blockquote{background:var(--color-soft);border-left:4px solid var(--color-primary);border-radius:0 9px 9px 0;margin:18px 0 0;padding:13px 16px}.notification-state{border-radius:10px;align-items:center;gap:8px;margin-top:18px;padding:13px;font-size:.85rem;font-weight:750;display:flex}.notification-copy{gap:3px;display:grid}.notification-copy small{line-height:1.45}.notification-sent{color:var(--color-success);background:#e4f7ed}.notification-failed{color:var(--color-danger);background:#fff0ee}.notification-pending{color:var(--color-warning);background:#fff4d9}.waiting-card{color:var(--color-muted);background:#fffaf7;border:1px dashed #b8a7ad;align-items:center;gap:14px;display:flex}.waiting-card p{margin:6px 0 0}.detail-actions{border-top:1px solid #d9ccd1;justify-content:flex-end;margin-top:26px;padding-top:24px}@media (width<=959px){.admin-workspace{grid-template-columns:1fr}.invite-list-panel{min-height:0;position:static}.invite-list-items{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.admin-page{padding-inline:14px}.admin-topbar,.admin-title-row,.editor-heading,.editor-submit-bar,.detail-heading,.response-heading{flex-direction:column;align-items:stretch}.admin-title-row>p{margin:0}.topbar-actions,.topbar-actions .admin-button{flex:1}.editor-grid.two-columns,.response-grid,.invite-list-items,.share-row,.dynamic-row{grid-template-columns:1fr}.notification-state{flex-direction:column;align-items:stretch}.notification-state .admin-button.small{margin-left:0}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#211a1d;font-synthesis:none;text-rendering:optimizelegibility;--color-canvas:#fff7f2;--color-surface:#fffefc;--color-ink:#211a1d;--color-muted:#705e65;--color-primary:#c51d70;--color-primary-strong:#9f174f;--color-accent:#ffd166;--color-soft:#ffd9ea;--color-success:#217a54;--color-warning:#9b5b00;--color-danger:#b42318;--color-focus:#1d65d8;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--shadow-card:5px 5px 0 var(--color-ink);--shadow-button:3px 3px 0 var(--color-ink);--content-width:1240px;background:#fff7f2;font-family:PingFang SC,Noto Sans CJK SC,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{background:var(--color-canvas);min-width:320px}body{min-width:320px;min-height:100dvh;color:var(--color-ink);background:radial-gradient(circle at 15% 12%, #ffd16638 0 3px, transparent 4px), radial-gradient(circle at 82% 84%, #e9369124 0 4px, transparent 5px), var(--color-canvas);margin:0}button,input,textarea,select{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.skip-link{z-index:100;color:#fff;background:var(--color-ink);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.entry-page{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));place-items:center;display:grid}.entry-card{text-align:center;background:var(--color-surface);border:3px solid var(--color-ink);border-radius:var(--radius-lg);width:min(100%,560px);box-shadow:var(--shadow-card);padding:clamp(28px,7vw,52px)}.entry-card h1{margin:8px 0 12px;font-size:clamp(2rem,9vw,3.25rem);line-height:1.05}.entry-card p{color:var(--color-muted);font-size:1rem;line-height:1.6}.eyebrow{letter-spacing:.14em;margin:0;font-weight:800;color:var(--color-ink)!important;font-size:.75rem!important}.entry-actions{gap:12px;margin-top:28px;display:grid}.button{min-height:48px;color:var(--color-ink);border:3px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-button);justify-content:center;align-items:center;padding:12px 20px;font-weight:750;text-decoration:none;transition:background-color .2s,box-shadow .2s,transform .12s;display:inline-flex}.button-primary{color:#fff;background:var(--color-primary)}.button-primary:hover{background:var(--color-primary-strong);color:#fff}.button-secondary{background:var(--color-surface)}.button:active{box-shadow:1px 1px 0 var(--color-ink);transform:translate(2px,2px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
