:root{--color-canvas:#fffdfa;--color-surface:#fff;--color-text:#2f2728;--color-muted:#7f7475;--color-line:#eee5df;--color-coral:#ff6f78;--color-coral-strong:#e9505c;--color-coral-soft:#fff0ef;--color-blue-soft:#eaf5ff;--color-sage:#45a976;--color-warning:#bd7040;--radius-small:12px;--radius-medium:20px;--radius-large:28px;--shadow-soft:0 14px 40px #53393012;color:var(--color-text);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--color-canvas);min-width:320px}body{background:var(--color-canvas);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled),a[href]{cursor:pointer}img{max-width:100%;display:block}.skip-link{z-index:100;border-radius:var(--radius-small);color:#fff;background:var(--color-text);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.network-status-banner{color:#874625;text-align:center;background:#fff3e9;border-bottom:1px solid #f1c6b7;justify-content:center;align-items:center;min-height:40px;padding:8px 16px;font-size:.88rem;line-height:1.4;display:flex}.app-header{grid-template-columns:minmax(210px,260px) minmax(360px,1fr) minmax(140px,auto) 176px;align-items:center;gap:clamp(16px,2vw,28px);width:min(100%,1536px);min-height:118px;margin:0 auto;padding:22px clamp(28px,3.2vw,48px);display:grid}.brand{width:fit-content;color:var(--color-text);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand>svg{color:var(--color-coral);flex:none}.brand span{gap:3px;display:grid}.brand strong{font-size:1.35rem;line-height:1.15}.brand small{color:var(--color-muted);font-size:.84rem;line-height:1.4}.primary-navigation{justify-content:center;align-items:stretch;gap:clamp(18px,2.8vw,44px);display:flex}.navigation-item{color:#3e3637;background:0 0;border:0;border-bottom:3px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:54px;min-height:64px;padding:7px 6px 5px;font-size:.9rem;font-weight:550;display:inline-flex}.navigation-item svg{transition:transform .16s}.navigation-item:hover svg{transform:translateY(-2px)}.navigation-item[aria-current=page]{border-bottom-color:var(--color-coral);color:var(--color-coral-strong);font-weight:700}.header-account{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.header-account img{background:var(--color-coral-soft);object-fit:cover;border:2px solid #fff;border-radius:50%;width:42px;height:42px;box-shadow:0 5px 16px #5339301a}.header-account span{text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:.84rem;font-weight:650;overflow:hidden}.header-account button{border:1px solid var(--color-line);width:42px;height:42px;color:var(--color-muted);background:var(--color-surface);border-radius:50%;flex:none;place-items:center;display:grid}.header-account button:hover{color:var(--color-coral-strong);background:var(--color-coral-soft);border-color:#f4c8c8}.health-status{border:1px solid var(--color-line);border-radius:var(--radius-small);min-width:176px;color:var(--color-muted);background:#ffffffd6;grid-template-columns:auto auto;justify-self:end;align-items:center;gap:1px 7px;margin:0;padding:11px 14px;font-size:.86rem;display:inline-grid}.health-status svg{color:#d4a347;grid-row:1/span 2}.health-status span{color:var(--color-text);font-weight:650}.health-status small{font-size:.8rem;line-height:1.35}.health-status--healthy svg{color:var(--color-sage)}.health-status--unavailable svg{color:var(--color-warning)}main{outline:none}.home-view{width:min(100%,1536px);margin:0 auto;padding:10px clamp(28px,3.2vw,48px) 28px}.home-top,.home-bottom{gap:26px;display:grid}.home-top{grid-template-columns:minmax(0,2.15fr) minmax(330px,1fr)}.home-bottom{grid-template-columns:minmax(0,1.3fr) minmax(440px,1fr);margin-top:26px}.hero-panel,.together-panel,.mood-panel,.content-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.hero-panel{background:var(--color-blue-soft);border:0;min-height:570px;position:relative}.hero-image{object-fit:cover;object-position:center;width:100%;height:100%}.hero-copy{color:#fff;text-shadow:0 2px 12px #3e5a7142;position:absolute;top:clamp(42px,5vw,78px);left:clamp(38px,5vw,78px)}.hero-copy p{letter-spacing:.04em;margin:0 0 16px;font-size:clamp(.86rem,1vw,1rem);font-weight:650}.hero-copy h1{letter-spacing:.04em;margin:0;font-size:clamp(2.1rem,3.6vw,3.8rem);line-height:1.55}.home-side{grid-template-rows:minmax(224px,.85fr) minmax(300px,1.15fr);gap:26px;display:grid}.together-panel{background:var(--color-coral-soft);min-height:224px;position:relative}.together-panel>img{object-fit:cover;object-position:center;width:100%;height:100%}.together-copy{position:absolute;inset:28px auto auto 34px}.together-copy h2,.mood-panel h2,.section-heading h2{margin:0;font-size:clamp(1.02rem,1.3vw,1.2rem)}.together-copy p{align-items:baseline;gap:9px;margin:14px 0 8px;display:flex}.together-copy strong{color:var(--color-coral-strong);letter-spacing:-.05em;font-size:clamp(3.2rem,5vw,4.9rem);font-weight:650;line-height:1}.together-copy span{font-size:1.15rem;font-weight:700}.together-copy small{color:var(--color-muted);font-size:.84rem;line-height:1.4}.mood-panel{flex-direction:column;min-height:300px;padding:30px 34px 26px;display:flex}.mood-people{justify-content:center;gap:clamp(30px,4vw,54px);margin:22px 0 20px;display:flex}.home-mood-state{min-height:126px;color:var(--color-muted);text-align:center;place-items:center;margin:22px 0 20px;display:grid}.mood-people figure{place-items:center;gap:8px;margin:0;display:grid}.mood-people img{object-fit:cover;border:5px solid #f8f1ed;border-radius:50%;width:82px;height:82px}.mood-people figure:nth-child(2) img{border-color:#ffeded}.mood-people figcaption{font-size:.9rem;font-weight:650}.primary-action{border-radius:var(--radius-small);color:#fff;background:var(--color-coral);border:1px solid #0000;justify-content:center;align-items:center;gap:9px;width:100%;min-height:52px;margin-top:auto;font-weight:700;display:inline-flex;box-shadow:0 9px 22px #ee505c2e}.primary-action:hover{background:var(--color-coral-strong)}.content-panel{min-width:0;padding:20px 24px 24px}.section-heading{justify-content:space-between;align-items:center;gap:16px;min-height:34px;margin-bottom:14px;display:flex}.section-heading button{min-height:44px;color:var(--color-muted);background:0 0;border:0;align-items:center;gap:3px;padding:4px 0 4px 12px;font-size:.86rem;display:inline-flex}.section-heading>svg{color:var(--color-coral)}.home-wish-reminders{margin-top:26px}.home-wish-reminders-eyebrow{color:var(--color-muted);margin:0 0 4px;font-size:.78rem}.home-wish-reminder-count{color:var(--color-coral-strong);white-space:nowrap;margin-left:auto;font-size:.82rem;font-weight:750}.home-wish-reminder-state{color:var(--color-muted);margin:8px 0 0;font-size:.84rem;line-height:1.5}.home-wish-reminder-list{gap:0;margin:8px 0 0;padding:0;list-style:none;display:grid}.home-wish-reminder-list li{border-top:1px solid var(--color-line);align-items:center;gap:10px;min-height:44px;padding:8px 0;font-weight:650;display:flex}.home-wish-reminder-list li:first-child{border-top:0}.home-wish-reminder-badge{color:#9a3f55;background:#ffe7ed;border-radius:999px;flex:none;padding:4px 8px;font-size:.74rem;font-weight:750}.home-redemption-reminders{border-top:1px solid var(--color-line);margin-top:16px;padding-top:14px}.home-redemption-reminder-heading{align-items:center;gap:10px;min-height:34px;display:flex}.home-redemption-reminder-heading h3{margin:0;font-size:.96rem}.home-redemption-reminder-heading>span{color:var(--color-coral-strong);font-size:.8rem;font-weight:750}.home-redemption-reminder-heading button{min-height:44px;margin-left:auto}.home-redemption-reminder-state{color:var(--color-muted);margin:8px 0 0;font-size:.84rem;line-height:1.5}.home-redemption-reminder-list{margin-top:8px}.memory-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.memory-strip img{aspect-ratio:1;border-radius:var(--radius-small);object-fit:cover;width:100%}.home-photo-state{color:var(--color-muted);text-align:center;margin:24px 0 8px;font-size:.84rem;line-height:1.5}.anniversary-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.home-anniversary-state{color:var(--color-muted);text-align:center;grid-column:1/-1;margin:8px 0;font-size:.84rem;line-height:1.5}.home-anniversary-today{color:var(--color-coral-strong);background:#fff8f4;border:1px solid #f3d6cf;border-radius:14px;grid-column:1/-1;padding:12px 14px}.home-anniversary-today-heading{align-items:center;gap:7px;font-size:.84rem;display:flex}.home-anniversary-today p{color:var(--color-muted);margin:5px 0 0;font-size:.8rem;line-height:1.5}.home-anniversary-today p+p{color:var(--color-text)}.anniversary-list article{text-align:center;justify-items:center;gap:8px;min-width:0;padding:6px 5px;display:grid}.anniversary-list article>div{min-width:0}.anniversary-list h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:.86rem;overflow:hidden}.anniversary-list p{color:var(--color-muted);margin:0 0 5px;font-size:.8rem;line-height:1.35}.anniversary-list strong{color:var(--color-coral-strong);font-size:.82rem;font-weight:600}.anniversary-icon{color:#c75b67;background:#ffe9e8;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.anniversary-icon--amber{color:#a97522;background:#fff2d4}.anniversary-icon--blue{color:#50799e;background:#e8f3fb}.anniversary-icon--lilac{color:#755c9d;background:#f0eafd}.home-note{color:var(--color-muted);justify-content:center;align-items:center;gap:8px;margin:22px 0 0;font-size:.82rem;line-height:1.45;display:flex}.home-note svg{color:var(--color-coral)}.placeholder-view{border:1px solid var(--color-line);border-radius:var(--radius-large);background:var(--color-surface);width:min(100% - 40px,680px);min-height:520px;box-shadow:var(--shadow-soft);text-align:center;align-content:center;place-items:center;gap:14px;margin:20px auto 60px;padding:54px 32px;display:grid}.placeholder-view>svg{color:var(--color-coral)}.placeholder-view>p{max-width:34rem;color:var(--color-muted);margin:0;line-height:1.7}.placeholder-view>p:first-of-type{color:var(--color-coral-strong);letter-spacing:.08em;font-size:.82rem;font-weight:750}.placeholder-view h1{margin:0;font-size:clamp(2rem,6vw,3.5rem)}.placeholder-view button{border:1px solid var(--color-coral);border-radius:var(--radius-small);min-height:48px;color:var(--color-coral-strong);background:var(--color-coral-soft);margin-top:10px;padding:0 24px;font-weight:700}.photos-view{width:min(100%,1536px);margin:0 auto;padding:12px clamp(28px,3.2vw,48px) 54px}.photos-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.photos-heading h1{margin:7px 0 8px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.18}.photos-heading>div>p:last-child{color:var(--color-muted);margin:0;font-size:.92rem;line-height:1.65}.photos-eyebrow{color:var(--color-coral-strong);letter-spacing:.04em;align-items:center;gap:7px;margin:0;font-size:.84rem;font-weight:750;display:inline-flex}.photos-layout{grid-template-columns:minmax(290px,340px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.photo-upload-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:24px;position:sticky;top:18px}.photo-upload-heading{align-items:flex-start;gap:12px;display:flex}.photo-upload-heading>span{width:44px;height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:14px;flex:none;place-items:center;display:grid}.photo-upload-heading h2{margin:0 0 4px;font-size:1.05rem}.photo-upload-heading p{color:var(--color-muted);margin:0;font-size:.8rem;line-height:1.5}.photo-upload-form{gap:16px;margin-top:22px;display:grid}.photo-upload-form label{gap:8px;font-size:.84rem;font-weight:650;display:grid}.photo-upload-form input,.photo-upload-form textarea{border-radius:var(--radius-small);width:100%;min-width:0;color:var(--color-text);background:#fffdfb;border:1px solid #ded5d0;outline:none}.photo-upload-form input:not([type=file]){min-height:48px;padding:0 13px}.photo-upload-form textarea{resize:vertical;min-height:88px;padding:12px 13px;line-height:1.55}.photo-upload-form input:focus,.photo-upload-form textarea:focus{border-color:var(--color-coral);box-shadow:0 0 0 4px #ff6f781f}.photo-file-field{color:var(--color-coral-strong);background:var(--color-coral-soft);border:1px dashed #efb7b5;border-radius:15px;padding:15px}.photo-file-field input{background:#fff;min-height:44px;padding:8px}.photo-file-field input::file-selector-button{min-height:34px;color:var(--color-coral-strong);background:#ffe3e1;border:0;border-radius:9px;margin-right:9px;padding:0 11px;font-weight:700}.photo-file-field small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:450;overflow:hidden}.photo-date-field{display:block;position:relative}.photo-date-field svg{z-index:1;color:var(--color-muted);pointer-events:none;position:absolute;top:15px;left:13px}.photo-date-field input{padding-left:40px!important}.photo-exif-message{color:var(--color-muted);margin-top:7px;font-size:.78rem;font-weight:500;line-height:1.5;display:block}.photo-upload-preview{background:#fffaf7;border:1px solid #f1d8d2;border-radius:14px;gap:10px;padding:13px;display:grid}.photo-upload-preview-heading{gap:3px;display:grid}.photo-upload-preview-heading small,.photo-upload-draft-heading small,.photo-upload-time-summary small{color:var(--color-muted);font-size:.78rem;line-height:1.45}.photo-upload-draft-list{gap:10px;display:grid}.photo-upload-draft{background:#fff;border:1px solid #f0e3de;border-radius:11px;gap:8px;padding:11px;display:grid}.photo-upload-draft-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.photo-upload-draft-heading strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.photo-upload-draft-status{color:var(--color-muted);font-size:.78rem;line-height:1.45}.photo-upload-draft-status--success{color:#287b54}.photo-upload-draft-status--error{color:#a9434b}.photo-upload-draft-actions{flex-wrap:wrap;gap:7px;display:flex}.photo-upload-draft-actions button{min-height:36px;color:var(--color-coral-strong);background:#fff8f5;border:1px solid #ead4ce;border-radius:9px;padding:0 10px;font-size:.78rem;font-weight:700}.photo-upload-time-summary{color:var(--color-text);gap:4px;font-weight:700;display:grid}.photo-suggestion-list{background:#fffaf7;border:1px solid #f1d8d2;border-radius:10px;gap:7px;padding:9px;display:grid}.photo-suggestion-list>strong{color:var(--color-coral-strong);font-size:.78rem}.photo-suggestion-list ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.photo-suggestion-list li{background:#fff;border:1px solid #f0e3de;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.photo-suggestion-list li>span{gap:2px;min-width:0;display:grid}.photo-suggestion-list li b,.photo-suggestion-list li small{text-overflow:ellipsis;overflow:hidden}.photo-suggestion-list li b{color:var(--color-text);white-space:nowrap;font-size:.79rem}.photo-suggestion-list li small{color:var(--color-muted);font-size:.7rem;line-height:1.35}.photo-suggestion-list li>button{min-height:44px;color:var(--color-coral-strong);background:#fff8f5;border:1px solid #ead4ce;border-radius:8px;flex:none;padding:0 10px;font-size:.74rem;font-weight:700}.photo-suggestion-list li>button:disabled{cursor:default;opacity:.6}.field-error{color:#a9434b;font-size:.78rem;font-weight:500;line-height:1.45}.photo-upload-message{border-radius:10px;margin:0;padding:10px 12px;font-size:.8rem;line-height:1.5}.photo-upload-message--error{color:#a9434b;background:#fff2f1}.photo-upload-message--success{color:#287b54;background:#edf9f2}.photo-upload-form .primary-action{min-height:48px;margin-top:0}.photo-upload-form .primary-action:disabled{cursor:wait;opacity:.68}.photo-wall-content{min-width:0}.photo-view-mode-bar{justify-content:flex-end;margin-bottom:16px;display:flex}.photo-view-mode-control{min-width:150px;color:var(--color-muted);gap:6px;font-size:.78rem;font-weight:700;display:grid}.photo-view-mode-control select{border:1px solid var(--color-line);min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:10px;padding:0 30px 0 12px}.photo-event-error{color:#9f353e;background:#fff7f5;border:1px solid #f1c8c5;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:13px 16px;font-size:.84rem;display:flex}.photo-event-error p{margin:0}.photo-event-error button,.photo-event-back{border:1px solid var(--color-coral);min-height:44px;color:var(--color-coral-strong);background:var(--color-surface);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:700;display:inline-flex}.photo-timeline{gap:20px;display:grid}.photo-timeline-heading{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:end;gap:18px;padding:22px 24px;display:flex}.photo-timeline-heading h2{margin:6px 0 5px;font-size:1.45rem}.photo-timeline-heading>div>p:last-child{color:var(--color-muted);margin:0;font-size:.84rem}.photo-timeline-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:8px;display:flex}.photo-event-primary-action,.photo-event-secondary-action,.photo-event-danger-action{min-height:44px;font:inherit;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.photo-event-primary-action{border:1px solid var(--color-coral);color:#fff;background:var(--color-coral)}.photo-event-secondary-action{border:1px solid var(--color-line);color:var(--color-text);background:var(--color-surface)}.photo-event-danger-action{color:#a9434b;background:#fff7f5;border:1px solid #efc1be}.photo-event-form-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);gap:18px;margin-bottom:20px;padding:22px 24px 24px;display:grid}.photo-event-form-heading h2{margin:6px 0 5px;font-size:1.25rem}.photo-event-form-heading p:last-child{color:var(--color-muted);margin:0;font-size:.84rem}.photo-event-form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.photo-event-form-fields label{color:var(--color-text);gap:7px;font-size:.82rem;font-weight:700;display:grid}.photo-event-form-fields input,.photo-event-form-fields textarea{border:1px solid var(--color-line);width:100%;min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:10px;padding:10px 12px;font-weight:400}.photo-event-form-fields textarea{resize:vertical;min-height:96px}.photo-event-description-field{grid-column:1/-1}.photo-event-form-message{color:#a9434b;background:#fff2f1;border-radius:10px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.5}.photo-event-form-actions{justify-content:flex-end;gap:10px;display:flex}.photo-event-form-actions>button{border:1px solid var(--color-line);min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:10px;padding:0 16px;font-weight:700}.photo-event-form-actions>.photo-event-primary-action{border-color:var(--color-coral);color:#fff;background:var(--color-coral)}.photo-event-order-control{min-width:150px;color:var(--color-muted);gap:6px;font-size:.78rem;font-weight:700;display:grid}.photo-event-order-control select{border:1px solid var(--color-line);min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:10px;padding:0 30px 0 12px}.photo-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.photo-time-card{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.photo-time-card>img{aspect-ratio:4/3;background:var(--color-blue-soft);object-fit:cover;width:100%}.photo-time-card-copy{gap:7px;padding:14px 16px 16px;display:grid}.photo-time-card-copy h3,.photo-time-card-copy p{margin:0}.photo-time-card-copy h3{font-size:.98rem}.photo-time-card-copy p,.photo-time-card-copy small{color:var(--color-muted);font-size:.8rem}.photo-time-unknown{border:1px dashed var(--color-line);border-radius:var(--radius-medium);background:#fffaf7;gap:16px;padding:18px;display:grid}.photo-time-unknown-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.photo-time-unknown-heading h3{margin:6px 0 0;font-size:1.15rem}.photo-time-unknown-heading>p{color:var(--color-muted);margin:0;font-size:.82rem}.photo-event-custom-order-actions{align-content:end;gap:6px;display:grid}.photo-event-custom-order-actions>button{white-space:nowrap;min-height:44px}.photo-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.photo-event-card{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.photo-event-card-main{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:grid}.photo-event-card-main>img,.photo-event-cover-placeholder{aspect-ratio:1.7;width:100%;color:var(--color-coral-strong);background:var(--color-blue-soft);object-fit:cover;place-items:center;font-size:.8rem;font-weight:700;display:grid}.photo-event-cover-placeholder{align-content:center;gap:5px}.photo-event-card-copy{gap:5px;padding:15px 17px 17px;display:grid}.photo-event-card-copy strong{font-size:1rem}.photo-event-card-copy small{color:var(--color-muted);font-size:.8rem}.photo-event-card-actions{flex-wrap:wrap;align-items:stretch;gap:8px;padding:0 17px 16px;display:flex}.photo-event-card-actions button{flex:1}.photo-event-reorder-actions{flex:100%;gap:8px;display:flex}.photo-event-reorder-actions button{min-height:44px}.photo-event-card--unassigned{background:#fffaf7;border-style:dashed}.photo-event-card-main:hover .photo-event-card-copy strong,.photo-event-card-main:focus-visible .photo-event-card-copy strong{color:var(--color-coral-strong)}.photo-event-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.photo-event-photo-card{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.photo-event-photo-card>img{aspect-ratio:4/3;background:var(--color-blue-soft);object-fit:cover;width:100%}.photo-event-photo-card>div{gap:7px;padding:14px 16px 16px;display:grid}.photo-event-photo-card h3,.photo-event-photo-card p{margin:0}.photo-event-photo-card h3{font-size:.98rem}.photo-event-photo-card p{color:var(--color-muted);font-size:.8rem}.photo-event-organization{border-top:1px solid var(--color-line);gap:8px;margin-top:5px;padding-top:10px;display:grid}.photo-event-organization label{color:var(--color-muted);gap:5px;font-size:.76rem;font-weight:700;display:grid}.photo-event-organization select{border:1px solid var(--color-line);width:100%;min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:9px;padding:0 30px 0 10px;font-weight:400}.photo-event-organization>button{width:100%}.photo-event-action-message{color:#a9434b;background:#fff2f1;border-radius:8px;margin:0;padding:8px 10px;font-size:.78rem;line-height:1.45}.photo-event-photo-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.photo-event-photo-actions .photo-delete-trigger,.photo-event-photo-actions .photo-download-link{justify-self:auto;min-height:44px}.photo-event-empty{grid-column:1/-1;min-height:260px}.photos-state{border:1px solid var(--color-line);border-radius:var(--radius-medium);min-height:360px;color:var(--color-muted);background:var(--color-surface);box-shadow:var(--shadow-soft);text-align:center;place-content:center;justify-items:center;gap:10px;padding:40px 24px;display:grid}.photos-state svg{color:var(--color-coral)}.photos-state h2,.photos-state p{margin:0}.photos-state h2{color:var(--color-text);font-size:1.12rem}.photos-state p{max-width:32rem;font-size:.88rem;line-height:1.6}.photos-state button{border:1px solid var(--color-coral);border-radius:var(--radius-small);min-height:46px;color:var(--color-coral-strong);background:var(--color-coral-soft);align-items:center;gap:7px;margin-top:8px;padding:0 18px;font-weight:700;display:inline-flex}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.photos-load-more{justify-items:center;gap:10px;margin-top:24px;display:grid}.photos-load-more button{border:1px solid var(--color-coral);border-radius:var(--radius-small);min-height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);padding:8px 20px;font-weight:700}.photos-load-more button:disabled{cursor:wait;opacity:.62}.photos-load-more p{color:var(--color-coral-strong);margin:0;font-size:.82rem}.photo-card{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);overflow:hidden}.photo-card>img{aspect-ratio:4/3;background:var(--color-blue-soft);object-fit:cover;width:100%}.photo-card-copy{gap:10px;padding:18px 20px 20px;display:grid}.photo-card-copy>div{justify-content:space-between;align-items:start;gap:16px;display:flex}.photo-card h2{margin:0;font-size:1.02rem;line-height:1.45}.photo-card-copy>div>p,.photo-card small,.photo-description{color:var(--color-muted);margin:0;font-size:.8rem;line-height:1.5}.photo-card-copy>div>p{flex:none}.photo-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.photo-delete-trigger{border:1px solid var(--color-line);min-height:40px;color:var(--color-coral-strong);background:var(--color-surface);border-radius:10px;justify-content:center;justify-self:end;align-items:center;gap:6px;padding:7px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.photo-delete-trigger:hover,.photo-delete-trigger:focus-visible{border-color:var(--color-coral);background:var(--color-coral-soft)}.photo-download-link{border:1px solid var(--color-line);min-height:40px;color:var(--color-text);background:var(--color-surface);border-radius:10px;justify-content:center;justify-self:end;align-items:center;gap:6px;padding:7px 12px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.photo-download-link:hover,.photo-download-link:focus-visible{border-color:var(--color-coral);background:var(--color-coral-soft)}.photo-viewer-backdrop{z-index:220;background:#201a1cd1;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.photo-viewer-dialog{color:#fff;background:#2b2527;border:1px solid #ffffff29;border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(100%,1100px);max-height:calc(100vh - 36px);padding:24px;display:grid;position:relative;box-shadow:0 24px 80px #0006}.photo-viewer-close{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:44px;min-height:44px;padding:0;display:inline-grid;position:absolute;top:14px;right:14px}.photo-viewer-close:hover,.photo-viewer-close:focus-visible{background:#ffffff2e;border-color:#ffffff8c}.photo-viewer-heading{justify-content:space-between;align-items:start;gap:20px;padding-right:56px;display:flex}.photo-viewer-heading .photos-eyebrow{color:#ffc6c0}.photo-viewer-heading h2,.photo-viewer-heading p,.photo-viewer-heading small{margin:0}.photo-viewer-heading h2{max-width:24em;font-size:1.12rem;line-height:1.4}.photo-viewer-heading p,.photo-viewer-heading small{color:#ffffffb8;font-size:.82rem;line-height:1.5}.photo-viewer-heading small{text-align:right;padding-top:26px}.photo-viewer-image-frame{background:#171315;border-radius:13px;place-items:center;min-height:220px;display:grid;position:relative;overflow:hidden}.photo-viewer-image{object-fit:contain;width:100%;max-height:min(68vh,720px);display:block}.photo-viewer-image--hidden{display:none}.photo-viewer-status{z-index:1;color:#ffffffb8;margin:0;font-size:.86rem;position:absolute}.photo-viewer-error{color:#ffffffd6;text-align:center;gap:12px;max-width:24em;padding:28px;display:grid}.photo-viewer-error p{margin:0;line-height:1.6}.photo-viewer-error button{color:#2b2527;background:#ffc6c0;border:1px solid #ff9f96;border-radius:10px;min-height:44px;padding:8px 16px;font-weight:700}.photo-viewer-controls{justify-content:space-between;align-items:center;gap:10px;display:flex}.photo-viewer-controls>button,.photo-viewer-controls>.photo-download-link{color:#fff;background:#ffffff1a;border-color:#ffffff3d;min-height:44px}.photo-viewer-controls>button{border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:8px 14px;font-weight:700;display:inline-flex}.photo-viewer-controls>button:hover:not(:disabled),.photo-viewer-controls>button:focus-visible,.photo-viewer-controls>.photo-download-link:hover,.photo-viewer-controls>.photo-download-link:focus-visible{background:#ffffff2e;border-color:#ffffff94}.photo-viewer-controls>button:disabled{cursor:not-allowed;opacity:.42}.photo-delete-backdrop{z-index:200;background:#2f27287a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.photo-delete-dialog{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);text-align:center;width:min(100%,430px);padding:32px;position:relative;box-shadow:0 24px 70px #2f272838}.photo-edit-dialog{text-align:left;max-height:calc(100vh - 32px);overflow:auto}.photo-edit-dialog>.photos-eyebrow{margin:0 0 8px}.photo-edit-dialog form{gap:15px;margin-top:22px;display:grid}.photo-edit-dialog form label{color:var(--color-text);gap:7px;font-size:.84rem;font-weight:700;display:grid}.photo-edit-dialog form input,.photo-edit-dialog form textarea{border-radius:var(--radius-small);width:100%;min-width:0;color:var(--color-text);font:inherit;background:#fffdfb;border:1px solid #ded5d0;outline:none}.photo-edit-dialog form input{min-height:48px;padding:0 13px}.photo-edit-dialog form textarea{resize:vertical;min-height:88px;padding:12px 13px;line-height:1.55}.photo-edit-dialog form input:focus,.photo-edit-dialog form textarea:focus{border-color:var(--color-coral);box-shadow:0 0 0 4px #ff6f781f}.photo-edit-time-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.photo-edit-time-row>button{min-height:44px;color:var(--color-coral-strong);background:#fff8f5;border:1px solid #ead4ce;border-radius:9px;padding:0 11px;font-size:.78rem;font-weight:700}.photo-edit-time-row>button:disabled{cursor:default;opacity:.62}.photo-edit-time-source{color:var(--color-muted);font-size:.76rem;font-weight:500;line-height:1.45}.photo-delete-close{width:44px;height:44px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.photo-delete-close:hover,.photo-delete-close:focus-visible{background:var(--color-coral-soft)}.photo-delete-icon{width:52px;height:52px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.photo-delete-dialog h2{margin:0;font-size:1.25rem}.photo-delete-dialog>p{color:var(--color-muted);margin:10px 0 0;font-size:.88rem;line-height:1.55}.photo-delete-dialog .photo-delete-warning{color:var(--color-coral-strong);margin-top:4px;font-weight:700}.photo-delete-dialog .photo-delete-error{color:#9f353e;background:var(--color-coral-soft);border-radius:10px;padding:10px 12px}.photo-delete-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.photo-delete-actions button{border:1px solid var(--color-line);border-radius:var(--radius-small);background:var(--color-surface);min-height:44px;font-weight:700}.photo-delete-actions .photo-delete-confirm{border-color:var(--color-coral-strong);color:#fff;background:var(--color-coral-strong)}.photo-delete-actions button:disabled,.photo-delete-close:disabled{cursor:wait;opacity:.62}.session-loading{min-height:100vh;color:var(--color-muted);place-content:center;justify-items:center;gap:12px;display:grid}.session-loading svg{color:var(--color-coral)}.session-loading p{margin:0;font-size:.9rem}.auth-shell{background:radial-gradient(circle at 8% 12%, #ffdbd875, transparent 30%), radial-gradient(circle at 90% 82%, #d7edff8c, transparent 28%), var(--color-canvas);min-height:100vh;padding-bottom:42px}.auth-header{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1260px);min-height:102px;margin:0 auto;padding:22px 28px;display:flex}.auth-header>p{color:var(--color-muted);align-items:center;gap:8px;margin:0;font-size:.86rem;display:inline-flex}.auth-header>p svg{color:var(--color-sage)}.auth-layout{border:1px solid var(--color-line);background:var(--color-surface);border-radius:30px;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);width:min(100% - 56px,1204px);min-height:620px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 24px 70px #5339301c}.auth-story{background:var(--color-blue-soft);min-width:0;min-height:620px;position:relative;overflow:hidden}.auth-story:after{content:"";background:linear-gradient(#0000,#233644b8);position:absolute;inset:45% 0 0}.auth-story img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.auth-story>div{z-index:1;color:#fff;text-shadow:0 2px 14px #162a3947;position:absolute;bottom:clamp(34px,5vw,56px);left:clamp(28px,5vw,58px);right:clamp(28px,5vw,58px)}.auth-story p{letter-spacing:.08em;margin:0 0 10px;font-size:.9rem;font-weight:650}.auth-story h2{max-width:12em;margin:0;font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.42}.auth-card{flex-direction:column;justify-content:center;padding:clamp(38px,5vw,68px);display:flex}.auth-mode-switch{background:#f6f1ed;border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:34px;padding:4px;display:grid}.auth-mode-switch button{min-height:44px;color:var(--color-muted);background:0 0;border:0;border-radius:10px;padding:0 16px;font-size:.88rem;font-weight:650}.auth-mode-switch button[aria-pressed=true]{color:var(--color-text);background:#fff;box-shadow:0 4px 14px #53393014}.auth-card-heading>span{width:48px;height:48px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:15px;place-items:center;margin-bottom:20px;display:grid}.auth-card-heading p{color:var(--color-coral-strong);letter-spacing:.06em;margin:0 0 8px;font-size:.82rem;font-weight:750}.auth-card-heading h1{margin:0;font-size:clamp(2rem,3vw,2.7rem);line-height:1.25}.auth-card-heading small{color:var(--color-muted);margin-top:11px;font-size:.86rem;line-height:1.6;display:block}.auth-form{gap:18px;margin-top:32px;display:grid}.auth-form label{gap:8px;font-size:.86rem;font-weight:650;display:grid}.auth-form input{border-radius:var(--radius-small);width:100%;min-height:52px;color:var(--color-text);background:#fffdfb;border:1px solid #ded5d0;outline:none;padding:0 15px}.auth-form input::placeholder{color:#aaa0a0}.auth-form input:focus{border-color:var(--color-coral);box-shadow:0 0 0 4px #ff6f781f}.auth-form .primary-action{margin-top:4px}.auth-form .primary-action:disabled{cursor:wait;opacity:.68}.form-message{border-radius:10px;margin:20px 0 -12px;padding:11px 13px;font-size:.82rem;line-height:1.5}.form-message--error{color:#a9434b;background:#fff2f1;border:1px solid #f6cdca}.auth-form .form-message{margin:-3px 0}.space-setup-shell{background:radial-gradient(circle at 8% 16%, #ffdbd86b, transparent 30%), radial-gradient(circle at 92% 86%, #d7edff85, transparent 28%), var(--color-canvas);min-height:100vh;padding-bottom:40px}.space-setup-header{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1260px);min-height:102px;margin:0 auto;padding:22px 28px;display:flex}.space-setup-account{color:var(--color-muted);align-items:center;gap:14px;font-size:.86rem;display:flex}.space-setup-account>span{max-width:180px;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.space-setup-account button{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:#ffffffd6;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.space-setup-account button:hover{color:var(--color-coral-strong);background:var(--color-coral-soft);border-color:#f4c8c8}.space-setup-main{border:1px solid var(--color-line);background:var(--color-surface);border-radius:30px;grid-template-columns:minmax(0,1.04fr) minmax(450px,.96fr);width:min(100% - 56px,1204px);min-height:650px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 24px 70px #5339301c}.space-setup-visual{background:var(--color-blue-soft);min-width:0;min-height:650px;position:relative;overflow:hidden}.space-setup-visual:after{content:"";background:linear-gradient(#0000,#233644bd);position:absolute;inset:46% 0 0}.space-setup-visual img{object-fit:cover;object-position:center;width:100%;height:100%}.space-setup-visual>div{z-index:1;color:#fff;text-shadow:0 2px 14px #162a3947;position:absolute;bottom:clamp(34px,5vw,56px);left:clamp(28px,5vw,58px);right:clamp(28px,5vw,58px)}.space-setup-visual p{letter-spacing:.12em;margin:0 0 10px;font-size:.84rem;font-weight:750}.space-setup-visual h2{max-width:13em;margin:0;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.42}.space-setup-card{flex-direction:column;justify-content:center;min-width:0;padding:clamp(36px,4.6vw,64px);display:flex}.space-setup-icon{width:50px;height:50px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:15px;place-items:center;margin-bottom:18px;display:grid}.space-setup-eyebrow{color:var(--color-coral-strong);letter-spacing:.08em;margin:0 0 8px;font-size:.82rem;font-weight:750}.space-setup-card>h1{margin:0;font-size:clamp(2rem,3vw,2.65rem);line-height:1.25}.space-setup-description{max-width:34rem;color:var(--color-muted);margin:12px 0 0;font-size:.9rem;line-height:1.7}.space-setup-card>.form-message{margin:20px 0 -4px}.space-choice-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;display:grid}.space-choice-grid article{border:1px solid var(--color-line);background:#fffdfb;border-radius:18px;min-width:0;padding:20px}.space-choice-grid article>span{width:42px;height:42px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:13px;place-items:center;display:grid}.space-choice-grid article:nth-child(2)>span{color:#50799e;background:var(--color-blue-soft)}.space-choice-grid h2{margin:16px 0 6px;font-size:1.06rem}.space-choice-grid p{min-height:44px;color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.55}.space-choice-grid .primary-action{min-height:48px;margin-top:18px;font-size:.86rem}.space-choice-grid form{gap:8px;margin-top:16px;display:grid}.space-choice-grid label,.space-invitation-panel label{font-size:.8rem;font-weight:650}.space-choice-grid input,.space-invitation-value input{width:100%;min-width:0;min-height:48px;color:var(--color-text);background:#fff;border:1px solid #ded5d0;border-radius:11px;outline:none;padding:0 12px}.space-choice-grid input:focus,.space-invitation-value input:focus{border-color:var(--color-coral);box-shadow:0 0 0 4px #ff6f781f}.space-choice-grid form button{border:1px solid var(--color-coral);min-height:46px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:11px;font-weight:700}.space-choice-grid button:disabled,.space-invitation-panel button:disabled{cursor:wait;opacity:.65}.space-invitation-panel{border:1px solid var(--color-line);background:#fffdfb;border-radius:18px;gap:10px;margin-top:30px;padding:22px;display:grid}.space-invitation-panel>.primary-action{margin-top:0}.space-invitation-value{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.space-invitation-value input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.space-invitation-value button{border:1px solid var(--color-coral);min-height:48px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:11px;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.space-invitation-panel small{color:var(--color-muted);font-size:.78rem;line-height:1.5}:where(a,button):focus-visible{outline-offset:4px;outline:3px solid #7f68d8}@media (width<=1180px){.app-header{grid-template-columns:auto 1fr auto auto}.header-account span,.brand small{display:none}.health-status{min-width:0}.health-status small{display:none}.home-top{grid-template-columns:minmax(0,1.75fr) minmax(310px,1fr)}.hero-panel{min-height:520px}.home-bottom{grid-template-columns:minmax(0,1.1fr) minmax(390px,1fr)}}@media (width<=920px){.app-header{gap:14px;padding-inline:24px}.primary-navigation{gap:10px}.navigation-item{min-width:48px}.health-status span{display:none}.health-status{padding:10px}.health-status svg{grid-row:auto}.home-top,.home-bottom{grid-template-columns:1fr}.hero-panel{aspect-ratio:16/10;min-height:auto}.home-side{grid-template-rows:none;grid-template-columns:1fr 1fr}.together-panel,.mood-panel{min-height:280px}.anniversary-list h3{white-space:normal}.auth-layout{grid-template-columns:1fr;width:min(100% - 48px,680px)}.auth-story{min-height:290px;max-height:320px}.auth-card{padding:46px clamp(34px,8vw,64px) 54px}.space-setup-main{grid-template-columns:1fr;width:min(100% - 48px,680px)}.space-setup-visual{min-height:290px;max-height:320px}.space-setup-card{order:-1;padding:46px clamp(34px,8vw,64px) 54px}.photos-layout{grid-template-columns:1fr}.photo-upload-panel{position:static}.photo-upload-form{grid-template-columns:1fr 1fr}.photo-file-field,.photo-upload-form label:last-of-type,.photo-upload-message,.photo-upload-form .primary-action{grid-column:1/-1}}@media (width<=720px){.photo-event-error{flex-direction:column;align-items:stretch}.photo-event-error button{width:100%}.photo-timeline-heading{flex-direction:column;align-items:stretch;padding:18px}.photo-timeline-heading-actions{flex-direction:column;justify-content:stretch;align-items:stretch}.photo-timeline-heading-actions>button,.photo-timeline-heading-actions>label,.photo-event-order-control,.photo-event-order-control select{width:100%}.photo-view-mode-bar{justify-content:stretch}.photo-view-mode-control,.photo-view-mode-control select{width:100%}.photo-event-grid,.photo-event-photo-grid,.photo-time-grid{grid-template-columns:1fr;gap:14px}.photo-time-unknown-heading{flex-direction:column;align-items:stretch}.photo-event-form-panel{padding:18px}.photo-event-form-fields{grid-template-columns:1fr}.photo-event-description-field{grid-column:auto}.photo-event-form-actions{flex-direction:column-reverse}.photo-event-form-actions>button{width:100%}.photo-event-card-actions{padding-left:14px;padding-right:14px}.app-shell{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.app-header{grid-template-columns:minmax(0,1fr) auto;min-height:74px;padding:14px 16px 10px;position:relative}.brand{gap:8px}.brand strong{font-size:1.12rem}.health-status{background:0 0;border:0;gap:6px;min-height:44px;padding:8px 10px;display:flex}.app-header .health-status{display:none}.health-status span{font-size:.8rem;display:inline}.primary-navigation{z-index:50;min-height:calc(70px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);border-top:1px solid var(--color-line);background:#fffdfaf5;justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #53393014}.navigation-item{border-radius:var(--radius-small);border-bottom:0;flex:1;min-width:0;min-height:58px;font-size:.82rem}.navigation-item[aria-current=page]{color:var(--color-coral-strong);background:var(--color-coral-soft)}.home-view{padding:10px 16px 18px}.home-top,.home-bottom,.home-side{grid-template-columns:1fr;gap:16px}.home-bottom,.home-wish-reminders{margin-top:16px}.home-wish-reminders .section-heading{flex-wrap:wrap;align-items:flex-start;gap:8px}.home-wish-reminders .section-heading>button{margin-left:auto}.hero-panel{aspect-ratio:1.45;border-radius:18px}.hero-image{object-position:center}.hero-copy{top:26px;left:24px}.hero-copy p{margin-bottom:8px;font-size:.8rem}.hero-copy h1{font-size:clamp(1.45rem,7vw,2.15rem);line-height:1.52}.together-panel{min-height:210px}.together-copy{inset:24px auto auto 24px}.together-copy strong{font-size:3.2rem}.mood-panel{min-height:288px;padding:24px}.content-panel{padding:18px}.memory-strip{scroll-snap-type:x mandatory;scrollbar-width:thin;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.memory-strip img{scroll-snap-align:start;flex:0 0 112px}.anniversary-list{scroll-snap-type:x mandatory;scrollbar-width:thin;justify-content:flex-start;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.anniversary-list article{scroll-snap-align:start;flex:0 0 118px}.home-anniversary-today{flex:0 0 100%}.placeholder-view{width:calc(100% - 32px);min-height:460px;margin-top:10px}.header-account img,.header-account span{display:none}.header-account button{width:44px;height:44px}.auth-shell{padding-bottom:24px}.auth-header{min-height:76px;padding:14px 18px}.auth-header .brand small{display:none}.auth-header>p{font-size:.8rem}.auth-header>p svg{display:none}.auth-layout{border-radius:22px;width:calc(100% - 24px);min-height:0}.auth-card{order:-1;padding:30px 22px 34px}.auth-mode-switch{margin-bottom:28px}.auth-card-heading>span{width:44px;height:44px;margin-bottom:16px}.auth-card-heading h1{font-size:1.9rem}.auth-form{gap:16px;margin-top:26px}.auth-form input{min-height:54px}.auth-story{min-height:210px}.auth-story>div{bottom:24px;left:24px;right:24px}.auth-story p{font-size:.8rem}.auth-story h2{max-width:16em;font-size:1.4rem}.space-setup-shell{padding-bottom:24px}.space-setup-header{min-height:76px;padding:14px 18px}.space-setup-header .brand small,.space-setup-account>span{display:none}.space-setup-account button{border-radius:50%;justify-content:center;width:44px;padding:0;font-size:0}.space-setup-main{border-radius:22px;width:calc(100% - 24px);min-height:0}.space-setup-card{padding:30px 22px 34px}.space-setup-card>h1{font-size:1.9rem}.space-choice-grid{grid-template-columns:1fr}.space-choice-grid p{min-height:0}.space-setup-visual{min-height:220px}.space-setup-visual>div{bottom:24px;left:24px;right:24px}.space-setup-visual h2{max-width:16em;font-size:1.4rem}.space-invitation-value{grid-template-columns:1fr}.space-invitation-value button{justify-content:center}.photos-view{padding:12px 16px 22px}.photos-heading{margin-bottom:20px}.photos-heading h1{font-size:2rem}.photos-heading>div>p:last-child{font-size:.86rem}.photos-layout{gap:16px}.photo-upload-panel{border-radius:18px;padding:19px}.photo-upload-form{grid-template-columns:1fr}.photo-suggestion-list li{flex-direction:column;align-items:stretch}.photo-suggestion-list li>button{width:100%}.photo-file-field,.photo-upload-form label:last-of-type,.photo-upload-message,.photo-upload-form .primary-action{grid-column:auto}.photos-state{border-radius:18px;min-height:330px}.photo-grid{gap:14px}.photo-card{border-radius:16px}.photo-card>img{aspect-ratio:1}.photo-card-copy{gap:7px;padding:13px 14px 15px}.photo-card-copy>div{gap:3px;display:grid}.photo-card h2{font-size:.94rem}.photo-delete-trigger,.photo-download-link{min-height:44px}.photo-viewer-backdrop{align-items:stretch;padding:10px}.photo-viewer-dialog{border-radius:16px;gap:10px;width:100%;max-height:none;padding:18px 12px 12px}.photo-viewer-close{top:10px;right:10px}.photo-viewer-heading{padding-right:52px;display:block}.photo-viewer-heading small{text-align:left;padding-top:4px;display:block}.photo-viewer-image-frame{min-height:0}.photo-viewer-image{max-height:calc(100vh - 230px)}.photo-viewer-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.photo-viewer-controls>.photo-download-link{grid-area:1/1/auto/-1}.photo-viewer-controls>button:first-child{grid-area:2/1}.photo-viewer-controls>button:last-child{grid-area:2/2}.photo-delete-backdrop{align-items:end;padding:16px}.photo-delete-dialog{border-radius:20px;padding:30px 20px 22px}.photo-edit-time-row{grid-template-columns:1fr}.photo-edit-time-row>button{width:100%}}@media (width<=390px){.health-status span{display:none}.hero-panel{aspect-ratio:1.36}.hero-copy h1{font-size:1.55rem}}.mood-view{width:min(100%,1200px);margin:0 auto;padding:12px clamp(28px,3.2vw,48px) 54px}.mood-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.mood-eyebrow,.mood-history-eyebrow{color:var(--color-coral-strong);letter-spacing:.04em;align-items:center;gap:7px;margin:0;font-size:.84rem;font-weight:750;display:inline-flex}.mood-heading h1{margin:7px 0 8px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.18}.mood-heading>div>p:last-child{color:var(--color-muted);margin:0;font-size:.92rem;line-height:1.65}.mood-date-badge{border:1px solid var(--color-line);min-height:44px;color:var(--color-muted);background:var(--color-surface);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.84rem;display:inline-flex}.mood-layout{grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr);align-items:start;gap:24px;display:grid}.mood-entry-panel,.mood-history-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);padding:26px}.mood-panel-heading{align-items:flex-start;gap:12px;display:flex}.mood-panel-heading>span{width:44px;height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:14px;flex:none;place-items:center;display:grid}.mood-panel-heading h2,.mood-history-heading h2{margin:0 0 4px;font-size:1.1rem}.mood-panel-heading p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.5}.mood-options{border:0;margin:26px 0 20px;padding:0}.mood-options legend{color:var(--color-text);margin-bottom:10px;font-size:.86rem;font-weight:700}.mood-options>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mood-options label{border:1px solid var(--color-line);min-height:48px;color:var(--color-muted);cursor:pointer;background:#fffdfb;border-radius:12px;place-items:center;font-size:.84rem;font-weight:650;display:grid;position:relative}.mood-options label:has(input:checked){border-color:var(--color-coral);color:var(--color-coral-strong);background:var(--color-coral-soft);box-shadow:0 0 0 3px #ff6f781a}.mood-options input{opacity:0;width:1px;height:1px;position:absolute}.mood-options input:focus-visible+span{outline-offset:4px;outline:3px solid #ff6f784d}.mood-note-field{color:var(--color-text);gap:8px;font-size:.86rem;font-weight:650;display:grid}.mood-note-field textarea{border-radius:var(--radius-small);width:100%;min-height:108px;color:var(--color-text);resize:vertical;background:#fffdfb;border:1px solid #ded5d0;outline:none;padding:12px 13px;line-height:1.55}.mood-note-field textarea:focus{border-color:var(--color-coral);box-shadow:0 0 0 4px #ff6f781f}.mood-entry-panel .primary-action{margin-top:20px}.mood-entry-panel .primary-action:disabled{cursor:wait;opacity:.68}.mood-save-message{border-radius:10px;align-items:center;gap:7px;margin:16px 0 0;padding:10px 12px;font-size:.82rem;line-height:1.5;display:flex}.mood-save-message--success{color:#287b54;background:#edf9f2}.mood-save-message--error{color:#a9434b;background:#fff2f1}.mood-history-heading{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:start;gap:20px;padding-bottom:18px;display:flex}.mood-history-heading h2{margin-top:6px;font-size:1.28rem}.mood-history-heading>span{color:var(--color-coral-strong);white-space:nowrap;font-size:.9rem;font-weight:750}.mood-range-form{background:#fffdfb;border:1px solid #f1e8e3;border-radius:14px;gap:10px;margin-top:18px;padding:14px;display:grid}.mood-range-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.mood-range-fields label{color:var(--color-muted);gap:6px;font-size:.78rem;font-weight:700;display:grid}.mood-range-fields input{width:100%;min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;font-variant-numeric:tabular-nums;border:1px solid #ded5d0;border-radius:10px;padding:0 10px}.mood-range-fields input:focus-visible{border-color:var(--color-coral);outline-offset:1px;outline:3px solid #ff6f782e}.mood-range-fields button{border:1px solid var(--color-coral);min-height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);white-space:nowrap;border-radius:10px;padding:0 14px;font-size:.82rem;font-weight:750}.mood-range-fields button:hover,.mood-range-fields button:focus-visible{border-color:var(--color-coral-strong);background:#ffd9d5}.mood-range-error{color:#a9434b;margin:0;font-size:.8rem;line-height:1.5}.mood-history-list{gap:12px;margin-top:18px;display:grid}.mood-history-date{color:var(--color-muted);margin:8px 0 0;font-size:.82rem;font-weight:750}.mood-history-card{background:#fffdfb;border:1px solid #f1e8e3;border-radius:16px;align-items:flex-start;gap:12px;padding:14px;display:flex}.mood-history-avatar{width:42px;height:42px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:50%;flex:none;place-items:center;font-size:1rem;font-weight:750;display:grid}.mood-history-card>div:last-child{flex:1;min-width:0}.mood-history-card-topline{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.mood-history-card h3{margin:0;font-size:.92rem}.mood-history-card-topline span{color:var(--color-coral-strong);font-size:.84rem;font-weight:700}.mood-history-card p{color:var(--color-muted);margin:7px 0 0;font-size:.84rem;line-height:1.55}.mood-state{min-height:260px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:9px;padding:34px 20px;display:grid}.mood-state svg{color:var(--color-coral)}.mood-state h3,.mood-state p{margin:0}.mood-state h3{color:var(--color-text);font-size:1.04rem}.mood-state p{max-width:24rem;font-size:.86rem;line-height:1.6}.mood-state button{border:1px solid var(--color-coral);border-radius:var(--radius-small);min-height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);align-items:center;gap:7px;margin-top:8px;padding:0 18px;font-weight:700;display:inline-flex}@media (width<=920px){.mood-layout{grid-template-columns:1fr}}@media (width<=720px){.mood-view{padding:12px 16px 22px}.mood-heading{align-items:start;gap:14px;margin-bottom:20px}.mood-heading h1{font-size:2rem}.mood-heading>div>p:last-child{font-size:.86rem}.mood-date-badge{min-height:40px;padding-inline:10px;font-size:.76rem}.mood-layout{gap:16px}.mood-entry-panel,.mood-history-panel{border-radius:18px;padding:19px}.mood-options>div{gap:7px}.mood-options label{min-height:48px;font-size:.8rem}.mood-history-card{padding:12px}.mood-range-fields{grid-template-columns:1fr 1fr}.mood-range-fields button{grid-column:1/-1}}.anniversary-view{width:min(100%,1200px);margin:0 auto;padding:12px clamp(28px,3.2vw,48px) 54px}.anniversary-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.anniversary-eyebrow,.anniversary-list-eyebrow{color:var(--color-coral-strong);letter-spacing:.04em;align-items:center;gap:7px;margin:0;font-size:.84rem;font-weight:750;display:inline-flex}.anniversary-heading h1{margin:7px 0 8px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.18}.anniversary-heading>div>p:last-child{color:var(--color-muted);margin:0;font-size:.92rem;line-height:1.65}.anniversary-date-badge{border:1px solid var(--color-line);min-height:44px;color:var(--color-muted);background:var(--color-surface);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.84rem;display:inline-flex}.anniversary-layout{grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr);align-items:start;gap:24px;display:grid}.anniversary-entry-panel,.anniversary-list-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);padding:26px}.anniversary-entry-panel{gap:18px;display:grid}.anniversary-panel-heading{align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.anniversary-panel-heading>span{width:44px;height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:14px;flex:none;place-items:center;display:grid}.anniversary-panel-heading h2,.anniversary-list-heading h2{margin:0 0 4px;font-size:1.1rem}.anniversary-panel-heading p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.5}.anniversary-field,.anniversary-field-grid{min-width:0}.anniversary-field{color:var(--color-text);gap:8px;font-size:.86rem;font-weight:650;display:grid}.anniversary-field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.anniversary-field input,.anniversary-field select,.anniversary-field textarea{border-radius:var(--radius-small);width:100%;color:var(--color-text);font:inherit;background:#fffdfb;border:1px solid #ded5d0;outline:none}.anniversary-field input,.anniversary-field select{min-height:44px;padding:0 12px}.anniversary-field textarea{resize:vertical;min-height:108px;padding:12px 13px;line-height:1.55}.anniversary-field input:focus,.anniversary-field select:focus,.anniversary-field textarea:focus{border-color:var(--color-coral);box-shadow:0 0 0 4px #ff6f781f}.anniversary-entry-panel .primary-action{margin-top:2px}.anniversary-form-actions{gap:10px;margin-top:2px;display:flex}.anniversary-form-actions .primary-action{flex:1;margin-top:0}.anniversary-cancel-button,.anniversary-edit-button{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:var(--color-surface);justify-content:center;align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.anniversary-cancel-button{padding:0 13px}.anniversary-cancel-button:hover,.anniversary-edit-button:hover{color:var(--color-coral-strong);background:var(--color-coral-soft);border-color:#f4c8c8}.anniversary-edit-button{padding:0 11px}.anniversary-card-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.anniversary-card-actions button{min-height:44px}.anniversary-delete-trigger{border-radius:var(--radius-small);color:#a9434b;background:#fff7f6;border:1px solid #f1d6d7;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 11px;font-size:.82rem;font-weight:700;display:inline-flex}.anniversary-delete-trigger:hover,.anniversary-delete-trigger:focus-visible{background:#ffefed;border-color:#e8aeb2}.anniversary-delete-backdrop{z-index:200;background:#2f27287a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.anniversary-delete-dialog{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);text-align:center;width:min(100%,430px);padding:32px;position:relative;box-shadow:0 24px 70px #2f272838}.anniversary-delete-close{width:44px;height:44px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.anniversary-delete-close:hover,.anniversary-delete-close:focus-visible{background:var(--color-coral-soft)}.anniversary-delete-icon{width:52px;height:52px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.anniversary-delete-dialog h2{margin:0;font-size:1.25rem}.anniversary-delete-dialog>p{color:var(--color-muted);margin:10px 0 0;font-size:.88rem;line-height:1.55}.anniversary-delete-dialog .anniversary-delete-warning{color:var(--color-coral-strong);margin-top:4px;font-weight:700}.anniversary-delete-dialog .anniversary-delete-error{color:#9f353e;background:var(--color-coral-soft);border-radius:10px;padding:10px 12px}.anniversary-delete-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.anniversary-delete-actions button{border:1px solid var(--color-line);border-radius:var(--radius-small);background:var(--color-surface);min-height:44px;font-weight:700}.anniversary-delete-actions .anniversary-delete-confirm{border-color:var(--color-coral-strong);color:#fff;background:var(--color-coral-strong)}.anniversary-delete-actions button:disabled,.anniversary-delete-close:disabled{cursor:wait;opacity:.62}.anniversary-entry-panel .primary-action:disabled{cursor:wait;opacity:.68}.anniversary-save-message{border-radius:10px;align-items:center;gap:7px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.5;display:flex}.anniversary-save-message--success{color:#287b54;background:#edf9f2}.anniversary-save-message--error{color:#a9434b;background:#fff2f1}.anniversary-list-heading{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:start;gap:20px;padding-bottom:18px;display:flex}.anniversary-list-heading h2{margin-top:6px;font-size:1.28rem}.anniversary-list-heading>span{color:var(--color-coral-strong);font-size:.9rem;font-weight:750}.anniversary-history-list{gap:12px;margin-top:18px;display:grid}.anniversary-card{background:#fffdfb;border:1px solid #f1e8e3;border-radius:16px;align-items:flex-start;gap:12px;padding:14px;display:flex}.anniversary-card-icon{width:44px;height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:14px;flex:none;place-items:center;display:grid}.anniversary-card-copy{flex:1;min-width:0}.anniversary-card-topline{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.anniversary-card h3{margin:0;font-size:.96rem}.anniversary-card-topline span{color:var(--color-coral-strong);white-space:nowrap;font-size:.82rem;font-weight:700}.anniversary-card p,.anniversary-card small{color:var(--color-muted);margin:7px 0 0;font-size:.84rem;line-height:1.55;display:block}.anniversary-card small{margin-top:4px;font-size:.8rem}.anniversary-state{min-height:260px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:9px;padding:34px 20px;display:grid}.anniversary-state svg{color:var(--color-coral)}.anniversary-state h3,.anniversary-state p{margin:0}.anniversary-state h3{color:var(--color-text);font-size:1.04rem}.anniversary-state p{max-width:24rem;font-size:.86rem;line-height:1.6}.anniversary-state button{border:1px solid var(--color-coral);border-radius:var(--radius-small);min-height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);align-items:center;gap:7px;margin-top:8px;padding:0 18px;font-weight:700;display:inline-flex}@media (width<=920px){.anniversary-layout{grid-template-columns:1fr}}@media (width<=720px){.anniversary-view{padding:12px 16px 22px}.anniversary-heading{align-items:start;gap:14px;margin-bottom:20px}.anniversary-heading h1{font-size:2rem}.anniversary-heading>div>p:last-child{font-size:.86rem}.anniversary-date-badge{min-height:40px;padding-inline:10px;font-size:.76rem}.anniversary-layout{gap:16px}.anniversary-entry-panel,.anniversary-list-panel{border-radius:18px;padding:19px}.anniversary-field-grid{grid-template-columns:1fr}.anniversary-card{padding:12px}.anniversary-card-actions{width:100%}.anniversary-card-actions button{flex:1}.anniversary-delete-backdrop{align-items:end;padding:16px}.anniversary-delete-dialog{border-radius:20px;padding:30px 20px 22px}}.wish-view{width:min(100%,1200px);margin:0 auto;padding:12px clamp(28px,3.2vw,48px) 54px}.wish-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.wish-eyebrow,.wish-list-eyebrow{color:var(--color-coral-strong);letter-spacing:.04em;align-items:center;gap:7px;margin:0;font-size:.84rem;font-weight:750;display:inline-flex}.wish-heading h1{margin:7px 0 8px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.18}.wish-heading>div>p:last-child{color:var(--color-muted);margin:0;font-size:.92rem;line-height:1.65}.wish-heading-badge{border:1px solid var(--color-line);min-height:44px;color:var(--color-muted);background:var(--color-surface);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.84rem;display:inline-flex}.wish-layout{grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr);align-items:start;gap:24px;display:grid}.wish-entry-panel,.wish-list-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);padding:26px}.wish-entry-panel{gap:18px;display:grid}.wish-panel-heading{align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.wish-panel-heading>span{width:44px;height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:14px;flex:none;place-items:center;display:grid}.wish-panel-heading h2,.wish-list-heading h2{margin:0 0 4px;font-size:1.1rem}.wish-panel-heading p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.5}.wish-field{min-width:0;color:var(--color-text);gap:8px;font-size:.86rem;font-weight:650;display:grid}.wish-field input,.wish-field textarea,.wish-field select{border-radius:var(--radius-small);width:100%;min-height:44px;color:var(--color-text);font:inherit;background:#fffdfb;border:1px solid #ded5d0;outline:none;padding:0 12px}.wish-field textarea{resize:vertical;min-height:88px;padding-top:11px;padding-bottom:11px}.wish-field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#8a7b76 50%),linear-gradient(135deg,#8a7b76 50%,#0000 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.wish-field input:focus,.wish-field textarea:focus,.wish-field select:focus{border-color:var(--color-coral);box-shadow:0 0 0 4px #ff6f781f}.wish-field input:disabled,.wish-field textarea:disabled,.wish-field select:disabled{cursor:not-allowed;opacity:.65}.wish-entry-panel .primary-action{margin-top:2px}.wish-entry-panel .primary-action:disabled{cursor:wait;opacity:.68}.wish-save-message{border-radius:10px;align-items:center;gap:7px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.5;display:flex}.wish-save-message--success{color:#287b54;background:#edf9f2}.wish-save-message--error{color:#a9434b;background:#fff2f1}.wish-list-heading{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:start;gap:20px;padding-bottom:18px;display:flex}.wish-list-heading h2{margin-top:6px;font-size:1.28rem}.wish-list-heading>span{color:var(--color-coral-strong);font-size:.9rem;font-weight:750}.wish-filter-controls{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.wish-filter-controls button{border:1px solid var(--color-line);min-height:44px;color:var(--color-muted);background:#fffdfb;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:700}.wish-filter-controls button:hover,.wish-filter-controls button:focus-visible,.wish-filter-controls button.is-active{border-color:var(--color-coral);color:var(--color-coral-strong);background:var(--color-coral-soft)}.wish-history-list{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.wish-card{background:#fffdfb;border:1px solid #f1e8e3;border-radius:16px;align-items:flex-start;gap:12px;padding:14px;transition:border-color .16s,background .16s;display:flex}.wish-card.is-completed{background:#f8fcf9;border-color:#d8eee1}.wish-complete-button{width:44px;height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border:0;border-radius:14px;flex:none;place-items:center;display:grid}.wish-card.is-completed .wish-complete-button{color:#287b54;background:#e8f7ed}.wish-complete-button:disabled{cursor:wait;opacity:.6}.wish-card>div{min-width:0;padding-top:3px}.wish-card-content--phase-two{width:100%}.wish-card h3{margin:0;font-size:.96rem}.wish-card.is-completed h3{color:var(--color-muted);text-decoration:line-through}.wish-card-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.wish-status-badge,.wish-reward-badge,.wish-assignee-badge,.wish-action-reminder,.wish-target-date-badge{border-radius:999px;align-items:center;min-height:26px;padding:3px 8px;font-size:.74rem;font-weight:700;line-height:1.2;display:inline-flex}.wish-status-badge{color:#8d6a25;background:#fff5d9}.wish-status-badge--confirmed{color:#287b54;background:#edf9f2}.wish-status-badge--needs_revision{color:#a9434b;background:#fff0ef}.wish-action-reminder{color:#9a3f55;background:#ffe7ed}.wish-target-date-badge{color:#8d6a25;background:#fff5d9}.wish-target-date-badge--today{color:var(--color-coral-strong);background:var(--color-coral-soft)}.wish-target-date-badge--overdue{color:#a9434b;background:#fff0ef}.wish-target-date-badge--upcoming,.wish-status-badge--archived,.wish-status-badge--deleted{color:var(--color-muted);background:#f2eeeb}.wish-reward-badge{color:var(--color-coral-strong);background:var(--color-coral-soft)}.wish-assignee-badge{color:#467c9e;background:#edf7fc}.wish-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.wish-submit-trigger{border-radius:var(--radius-small);min-height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border:1px solid #f0c8c5;align-items:center;margin-top:13px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.wish-submit-trigger:hover,.wish-submit-trigger:focus-visible{border-color:var(--color-coral);background:#ffe5e3}.wish-submission-form{border-top:1px solid var(--color-line);gap:11px;margin-top:14px;padding-top:14px;display:grid}.wish-submission-form .wish-field{font-size:.82rem}.wish-submission-form .wish-field textarea{min-height:96px}.wish-submission-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.wish-submission-actions .primary-action{min-height:44px;margin-top:0;padding:0 14px;font-size:.82rem}.wish-secondary-action{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:#fffdfb;align-items:center;padding:0 13px;font-size:.82rem;font-weight:650;display:inline-flex}.wish-secondary-action:hover,.wish-secondary-action:focus-visible{color:var(--color-text);background:#fff;border-color:#d9cbc5}.wish-archive-trigger{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:#fffdfb;align-items:center;margin-top:13px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.wish-archive-trigger:hover,.wish-archive-trigger:focus-visible{color:var(--color-text);background:#fff;border-color:#d9cbc5}.wish-archive-backdrop{z-index:200;background:#2f27287a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.wish-archive-dialog{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);width:min(100%,430px);padding:32px;position:relative;box-shadow:0 24px 70px #2f272838}.wish-archive-close{width:44px;height:44px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.2rem;display:grid;position:absolute;top:14px;right:14px}.wish-archive-close:hover,.wish-archive-close:focus-visible{background:var(--color-coral-soft)}.wish-archive-dialog h2{margin:0;padding-right:34px;font-size:1.25rem}.wish-archive-dialog>p{color:var(--color-muted);margin:10px 0 0;font-size:.88rem;line-height:1.55}.wish-archive-dialog .wish-archive-error{color:#9f353e;background:var(--color-coral-soft);border-radius:10px;padding:10px 12px}.wish-archive-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.wish-archive-actions button{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:#fffdfb;padding:0 14px;font-size:.82rem;font-weight:650}.wish-archive-actions button:hover,.wish-archive-actions button:focus-visible{color:var(--color-text);background:#fff;border-color:#d9cbc5}.wish-archive-actions .wish-archive-confirm{color:var(--color-coral-strong);background:var(--color-coral-soft);border-color:#f0c8c5;font-weight:700}.wish-archive-actions .wish-archive-confirm:hover,.wish-archive-actions .wish-archive-confirm:focus-visible{border-color:var(--color-coral);background:#ffe5e3}.wish-delete-trigger{border-radius:var(--radius-small);color:#a9434b;background:#fff7f6;border:1px solid #f1d6d7;align-items:center;min-height:44px;margin-top:13px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.wish-delete-trigger:hover,.wish-delete-trigger:focus-visible{background:#ffefed;border-color:#e8aeb2}.wish-delete-backdrop{z-index:200;background:#2f27287a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.wish-delete-dialog{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);width:min(100%,430px);padding:32px;position:relative;box-shadow:0 24px 70px #2f272838}.wish-delete-close{width:44px;height:44px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.2rem;display:grid;position:absolute;top:14px;right:14px}.wish-delete-close:hover,.wish-delete-close:focus-visible{background:var(--color-coral-soft)}.wish-delete-dialog h2{margin:0;padding-right:34px;font-size:1.25rem}.wish-delete-dialog>p{color:var(--color-muted);margin:10px 0 0;font-size:.88rem;line-height:1.55}.wish-delete-dialog .wish-delete-error{color:#9f353e;background:var(--color-coral-soft);border-radius:10px;padding:10px 12px}.wish-delete-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.wish-delete-actions button{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:#fffdfb;padding:0 14px;font-size:.82rem;font-weight:650}.wish-delete-actions button:hover,.wish-delete-actions button:focus-visible{color:var(--color-text);background:#fff;border-color:#d9cbc5}.wish-delete-actions .wish-delete-confirm{color:#a9434b;background:#fff7f6;border-color:#f1d6d7;font-weight:700}.wish-delete-actions .wish-delete-confirm:hover,.wish-delete-actions .wish-delete-confirm:focus-visible{background:#ffefed;border-color:#e8aeb2}.wish-restore-trigger{border-radius:var(--radius-small);color:#39724f;background:#f1fbf4;border:1px solid #cce6d5;align-items:center;min-height:44px;margin-top:13px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.wish-restore-trigger:hover,.wish-restore-trigger:focus-visible{background:#e6f7eb;border-color:#9dceb0}.wish-restore-backdrop{z-index:200;background:#2f27287a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.wish-restore-dialog{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);width:min(100%,430px);padding:32px;position:relative;box-shadow:0 24px 70px #2f272838}.wish-restore-close{width:44px;height:44px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.2rem;display:grid;position:absolute;top:14px;right:14px}.wish-restore-close:hover,.wish-restore-close:focus-visible{background:#e6f7eb}.wish-restore-dialog h2{margin:0;padding-right:34px;font-size:1.25rem}.wish-restore-dialog>p{color:var(--color-muted);margin:10px 0 0;font-size:.88rem;line-height:1.55}.wish-restore-dialog .wish-restore-error{color:#9f353e;background:var(--color-coral-soft);border-radius:10px;padding:10px 12px}.wish-restore-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.wish-restore-actions button{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:#fffdfb;padding:0 14px;font-size:.82rem;font-weight:650}.wish-restore-actions button:hover,.wish-restore-actions button:focus-visible{color:var(--color-text);background:#fff;border-color:#d9cbc5}.wish-restore-actions .wish-restore-confirm{color:#39724f;background:#f1fbf4;border-color:#cce6d5;font-weight:700}.wish-restore-actions .wish-restore-confirm:hover,.wish-restore-actions .wish-restore-confirm:focus-visible{background:#e6f7eb;border-color:#9dceb0}.wish-unarchive-trigger{border-radius:var(--radius-small);color:#467c9e;background:#edf7fc;border:1px solid #d9e8f0;align-items:center;min-height:44px;margin-top:13px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.wish-unarchive-trigger:hover,.wish-unarchive-trigger:focus-visible{background:#e2f2fa;border-color:#b8d5e3}.wish-unarchive-backdrop{z-index:200;background:#2f27287a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.wish-unarchive-dialog{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);width:min(100%,430px);padding:32px;position:relative;box-shadow:0 24px 70px #2f272838}.wish-unarchive-close{width:44px;height:44px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.2rem;display:grid;position:absolute;top:14px;right:14px}.wish-unarchive-close:hover,.wish-unarchive-close:focus-visible{background:#e2f2fa}.wish-unarchive-dialog h2{margin:0;padding-right:34px;font-size:1.25rem}.wish-unarchive-dialog>p{color:var(--color-muted);margin:10px 0 0;font-size:.88rem;line-height:1.55}.wish-unarchive-dialog .wish-unarchive-error{color:#9f353e;background:var(--color-coral-soft);border-radius:10px;padding:10px 12px}.wish-unarchive-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.wish-unarchive-actions button{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:#fffdfb;padding:0 14px;font-size:.82rem;font-weight:650}.wish-unarchive-actions button:hover,.wish-unarchive-actions button:focus-visible{color:var(--color-text);background:#fff;border-color:#d9cbc5}.wish-unarchive-actions .wish-unarchive-confirm{color:#467c9e;background:#edf7fc;border-color:#d9e8f0;font-weight:700}.wish-unarchive-actions .wish-unarchive-confirm:hover,.wish-unarchive-actions .wish-unarchive-confirm:focus-visible{background:#e2f2fa;border-color:#b8d5e3}.wish-action-hint{color:var(--color-muted);font-size:.78rem}.wish-review-trigger{border-radius:var(--radius-small);color:#467c9e;background:#edf7fc;border:1px solid #d9e8f0;align-items:center;min-height:44px;margin-top:13px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.wish-review-trigger:hover,.wish-review-trigger:focus-visible{background:#e2f2fa;border-color:#b8d5e3}.wish-review-panel{border-top:1px solid var(--color-line);gap:12px;margin-top:14px;padding-top:14px;display:grid}.wish-review-summary{background:#f8fafb;border-radius:12px;padding:12px 13px}.wish-review-summary strong{color:var(--color-text);font-size:.78rem;display:block}.wish-review-summary p{color:var(--color-muted);white-space:pre-wrap;margin:6px 0 0;font-size:.84rem;line-height:1.6}.wish-review-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.wish-review-actions .primary-action{min-height:44px;margin-top:0;padding:0 14px;font-size:.82rem}.wish-review-return-form{border-top:1px dashed var(--color-line);gap:10px;padding-top:12px;display:grid}.wish-review-return-form .wish-field{font-size:.82rem}.wish-review-return-form .wish-field textarea{min-height:76px}.wish-return-action{border-radius:var(--radius-small);width:fit-content;min-height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border:1px solid #f0c8c5;align-items:center;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.wish-return-action:hover,.wish-return-action:focus-visible{border-color:var(--color-coral);background:#ffe5e3}.wish-card p{color:var(--color-muted);margin:7px 0 0;font-size:.84rem;line-height:1.55}.wish-state{min-height:260px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:9px;padding:34px 20px;display:grid}.wish-state svg{color:var(--color-coral)}.wish-state h3,.wish-state p{margin:0}.wish-state h3{color:var(--color-text);font-size:1.04rem}.wish-state p{max-width:24rem;font-size:.86rem;line-height:1.6}.wish-state button{border:1px solid var(--color-coral);border-radius:var(--radius-small);min-height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);align-items:center;gap:7px;margin-top:8px;padding:0 18px;font-weight:700;display:inline-flex}@media (width<=920px){.wish-layout{grid-template-columns:1fr}}@media (width<=720px){.wish-view{padding:12px 16px 22px}.wish-heading{align-items:start;gap:14px;margin-bottom:20px}.wish-heading h1{font-size:2rem}.wish-heading>div>p:last-child{font-size:.86rem}.wish-heading-badge{min-height:40px;padding-inline:10px;font-size:.76rem}.wish-layout{gap:16px}.wish-entry-panel,.wish-list-panel{border-radius:18px;padding:19px}.wish-card{padding:12px}.wish-archive-backdrop{align-items:end;padding:16px}.wish-archive-dialog{border-radius:20px;padding:30px 20px 22px}.wish-delete-backdrop{align-items:end;padding:16px}.wish-delete-dialog{border-radius:20px;padding:30px 20px 22px}.wish-restore-backdrop{align-items:end;padding:16px}.wish-restore-dialog{border-radius:20px;padding:30px 20px 22px}.wish-unarchive-backdrop{align-items:end;padding:16px}.wish-unarchive-dialog{border-radius:20px;padding:30px 20px 22px}}.profile-view{width:min(100%,1080px);margin:0 auto;padding:12px clamp(28px,3.2vw,48px) 54px}.profile-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.profile-eyebrow{color:var(--color-coral-strong);letter-spacing:.04em;align-items:center;gap:7px;margin:0;font-size:.84rem;font-weight:750;display:inline-flex}.profile-heading h1{margin:7px 0 8px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.18}.profile-heading>div>p:last-child{color:var(--color-muted);margin:0;font-size:.92rem;line-height:1.65}.profile-heading-badge{color:#287b54;background:#f2fbf5;border:1px solid #d7eee0;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:.84rem;display:inline-flex}.profile-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.profile-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);padding:26px}.profile-panel-heading{align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.profile-panel-heading>span{width:44px;height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border-radius:14px;flex:none;place-items:center;display:grid}.profile-panel-heading h2{margin:0 0 4px;font-size:1.1rem}.profile-panel-heading p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.5}.profile-details{gap:14px;margin:0;display:grid}.profile-details div{border-bottom:1px solid var(--color-line);gap:4px;padding-bottom:14px;display:grid}.profile-details div:last-child{border-bottom:0;padding-bottom:0}.profile-details dt{color:var(--color-muted);font-size:.78rem}.profile-details dd{overflow-wrap:anywhere;color:var(--color-text);margin:0;font-size:.94rem;font-weight:700}.profile-space-status{color:#287b54;align-items:center;gap:8px;margin-bottom:15px;font-size:.88rem;display:flex}.profile-member-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.profile-member-list li{background:#fff8f6;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 12px;display:flex}.profile-member-list span{overflow-wrap:anywhere;min-width:0;font-size:.88rem;font-weight:700}.profile-member-list small{color:var(--color-muted);flex:none;font-size:.76rem}.profile-points-panel{grid-column:1/-1;justify-content:space-between;align-items:center;gap:22px;display:flex}.profile-points-panel .profile-panel-heading{margin-bottom:0}.profile-points-button{border-radius:var(--radius-small);min-height:46px;color:var(--color-coral-strong);background:var(--color-coral-soft);border:1px solid #f0c8c5;flex:none;align-items:center;gap:5px;padding:0 16px;font-weight:700;display:inline-flex}.profile-points-button:hover,.profile-points-button:focus-visible{border-color:var(--color-coral);background:#ffe5e3}.profile-actions{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:#fffdfb;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding:18px 22px;display:flex}.profile-actions p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.5}.profile-actions button{border-radius:var(--radius-small);color:#a9434b;background:#fff2f1;border:1px solid #f0c8c5;flex:none;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-weight:700;display:inline-flex}.points-view{width:min(100%,1080px);margin:0 auto;padding:12px clamp(28px,3.2vw,48px) 54px}.points-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.points-eyebrow{color:var(--color-coral-strong);letter-spacing:.04em;align-items:center;gap:7px;margin:0;font-size:.84rem;font-weight:750;display:inline-flex}.points-heading h1{margin:7px 0 8px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.18}.points-heading>div>p:last-child{color:var(--color-muted);margin:0;font-size:.92rem;line-height:1.65}.points-heading-badge{color:#8d6a25;background:#fff9e8;border:1px solid #e9dfbc;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:.84rem;display:inline-flex}.points-balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.points-balance-card,.points-ledger-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft)}.points-balance-card{align-content:center;gap:8px;min-height:164px;padding:22px;display:grid}.points-balance-card>span{color:var(--color-muted);font-size:.86rem;font-weight:650}.points-balance-card strong{color:var(--color-text);letter-spacing:-.04em;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1}.points-balance-card small{color:var(--color-muted);font-size:.8rem}.points-balance-card.is-current{background:linear-gradient(145deg,#fff8f6,#fff);border-color:#f5c8c6}.points-balance-card.is-current strong{color:var(--color-coral-strong)}.points-balance-card--total{background:linear-gradient(145deg,#f2f9fd,#fff);border-color:#d9e8f0}.points-balance-card--total strong{color:#467c9e}.points-redemption-form-panel,.points-redemptions-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);margin-bottom:24px;padding:24px}.points-redemption-form-panel .points-section-heading>svg{color:var(--color-coral-strong)}.points-redemption-form{gap:18px;padding-top:20px;display:grid}.points-redemption-form label{color:var(--color-text);gap:8px;font-size:.88rem;font-weight:700;display:grid}.points-redemption-form textarea,.points-redemption-form input{border-radius:var(--radius-small);width:100%;color:var(--color-text);font:inherit;background:#fffdfc;border:1px solid #dfd3d0;outline:0;font-weight:500;transition:border-color .16s,box-shadow .16s}.points-redemption-form textarea{resize:vertical;min-height:110px;padding:13px 14px;line-height:1.6}.points-redemption-form input{min-height:46px;padding:0 13px}.points-redemption-form textarea:focus,.points-redemption-form input:focus{border-color:var(--color-coral);box-shadow:0 0 0 3px #ec7f7729}.points-redemption-form-row{grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:end;gap:18px;display:grid}.points-available-balance{border-radius:var(--radius-small);color:#806225;background:#fff9e8;border:1px solid #e8dfbd;align-items:center;min-height:46px;margin:0;padding:0 14px;font-size:.84rem;font-weight:700;display:flex}.points-redemption-form-footer{align-items:center;gap:14px;display:flex}.points-redemption-form-footer button,.points-redemptions-state button{border:1px solid var(--color-coral);border-radius:var(--radius-small);color:#fff;background:var(--color-coral-strong);justify-content:center;align-items:center;gap:7px;min-height:46px;padding:0 18px;font-weight:750;display:inline-flex}.points-redemption-form-footer button:disabled{cursor:wait;opacity:.68}.points-redemption-form-footer small{color:var(--color-muted);font-size:.78rem;line-height:1.5}.points-form-error,.points-form-notice{border-radius:var(--radius-small);margin:0;padding:11px 13px;font-size:.82rem;line-height:1.5}.points-form-error{color:#a9434b;background:#fff2f1;border:1px solid #f0c8c5}.points-form-notice{color:#287b54;background:#edf9f2;border:1px solid #bfdfc9}.points-redemptions-state{min-height:120px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:10px;padding:24px;display:grid}.points-redemptions-state p{margin:0;font-size:.88rem}.points-redemptions-state>svg{color:var(--color-coral)}.points-redemptions-state--error{color:#a9434b}.points-redemptions-state button{color:var(--color-coral-strong);background:var(--color-coral-soft);margin-top:2px}.points-redemption-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.points-redemption-list li{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:76px;padding:13px 0;display:grid}.points-redemption-list li:last-child{border-bottom:0}.points-redemption-content{gap:5px;min-width:0;display:grid}.points-redemption-content strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.points-redemption-content small{color:var(--color-muted);font-size:.78rem}.points-redemption-content p{color:#806225;margin:0;font-size:.78rem;line-height:1.5}.points-redemption-actions{justify-items:end;gap:8px;display:grid}.points-redemption-actions output{color:var(--color-coral-strong);white-space:nowrap;font-size:.98rem;font-weight:750}.points-use-redemption-button{border-radius:var(--radius-small);min-height:44px;color:var(--color-coral-strong);white-space:nowrap;background:#fff6f4;border:1px solid #efc0bd;padding:0 12px;font-size:.78rem;font-weight:750}.points-request-refund-button{border-radius:var(--radius-small);color:#91612b;white-space:nowrap;background:#fff9ef;border:1px solid #e8c59d;min-height:44px;padding:0 12px;font-size:.78rem;font-weight:750}.points-review-refund-button{border-radius:var(--radius-small);color:#67518f;white-space:nowrap;background:#faf7ff;border:1px solid #c9b9e6;min-height:44px;padding:0 12px;font-size:.78rem;font-weight:750}.points-cancel-refund-button{border-radius:var(--radius-small);color:#91534d;white-space:nowrap;background:#fff8f6;border:1px solid #e2c3be;min-height:44px;padding:0 12px;font-size:.78rem;font-weight:750}.points-redemption-use-form{border-top:1px dashed var(--color-line);grid-column:1/-1;gap:13px;padding-top:14px;display:grid}.points-redemption-use-form label{color:var(--color-text);gap:8px;font-size:.82rem;font-weight:700;display:grid}.points-redemption-use-form textarea{border-radius:var(--radius-small);width:100%;min-height:76px;color:var(--color-text);font:inherit;resize:vertical;background:#fffdfc;border:1px solid #dfd3d0;outline:0;padding:11px 12px;font-size:.86rem;font-weight:500;line-height:1.55}.points-redemption-use-form textarea:focus{border-color:var(--color-coral);box-shadow:0 0 0 3px #ec7f7729}.points-redemption-use-actions{flex-wrap:wrap;gap:9px;display:flex}.points-redemption-use-actions button{border:1px solid var(--color-coral);border-radius:var(--radius-small);color:#fff;background:var(--color-coral-strong);min-height:44px;padding:0 14px;font-size:.82rem;font-weight:750}.points-redemption-use-actions button:last-child{border-color:var(--color-line);color:var(--color-muted);background:var(--color-surface)}.points-redemption-use-actions button:disabled{cursor:wait;opacity:.68}.points-redemption-refund-form{border-top:1px dashed var(--color-line);grid-column:1/-1;gap:13px;padding-top:14px;display:grid}.points-redemption-refund-form label{color:var(--color-text);gap:8px;font-size:.82rem;font-weight:700;display:grid}.points-redemption-refund-form textarea{border-radius:var(--radius-small);width:100%;min-height:76px;color:var(--color-text);font:inherit;resize:vertical;background:#fffdfc;border:1px solid #dfd3d0;outline:0;padding:11px 12px;font-size:.86rem;font-weight:500;line-height:1.55}.points-redemption-refund-form textarea:focus{border-color:#d7a45e;box-shadow:0 0 0 3px #d7a45e29}.points-redemption-refund-actions{flex-wrap:wrap;gap:9px;display:flex}.points-redemption-refund-actions button{border-radius:var(--radius-small);color:#fff;background:#a86f32;border:1px solid #bd8647;min-height:44px;padding:0 14px;font-size:.82rem;font-weight:750}.points-redemption-refund-actions button:last-child{border-color:var(--color-line);color:var(--color-muted);background:var(--color-surface)}.points-redemption-refund-actions button:disabled{cursor:wait;opacity:.68}.points-redemption-review-form{border-top:1px dashed var(--color-line);grid-column:1/-1;gap:13px;padding-top:14px;display:grid}.points-redemption-review-summary{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.55}.points-redemption-review-form label{color:var(--color-text);gap:8px;font-size:.82rem;font-weight:700;display:grid}.points-redemption-review-form textarea{border-radius:var(--radius-small);width:100%;min-height:76px;color:var(--color-text);font:inherit;resize:vertical;background:#fffdfc;border:1px solid #dfd3d0;outline:0;padding:11px 12px;font-size:.86rem;font-weight:500;line-height:1.55}.points-redemption-review-form textarea:focus{border-color:#9d86c9;box-shadow:0 0 0 3px #9d86c929}.points-redemption-review-actions{flex-wrap:wrap;gap:9px;display:flex}.points-redemption-review-actions button{border-radius:var(--radius-small);color:#fff;background:#765c9f;border:1px solid #7f67a9;min-height:44px;padding:0 14px;font-size:.82rem;font-weight:750}.points-redemption-review-actions button:nth-child(2){color:#8f514b;background:#fff6f4;border-color:#d4a7a1}.points-redemption-review-actions button:last-child{border-color:var(--color-line);color:var(--color-muted);background:var(--color-surface)}.points-redemption-review-actions button:disabled{cursor:wait;opacity:.68}.points-redemption-cancel-form{border-top:1px dashed var(--color-line);grid-column:1/-1;gap:13px;padding-top:14px;display:grid}.points-redemption-cancel-form>p:first-child{color:var(--color-text);margin:0;font-size:.84rem;font-weight:700;line-height:1.55}.points-redemption-cancel-actions{flex-wrap:wrap;gap:9px;display:flex}.points-redemption-cancel-actions button{border-radius:var(--radius-small);color:#fff;background:#ae6259;border:1px solid #bd756c;min-height:44px;padding:0 14px;font-size:.82rem;font-weight:750}.points-redemption-cancel-actions button:last-child{border-color:var(--color-line);color:var(--color-muted);background:var(--color-surface)}.points-redemption-cancel-actions button:disabled{cursor:wait;opacity:.68}.points-redemption-list output{color:var(--color-coral-strong);white-space:nowrap;font-size:.98rem;font-weight:750}.points-ledger-panel{min-width:0;padding:24px}.points-section-heading{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:18px;min-height:40px;padding-bottom:17px;display:flex}.points-section-heading p,.points-section-heading h2{margin:0}.points-section-heading p{color:var(--color-coral-strong);letter-spacing:.04em;margin-bottom:4px;font-size:.78rem;font-weight:750}.points-section-heading h2{font-size:1.16rem}.points-section-heading>span{color:var(--color-muted);font-size:.82rem}.points-ledger-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.points-ledger-list li{border-bottom:1px solid var(--color-line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:12px 0;display:grid}.points-ledger-list li:last-child{border-bottom:0}.points-ledger-icon{color:#a95c63;background:#fff0ef;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.points-ledger-icon.is-income{color:#32835c;background:#edf9f2}.points-ledger-list li>div{gap:5px;min-width:0;display:grid}.points-ledger-list strong{font-size:.92rem}.points-ledger-list small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.points-ledger-list output{white-space:nowrap;font-size:.98rem;font-weight:750}.points-ledger-list output.is-income{color:#287b54}.points-ledger-list output.is-expense{color:#a9434b}.points-ledger-entry-actions{justify-items:end;gap:7px;display:grid}.points-correction-button{border-radius:var(--radius-small);color:#6e5993;background:#faf7ff;border:1px solid #9b85c8;min-height:38px;padding:0 11px;font-size:.76rem;font-weight:750}.points-correction-status{color:#8066a8;font-size:.74rem;font-weight:700}.points-ledger-correction-note{color:#8066a8;margin:0;font-size:.76rem;line-height:1.45}.points-correction-form{border-top:1px dashed var(--color-line);grid-column:1/-1;gap:13px;padding-top:14px;display:grid}.points-correction-form>p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.55}.points-correction-form label{color:var(--color-text);gap:8px;font-size:.82rem;font-weight:700;display:grid}.points-correction-form input,.points-correction-form textarea{border-radius:var(--radius-small);width:100%;color:var(--color-text);font:inherit;background:#fffdfc;border:1px solid #dfd3d0;outline:0;padding:11px 12px;font-size:.86rem;font-weight:500;line-height:1.55}.points-correction-form input{min-height:44px}.points-correction-form textarea{resize:vertical;min-height:76px}.points-correction-form input:focus,.points-correction-form textarea:focus{border-color:#9d86c9;box-shadow:0 0 0 3px #9d86c929}.points-correction-actions{flex-wrap:wrap;gap:9px;display:flex}.points-correction-actions button{border-radius:var(--radius-small);color:#fff;background:#765c9f;border:1px solid #7f67a9;min-height:44px;padding:0 14px;font-size:.82rem;font-weight:750}.points-correction-actions button:last-child{border-color:var(--color-line);color:var(--color-muted);background:var(--color-surface)}.points-correction-actions button:disabled{cursor:wait;opacity:.68}.points-corrections-review-panel{border-radius:var(--radius-medium);background:#fcfaff;border:1px solid #e1d8ee;gap:0;margin-bottom:20px;padding:24px;display:grid}.points-correction-review-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.points-correction-review-list li{border-bottom:1px solid #e7dff1;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px 0;display:grid}.points-correction-review-list li:last-child{border-bottom:0}.points-correction-review-content{gap:6px;min-width:0;display:grid}.points-correction-review-content strong{font-size:.92rem}.points-correction-review-content small,.points-correction-review-content p,.points-correction-review-summary{color:var(--color-muted);margin:0;font-size:.8rem;line-height:1.55}.points-review-correction-button{border-radius:var(--radius-small);color:#fff;background:#765c9f;border:1px solid #8068aa;min-height:44px;padding:0 14px;font-size:.82rem;font-weight:750}.points-correction-review-form{border-top:1px dashed #e1d8ee;grid-column:1/-1;gap:13px;padding-top:14px;display:grid}.points-correction-review-form label{color:var(--color-text);gap:8px;font-size:.82rem;font-weight:700;display:grid}.points-correction-review-form textarea{border-radius:var(--radius-small);width:100%;min-height:76px;color:var(--color-text);font:inherit;resize:vertical;background:#fffdfc;border:1px solid #dfd3d0;outline:0;padding:11px 12px;font-size:.86rem;font-weight:500;line-height:1.55}.points-correction-review-form textarea:focus{border-color:#9d86c9;box-shadow:0 0 0 3px #9d86c929}.points-correction-review-actions{flex-wrap:wrap;gap:9px;display:flex}.points-correction-review-actions button{border-radius:var(--radius-small);color:#fff;background:#765c9f;border:1px solid #7f67a9;min-height:44px;padding:0 14px;font-size:.82rem;font-weight:750}.points-correction-review-actions button:nth-child(2){color:#8f514b;background:#fff6f4;border-color:#d4a7a1}.points-correction-review-actions button:last-child{border-color:var(--color-line);color:var(--color-muted);background:var(--color-surface)}.points-correction-review-actions button:disabled{cursor:wait;opacity:.68}.points-correction-cancel-form{border-top:1px dashed var(--color-line);grid-column:1/-1;gap:13px;padding-top:14px;display:grid}.points-correction-cancel-form>p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.55}.points-correction-cancel-actions{flex-wrap:wrap;gap:9px;display:flex}.points-correction-cancel-actions button{border-radius:var(--radius-small);color:#fff;background:#765c9f;border:1px solid #7f67a9;min-height:44px;padding:0 14px;font-size:.82rem;font-weight:750}.points-correction-cancel-actions button:last-child{border-color:var(--color-line);color:var(--color-muted);background:var(--color-surface)}.points-correction-cancel-actions button:disabled{cursor:wait;opacity:.68}.points-state,.points-empty-state{border:1px solid var(--color-line);border-radius:var(--radius-medium);min-height:360px;color:var(--color-muted);background:var(--color-surface);box-shadow:var(--shadow-soft);text-align:center;place-content:center;justify-items:center;gap:10px;padding:40px 24px;display:grid}.points-state svg,.points-empty-state svg{color:var(--color-coral)}.points-state h2,.points-state p,.points-empty-state h3,.points-empty-state p{margin:0}.points-state h2,.points-empty-state h3{color:var(--color-text);font-size:1.12rem}.points-state p,.points-empty-state p{max-width:32rem;font-size:.88rem;line-height:1.6}.points-state button,.points-load-more button{border:1px solid var(--color-coral);border-radius:var(--radius-small);min-height:46px;color:var(--color-coral-strong);background:var(--color-coral-soft);align-items:center;gap:7px;margin-top:8px;padding:0 18px;font-weight:700;display:inline-flex}.points-load-more{justify-items:center;gap:8px;padding-top:18px;display:grid}.points-load-more button:disabled{cursor:wait;opacity:.68}.points-load-more p{color:#a9434b;margin:0;font-size:.8rem}@media (width<=720px){.profile-view{padding:12px 16px 22px}.profile-heading{align-items:start;gap:14px;margin-bottom:20px}.profile-heading h1{font-size:2rem}.profile-heading>div>p:last-child{font-size:.86rem}.profile-heading-badge{min-height:40px;padding-inline:10px;font-size:.76rem}.profile-layout{grid-template-columns:1fr;gap:16px}.profile-points-panel{flex-direction:column;align-items:stretch;gap:16px}.profile-panel{border-radius:18px;padding:19px}.profile-actions{border-radius:18px;flex-direction:column;align-items:stretch;margin-top:16px;padding:16px 19px}.profile-actions button{justify-content:center}.points-view{padding:12px 16px 22px}.points-heading{align-items:start;gap:14px;margin-bottom:20px}.points-heading h1{font-size:2rem}.points-heading>div>p:last-child{font-size:.86rem}.points-heading-badge{min-height:40px;padding-inline:10px;font-size:.76rem}.points-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.points-balance-card{border-radius:18px;min-height:132px;padding:17px}.points-balance-card--total{grid-column:1/-1;min-height:116px}.points-balance-card strong{font-size:2rem}.points-redemption-form-panel,.points-redemptions-panel{border-radius:18px;margin-bottom:16px;padding:19px}.points-redemption-form{padding-top:17px}.points-redemption-form-row{grid-template-columns:1fr;gap:12px}.points-redemption-form-footer{flex-direction:column;align-items:stretch}.points-redemption-form-footer button{width:100%}.points-redemption-list li{gap:10px}.points-redemption-content strong{font-size:.86rem}.points-redemption-content small,.points-redemption-content p{font-size:.74rem}.points-redemption-actions output{font-size:.88rem}.points-use-redemption-button,.points-request-refund-button,.points-review-refund-button,.points-cancel-refund-button{padding-inline:10px;font-size:.74rem}.points-redemption-use-actions{flex-direction:column;align-items:stretch}.points-redemption-use-actions button{width:100%}.points-redemption-refund-actions{flex-direction:column;align-items:stretch}.points-redemption-refund-actions button{width:100%}.points-redemption-review-actions{flex-direction:column;align-items:stretch}.points-redemption-review-actions button{width:100%}.points-redemption-cancel-actions{flex-direction:column;align-items:stretch}.points-redemption-cancel-actions button{width:100%}.points-ledger-panel{border-radius:18px;padding:19px}.points-ledger-list li{grid-template-columns:40px minmax(0,1fr) auto;gap:9px;min-height:70px}.points-ledger-icon{border-radius:12px;width:38px;height:38px}.points-ledger-list strong{font-size:.86rem}.points-ledger-list small{font-size:.74rem}.points-ledger-list output{font-size:.88rem}.points-ledger-entry-actions{gap:6px}.points-correction-button{min-height:40px;padding-inline:9px;font-size:.72rem}.points-ledger-correction-note{font-size:.72rem}.points-correction-actions{flex-direction:column;align-items:stretch}.points-correction-actions button{width:100%}.points-corrections-review-panel{border-radius:18px;margin-bottom:16px;padding:19px}.points-correction-review-list li{grid-template-columns:1fr;gap:11px}.points-review-correction-button{width:100%}.points-correction-review-actions{flex-direction:column;align-items:stretch}.points-correction-review-actions button{width:100%}.points-correction-cancel-actions{flex-direction:column;align-items:stretch}.points-correction-cancel-actions button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.vouchers-view{width:min(100%,1280px);margin:0 auto;padding:20px clamp(20px,3.2vw,48px) 64px}.vouchers-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px;display:flex}.vouchers-eyebrow,.vouchers-panel-kicker{color:var(--color-coral-strong);letter-spacing:.04em;align-items:center;gap:7px;margin:0;font-size:.84rem;font-weight:750;display:inline-flex}.vouchers-heading h1{margin:7px 0 8px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.18}.vouchers-heading>div>p:last-child{max-width:42rem;color:var(--color-muted);margin:0;font-size:.92rem;line-height:1.65}.vouchers-create-button,.voucher-buy-button{border-radius:var(--radius-small);color:#fff;background:var(--color-coral);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:700;display:inline-flex}.voucher-use-button{border-radius:var(--radius-small);color:#2e7b52;background:#f0fbf4;border:1px solid #bfe4cd;flex:none;justify-content:center;align-items:center;gap:6px;min-width:78px;min-height:44px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.voucher-use-button:hover{background:#e5f7eb;border-color:#8bcda6}.voucher-refund-button{border-radius:var(--radius-small);min-width:86px;min-height:44px;color:var(--color-coral-strong);background:var(--color-coral-soft);border:1px solid #f3c4c6;flex:none;justify-content:center;align-items:center;padding:0 12px;font-size:.82rem;font-weight:700;display:inline-flex}.voucher-refund-button:hover{background:#ffe5e6;border-color:#e99da2}.voucher-refund-cancel-button{border-radius:var(--radius-small);color:#8d6a29;background:#fffaf0;border:1px solid #e8c98b;flex:none;justify-content:center;align-items:center;min-width:86px;min-height:44px;padding:0 12px;font-size:.82rem;font-weight:700;display:inline-flex}.voucher-refund-cancel-button:hover{background:#fff0c2;border-color:#d8af56}.voucher-review-button{border-radius:var(--radius-small);color:#8d6a29;background:#fff7df;border:1px solid #e8c98b;flex:none;justify-content:center;align-items:center;min-width:86px;min-height:44px;padding:0 12px;font-size:.82rem;font-weight:700;display:inline-flex}.voucher-review-button:hover{background:#fff0c2;border-color:#d8af56}.vouchers-create-button:hover,.voucher-buy-button:hover{background:var(--color-coral-strong)}.vouchers-notice{border-radius:var(--radius-small);color:#2e7b52;background:#f0fbf4;border:1px solid #c9ead7;align-items:center;gap:8px;margin:0 0 16px;padding:13px 16px;font-size:.88rem;line-height:1.5;display:flex}.vouchers-notice svg{flex:none}.vouchers-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.vouchers-panel{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);padding:24px}.vouchers-owned-panel,.vouchers-bundle-panel,.voucher-bundle-review-panel,.vouchers-review-panel{grid-column:1/-1}.vouchers-panel-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.vouchers-panel-heading>svg{color:var(--color-coral);flex:none}.vouchers-panel-heading h2{margin:5px 0 0;font-size:1.25rem;line-height:1.35}.vouchers-panel-heading>button,.voucher-card-actions button,.vouchers-empty button,.voucher-confirmation-actions button:first-child{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:44px;color:var(--color-muted);background:var(--color-surface);justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:.82rem;font-weight:650;display:inline-flex}.vouchers-panel-heading>button:hover,.voucher-card-actions button:hover,.vouchers-empty button:hover,.voucher-confirmation-actions button:first-child:hover{color:var(--color-coral-strong);background:var(--color-coral-soft);border-color:#f4c8c8}.voucher-review-actions button:not(.primary-action){border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:48px;color:var(--color-muted);background:var(--color-surface);font-size:.82rem;font-weight:650}.voucher-review-actions button:not(.primary-action):hover{color:var(--color-coral-strong);background:var(--color-coral-soft);border-color:#f4c8c8}.vouchers-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.voucher-card{border:1px solid var(--color-line);border-radius:var(--radius-small);background:#fffefa;justify-content:space-between;align-items:start;gap:16px;padding:16px;display:flex}.voucher-card--available{background:#f7fbff;border-color:#dbeaf7}.voucher-card--owned{background:#fbfafc}.voucher-card-content{min-width:0}.voucher-card-title-row{align-items:center;gap:9px;min-width:0;display:flex}.voucher-card h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1rem;line-height:1.4;overflow:hidden}.voucher-card p{color:var(--color-muted);margin:8px 0 10px;font-size:.86rem;line-height:1.55}.voucher-card small{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.voucher-card small strong{color:var(--color-coral-strong)}.voucher-status,.voucher-points-badge{min-height:28px;color:var(--color-muted);white-space:nowrap;background:#f1eeee;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:3px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.voucher-status--draft{color:#8d6a29;background:#fff4d8}.voucher-status--published,.voucher-points-badge{color:#2e7b52;background:#e6f7ec}.voucher-status--archived{color:#746a70;background:#f1eeee}.voucher-card-actions,.voucher-owned-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.voucher-card-actions button{min-height:42px;padding-inline:11px}.voucher-card-actions button:nth-child(2){color:var(--color-coral-strong);background:var(--color-coral-soft);border-color:#f7c2c5}.voucher-buy-button{flex:none;align-self:center;min-width:78px}.voucher-owned-note{max-width:132px;color:var(--color-muted);text-align:right;flex:none;font-size:.74rem;line-height:1.45}.voucher-bundle-card{border-radius:var(--radius-small);background:#fcf9ff;border:1px solid #eadcf1;gap:14px;padding:16px;display:grid}.voucher-bundle-card--review{background:#fff8f8;border-color:#f1d6d7}.voucher-bundle-items{gap:8px;margin:0;padding:0;list-style:none;display:grid}.voucher-bundle-item{background:var(--color-surface);border:1px solid #eee7f3;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.voucher-bundle-item>div{min-width:0}.voucher-bundle-item strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.45;display:block;overflow:hidden}.voucher-bundle-item small{color:var(--color-muted);margin-top:3px;font-size:.74rem;line-height:1.4;display:block}.voucher-bundle-refund-summary{background:#fff8f8;border:1px solid #f1d6d7;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.voucher-bundle-refund-summary p{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;line-height:1.45;overflow:hidden}.voucher-bundle-refund-summary button{flex:none;min-height:44px;padding:0 12px}.vouchers-empty,.vouchers-state{border:1px dashed var(--color-line);border-radius:var(--radius-small);min-height:150px;color:var(--color-muted);text-align:center;align-content:center;place-items:center;gap:9px;padding:20px;display:grid}.vouchers-empty p,.vouchers-state p{margin:0;font-size:.86rem;line-height:1.6}.vouchers-empty button{color:var(--color-coral-strong);background:var(--color-coral-soft)}.vouchers-state{background:var(--color-surface);min-height:300px;box-shadow:var(--shadow-soft);border-style:solid;margin-top:12px}.vouchers-state>svg{color:var(--color-coral)}.vouchers-state--error{color:var(--color-warning)}.vouchers-state--error button{border-radius:var(--radius-small);min-height:44px;color:var(--color-warning);background:#fff8f2;border:1px solid #f2cdb8;align-items:center;gap:7px;padding:0 15px;font-weight:700;display:inline-flex}.vouchers-form-panel{background:snow;border-color:#f7cfd0;margin-bottom:20px}.vouchers-form{gap:15px;display:grid}.vouchers-form label{color:var(--color-text);gap:7px;font-size:.84rem;font-weight:700;display:grid}.vouchers-form input,.vouchers-form textarea,.vouchers-form select{border:1px solid var(--color-line);border-radius:var(--radius-small);width:100%;min-height:48px;color:var(--color-text);background:var(--color-surface);padding:10px 13px;font-size:.9rem}.vouchers-form textarea{resize:vertical;min-height:96px}.vouchers-form input:focus,.vouchers-form textarea:focus,.vouchers-form select:focus{outline-offset:1px;border-color:#eaaeb2;outline:3px solid #eaaeb23d}.vouchers-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px;display:grid}.vouchers-form-error{border-radius:var(--radius-small);color:#b64250;background:#fff3f3;border:1px solid #f2c0c2;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.5}.vouchers-form-submit{min-height:48px;margin-top:3px}.voucher-confirmation{z-index:80;background:#2f272870;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.voucher-confirmation-card{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);width:min(100%,500px);max-height:calc(100vh - 44px);padding:28px;overflow:auto;box-shadow:0 24px 70px #2f272833}.voucher-confirmation-card h2{margin:7px 0 15px;font-size:1.55rem}.voucher-confirmation-card>p{color:var(--color-muted);margin:0 0 12px;line-height:1.65}.voucher-confirmation-card .voucher-confirmation-title{color:var(--color-text);font-size:1.08rem;font-weight:750}.voucher-use-note-field{color:var(--color-text);gap:7px;margin-top:20px;font-size:.84rem;font-weight:700;display:grid}.voucher-use-note-field textarea{border:1px solid var(--color-line);border-radius:var(--radius-small);width:100%;min-height:96px;color:var(--color-text);background:var(--color-surface);resize:vertical;padding:10px 13px;font-size:.9rem}.voucher-use-note-field textarea:focus{outline-offset:1px;border-color:#eaaeb2;outline:3px solid #eaaeb23d}.voucher-confirmation-card dl{border-radius:var(--radius-small);background:var(--color-coral-soft);gap:10px;margin:20px 0;padding:15px;display:grid}.voucher-confirmation-card dl div{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.voucher-confirmation-card dt{color:var(--color-muted);font-size:.82rem}.voucher-confirmation-card dd{color:var(--color-coral-strong);text-align:right;margin:0;font-weight:750}.voucher-confirmation-hint{font-size:.78rem}.voucher-confirmation-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px;margin-top:20px;display:grid}.voucher-confirmation-actions .primary-action{min-height:48px;margin:0}@media (width<=720px){.vouchers-view{padding:16px 16px 40px}.vouchers-heading{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:20px}.vouchers-heading h1{font-size:clamp(1.9rem,9vw,2.6rem)}.vouchers-create-button{width:100%}.vouchers-layout{grid-template-columns:1fr;gap:16px}.vouchers-owned-panel,.vouchers-bundle-panel,.voucher-bundle-review-panel{grid-column:auto}.vouchers-panel{border-radius:18px;padding:19px}.voucher-card{flex-direction:column;gap:13px}.voucher-card-actions,.voucher-buy-button,.voucher-use-button,.voucher-refund-button,.voucher-refund-cancel-button,.voucher-review-button,.voucher-owned-actions,.voucher-owned-note{width:100%}.voucher-card-actions{justify-content:stretch}.voucher-card-actions button{flex:1}.voucher-buy-button,.voucher-use-button{align-self:stretch}.voucher-owned-actions{justify-content:stretch}.voucher-owned-actions button{flex:1}.voucher-review-button{align-self:stretch}.voucher-owned-note{text-align:left;max-width:none}.voucher-bundle-item{flex-direction:column;align-items:stretch}.voucher-bundle-item .voucher-use-button{width:100%}.voucher-bundle-refund-summary{flex-direction:column;align-items:stretch}.voucher-bundle-refund-summary p{white-space:normal}.voucher-bundle-refund-summary button{width:100%}.vouchers-form-grid{grid-template-columns:1fr}.voucher-confirmation{align-items:end;padding:12px}.voucher-confirmation-card{border-radius:20px;max-height:calc(100vh - 24px);padding:23px 19px}}
