:root{color-scheme:light;--paper:#f6f4ef;--surface:#fffefa;--ink:#263b32;--muted:#657168;--line:#d9ddd4;--accent:#315743;--accent-soft:#e8eee4;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #ad6c35;outline-offset:4px}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.15}h1{font-size:clamp(2.1rem,4.3vw,3.65rem);letter-spacing:-.045em;margin-bottom:20px}h2{font-size:1.8rem;letter-spacing:-.025em}h1 br{display:block}.site-header{max-width:1240px;margin:auto;min-height:104px;padding:24px 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;align-items:center;gap:14px;font-weight:600;font-size:14px;text-decoration:none;color:var(--ink)}.brand-mark{font:italic 38px var(--serif);line-height:1}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px}.site-header nav form{margin:0}.text-button{border:0;background:none;padding:8px 0;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:4px}.environment-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-size:12px;color:var(--muted);letter-spacing:.04em;padding:7px 16px}.environment-note span{margin:0 8px}.page{width:min(1120px,100% - 96px);min-height:calc(100vh - 260px);margin:60px auto 80px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:650;color:var(--accent);margin-bottom:20px}.intro-copy{max-width:590px;font-size:17px;color:var(--muted);line-height:1.8;margin-bottom:36px}.muted{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:4px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:10px}.page-heading .eyebrow{margin-bottom:12px}.page-heading h1{margin-bottom:4px}.role-badge,.count-badge{display:inline-block;border:1px solid #ccd6c9;background:var(--accent-soft);padding:5px 12px;border-radius:30px;font-size:12px;white-space:nowrap}.count-badge{background:none;border-color:var(--line);color:var(--muted)}.back-link{display:inline-block;font-size:13px;margin-bottom:26px;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:11px 20px;background:var(--accent);border:1px solid var(--accent);border-radius:3px;color:white;text-decoration:none;font-weight:550;font-size:14px;cursor:pointer;line-height:1.4}.button:hover{background:#244432}.button-secondary{background:transparent;color:var(--accent);border-color:#c4cfc2}.button-secondary:hover{background:var(--accent-soft)}.full-width{width:100%}.button.full-width{justify-content:space-between}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:100px;padding-top:32px;padding-bottom:28px}.login-intro h1{font-size:clamp(2.8rem,5vw,4.7rem)}.login-intro .intro-copy{font-size:16px;max-width:420px;margin-top:28px}.intro-detail{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted);margin-top:48px}.line{width:38px;height:1px;background:#a3b49e}.login-panel{padding:40px}.login-panel h2{font-size:1.9rem}.login-panel>.muted{font-size:14px;margin-bottom:30px}.field{margin-bottom:22px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #b9c4b7;background:#fff;border-radius:3px;min-height:48px;color:var(--ink)}.field textarea{resize:vertical}.field-errors,.form-errors{font-size:13px;color:#852d25}.form-errors{background:#f8e9e3;border:1px solid #e5c4b9;border-radius:3px;padding:12px 15px;margin-bottom:20px}.field-errors ul,.form-errors ul{margin:0;padding-left:17px}.wedding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}.wedding-card{padding:34px;text-decoration:none;transition:border-color .15s ease,background .15s ease}.wedding-card:hover{border-color:#8da286;background:#fff}.wedding-card h2{font-size:2.5rem;margin:28px 0 42px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:38px 0}.stat{display:flex;flex-direction:column;padding:22px 28px;border-right:1px solid var(--line);font-size:13px;color:var(--muted)}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}.stat-number{font:44px var(--serif);color:var(--ink);margin-bottom:4px}.date-stat{justify-content:center}.date-stat span:first-child{font:28px var(--serif);margin-bottom:8px;color:var(--ink)}.section-panel{padding:30px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading h2{margin:0}.section-heading a{font-size:13px}.task-preview{display:flex;align-items:center;gap:14px;border-top:1px solid #e8eae2;padding:17px 0;font-size:14px}.task-preview>.muted{margin-left:auto;font-size:12px;white-space:nowrap}.task-dot{width:14px;height:14px;border:1px solid #a0b096;border-radius:50%;flex:0 0 auto}.task-dot.is-done{background:var(--accent-soft);border:4px solid #6f8865}.section-panel>.button{margin-top:18px}.activity-section{margin-top:40px;max-width:650px}.activity-section h2{font-size:1.4rem}.activity-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;margin:0;font-size:13px}.activity-row time{color:var(--muted);white-space:nowrap}.task-list{display:grid;gap:16px;margin-top:32px}.task-card{padding:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.task-card h2{font-size:1.6rem;margin:7px 0 12px}.task-card p{font-size:14px;color:var(--muted);max-width:650px;overflow-wrap:anywhere}.task-card form{flex-shrink:0}.task-complete{background:#eeefe8}.status-label{font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.task-meta{display:flex;gap:20px;font-size:12px;color:var(--muted)}.form-panel{max-width:700px;padding:32px;margin-top:32px}.form-actions{display:flex;align-items:center;gap:26px;margin-top:30px;font-size:14px}.compact-panel{max-width:680px;padding:38px;margin:40px auto}.empty-state{padding:36px;grid-column:1/-1}.empty-state h2{font-size:1.8rem}.empty-state p{color:var(--muted);margin-bottom:0}.notice{background:var(--accent-soft);border:1px solid #c4d5bc;padding:14px 20px;border-radius:3px;font-size:14px}.site-footer{max-width:1240px;margin:0 auto;padding:26px 48px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.skip-link{position:absolute;left:20px;top:-80px;background:var(--surface);padding:10px;z-index:10}.skip-link:focus{top:12px}
@media(max-width:900px){.login-layout{gap:45px}.login-panel{padding:28px}.page{width:calc(100% - 48px)}.site-header,.site-footer{padding-left:24px;padding-right:24px}.task-card{align-items:flex-start;flex-direction:column}.task-card form{align-self:flex-end}.wedding-card{padding:26px}.card-bottom{align-items:flex-start;flex-direction:column}}
.setup-steps{padding-left:20px;font-size:14px}.qr-code{display:flex;justify-content:center;margin:24px 0}.qr-code svg{max-width:100%;height:auto;border:1px solid var(--line)}.secret-text,.recovery-codes code{font:14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;overflow-wrap:anywhere}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;list-style:none;padding:18px;margin:24px 0;border:1px solid var(--line);background:#fff}@media(max-width:420px){.recovery-codes{grid-template-columns:1fr}}
@media(max-width:620px){.site-header{min-height:80px;padding-top:16px;padding-bottom:16px}.wordmark{font-size:12px;gap:8px}.brand-mark{font-size:30px}.site-header nav{gap:16px;font-size:12px}.environment-note{font-size:10px}.page{margin-top:34px;margin-bottom:48px;width:calc(100% - 36px)}.login-layout{grid-template-columns:1fr;gap:28px;padding-top:0}.login-intro h1{font-size:2.9rem}.login-intro .intro-copy{margin:15px 0 0}.intro-detail{display:none}.login-panel{padding:26px}.eyebrow{font-size:10px;margin-bottom:15px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}.page-heading h1{font-size:2.2rem}.wedding-grid{grid-template-columns:1fr;margin-top:26px}.wedding-card h2{font-size:2.2rem;margin-bottom:28px}.card-bottom{flex-direction:row;align-items:center;flex-wrap:wrap}.stats-grid{grid-template-columns:1fr 1fr;margin:28px 0}.stat{padding:18px}.stat:nth-child(2){border-right:0}.date-stat{grid-column:1/-1;border-top:1px solid var(--line);padding-left:0}.date-stat span:first-child{font-size:24px}.section-panel{padding:22px}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading h2{font-size:1.6rem}.task-preview{align-items:flex-start;gap:10px}.task-preview>.muted{font-size:10px}.task-dot{margin-top:5px}.activity-row{align-items:flex-start;flex-direction:column;gap:3px}.form-panel{padding:24px}.task-card{padding:22px}.task-card form{align-self:stretch}.task-card .button{width:100%}.site-footer{flex-direction:column;gap:4px;padding:22px 18px}.compact-panel{padding:26px}.intro-copy{font-size:15px}.form-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.task-content{min-width:0;overflow-wrap:anywhere}.wedding-card h2{overflow-wrap:anywhere}.pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-top:26px;font-size:13px}
