:root{color-scheme:dark;background:#050712;--hrd-bg:#050712;--hrd-panel:rgba(10,16,30,0.78);--hrd-panel-strong:rgba(14,21,38,0.94);--hrd-border:rgba(158,175,201,0.22);--hrd-border-strong:rgba(45,212,191,0.38);--hrd-text:#f8fafc;--hrd-muted:#94a3b8;--hrd-soft:#cbd5e1;--hrd-cyan:#22d3ee;--hrd-green:#34d399;--hrd-gold:#fbbf24;--hrd-violet:#a78bfa;--hrd-pink:#f472b6;--hrd-danger:#fb7185;--hrd-shadow:0 24px 70px rgba(0,0,0,0.35)}.hrd-asset-thumbnail-actions{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:6px}.hrd-asset-thumbnail-actions .ant-tag{min-width:0;margin-inline-end:0;overflow:hidden;text-overflow:ellipsis}.hrd-asset-thumbnail-actions .ant-btn{min-width:0;padding-inline:4px}.hrd-wallpaper-showcase-modal .ant-modal-body{overflow-x:hidden}.hrd-showcase-template-page{display:grid;gap:24px}.hrd-showcase-template-layout{display:grid;grid-template-columns:minmax(14rem,.7fr) minmax(24rem,1.5fr) minmax(16rem,.8fr);gap:16px;align-items:start}.hrd-showcase-template-list,.hrd-showcase-template-list .ant-btn,.hrd-wallpaper-showcase-field .ant-select{width:100%}.hrd-showcase-effect-queue{margin-block:16px}.hrd-showcase-neutral-preview{min-height:24rem;display:grid;place-content:center;justify-items:center;gap:12px;background:var(--hrd-panel-strong);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card)}@media (max-width:1024px){.hrd-showcase-template-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-showcase-template-layout>:first-child{grid-column:1/-1}}@media (max-width:768px){.hrd-showcase-template-layout{grid-template-columns:minmax(0,1fr)}.hrd-showcase-template-layout>:first-child{grid-column:auto}}@media (max-width:375px){.hrd-showcase-template-layout,.hrd-showcase-template-page{gap:12px}.hrd-showcase-neutral-preview{min-height:18rem}}.hrd-wallpaper-showcase-source-picker{display:flex;min-width:0;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel)}.hrd-wallpaper-showcase-config>.ant-alert,.hrd-wallpaper-showcase-config>.ant-collapse,.hrd-wallpaper-showcase-config>.ant-space{width:100%}.hrd-wallpaper-showcase-config>.ant-space .ant-btn small{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis}.hrd-showcase-device-composition{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:340px}.hrd-wallpaper-showcase-card.is-comparison .hrd-showcase-device-composition{flex-wrap:wrap}.hrd-showcase-device-composition .hrd-wallpaper-showcase-device.is-companion{transform:scale(.72);transform-origin:center}.hrd-showcase-generic-icons{position:absolute;inset:20% 10% auto;color:var(--hrd-text);font-size:var(--hrd-font-small);line-height:2;text-align:center;text-shadow:var(--hrd-shadow)}.hrd-wallpaper-showcase-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hrd-wallpaper-showcase-source-toolbar{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px}.hrd-wallpaper-showcase-source-option{position:relative;display:grid;min-width:0;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px;padding:8px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-text);background:var(--hrd-panel-strong);text-align:left}.hrd-wallpaper-showcase-source-option.is-single{grid-template-columns:minmax(0,1fr);padding-bottom:30px}.hrd-wallpaper-showcase-source-option.is-selected,.hrd-wallpaper-showcase-source-option:hover{border-color:var(--hrd-border-strong)}.hrd-wallpaper-showcase-source-option.is-active,.hrd-wallpaper-showcase-source-option:focus-within{outline:2px solid var(--hrd-primary-surface-strong);outline-offset:1px}.hrd-wallpaper-showcase-source-option>button{display:grid;min-width:0;min-height:58px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.hrd-wallpaper-showcase-source-option>button:disabled{cursor:default}.hrd-wallpaper-showcase-source-sequence{position:absolute;top:5px;right:5px;padding:2px 6px;border-radius:var(--hrd-radius-control);color:var(--hrd-text);background:var(--hrd-primary-surface-strong);font-size:var(--hrd-font-small)}.hrd-wallpaper-showcase-source-selection-state{position:absolute;right:8px;bottom:7px;display:inline-flex;align-items:center;gap:5px;color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-wallpaper-showcase-source-option.is-selected .hrd-wallpaper-showcase-source-selection-state{color:var(--hrd-primary)}.hrd-wallpaper-showcase-source-thumb{display:grid;width:58px;height:68px;place-items:center;overflow:hidden;border-radius:var(--hrd-radius-control);background:var(--hrd-primary-soft)}.hrd-wallpaper-showcase-source-thumb img{width:100%;height:100%;object-fit:cover}.hrd-wallpaper-showcase-source-meta{display:flex;min-width:0;flex-direction:column;gap:5px}.hrd-wallpaper-showcase-source-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-wallpaper-showcase-field>small,.hrd-wallpaper-showcase-source-meta small{color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.45}.hrd-wallpaper-showcase-selected-queue{display:flex;min-width:0;gap:8px;overflow-x:auto;padding-bottom:2px}.hrd-wallpaper-showcase-selected-queue>button{display:flex;min-width:156px;min-height:52px;flex:1 0 156px;flex-direction:column;justify-content:center;gap:2px;padding:7px 9px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-text);background:var(--hrd-panel-strong);text-align:left;cursor:pointer}.hrd-wallpaper-showcase-selected-queue>button.is-active,.hrd-wallpaper-showcase-selected-queue>button:focus-visible{border-color:var(--hrd-border-strong);outline:2px solid var(--hrd-primary-surface-strong);outline-offset:1px}.hrd-wallpaper-showcase-selected-queue small,.hrd-wallpaper-showcase-selected-queue span{overflow:hidden;color:var(--hrd-muted);font-size:var(--hrd-font-small);text-overflow:ellipsis;white-space:nowrap}.hrd-wallpaper-showcase-layout{display:grid;grid-template-columns:minmax(300px,.84fr) minmax(0,1.16fr);gap:16px;align-items:start}.hrd-wallpaper-showcase-config,.hrd-wallpaper-showcase-preview{display:flex;min-width:0;flex-direction:column;gap:16px;padding:18px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel)}.hrd-wallpaper-showcase-heading{display:flex;min-width:0;align-items:flex-start;gap:12px}.hrd-wallpaper-showcase-heading>.anticon{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:var(--hrd-radius-control);color:var(--hrd-primary-hover);background:var(--hrd-primary-surface-strong)}.hrd-wallpaper-showcase-heading>div{min-width:0}.hrd-wallpaper-showcase-heading h3{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-section);line-height:1.35}.hrd-wallpaper-showcase-heading p{margin:5px 0 0;color:var(--hrd-muted);font-size:var(--hrd-font-body);line-height:1.55}.hrd-wallpaper-showcase-field,.hrd-wallpaper-showcase-text-config{display:flex;min-width:0;flex-direction:column;gap:8px}.hrd-wallpaper-showcase-field>strong{color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-wallpaper-showcase-field>span{color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.55}.hrd-wallpaper-showcase-device-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hrd-wallpaper-showcase-device-option{display:flex;min-width:0;flex-direction:column;gap:5px;padding:10px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong);cursor:pointer}.hrd-wallpaper-showcase-device-option:focus-within{border-color:var(--hrd-border-strong);outline:2px solid var(--hrd-primary-surface-strong);outline-offset:1px}.hrd-wallpaper-showcase-device-option>span{color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.45}.hrd-wallpaper-showcase-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hrd-wallpaper-showcase-case-grid>label,.hrd-wallpaper-showcase-text-config>label{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-wallpaper-showcase-case-grid label>span,.hrd-wallpaper-showcase-text-config label>span{display:flex;min-width:0;flex-direction:column;color:var(--hrd-text);font-weight:650}.hrd-wallpaper-showcase-case-grid small,.hrd-wallpaper-showcase-text-config small{margin-top:3px;color:var(--hrd-muted);font-size:var(--hrd-font-small);font-weight:400;line-height:1.4}.hrd-wallpaper-showcase-text-fields{width:100%}.hrd-wallpaper-showcase-summary .ant-tag{margin-inline-end:0}.hrd-wallpaper-showcase-preview-state{display:grid;min-height:320px;place-items:center;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel-strong)}.hrd-wallpaper-showcase-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-wallpaper-showcase-card{position:relative;display:grid;min-width:0;aspect-ratio:3/4;place-items:center;overflow:hidden;padding:54px 16px 42px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel-strong)}.hrd-wallpaper-showcase-card.is-cafe_bookstore:after,.hrd-wallpaper-showcase-card.is-cozy_home:after,.hrd-wallpaper-showcase-card.is-desktop_still_life:after{position:absolute;right:0;bottom:18%;left:0;height:1px;background:var(--hrd-border-strong);content:""}.hrd-wallpaper-showcase-card.is-color_studio,.hrd-wallpaper-showcase-card.is-editorial_display{background:var(--hrd-primary-soft)}.hrd-wallpaper-showcase-card.is-handheld_lifestyle{background:var(--hrd-panel-strong)}.hrd-wallpaper-showcase-blurred-background{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(16px);opacity:.42;transform:scale(1.08)}.hrd-wallpaper-showcase-hand-shape{position:absolute;right:-14%;bottom:8%;width:72%;height:34%;border:1px solid var(--hrd-border-strong);border-radius:var(--hrd-radius-control);background:var(--hrd-primary-surface-strong);transform:rotate(-18deg)}.hrd-wallpaper-showcase-device{position:relative;z-index:2;display:grid;place-items:center;overflow:visible;border:6px solid var(--hrd-text);background:var(--hrd-text);box-shadow:var(--hrd-shadow)}.hrd-wallpaper-showcase-device.has-case{border-width:9px;border-color:var(--hrd-primary);outline:3px solid var(--hrd-primary-soft)}.hrd-wallpaper-showcase-device.is-phone{width:42%;aspect-ratio:9/19.5;border-radius:var(--hrd-radius-control)}.hrd-wallpaper-showcase-device.is-tablet{width:55%;aspect-ratio:3/4;border-radius:var(--hrd-radius-control)}.hrd-wallpaper-showcase-device.is-laptop{width:78%;aspect-ratio:16/10;border-radius:var(--hrd-radius-control)}.hrd-wallpaper-showcase-device.is-desktop-monitor{width:80%;aspect-ratio:16/9;border-radius:var(--hrd-radius-control)}.hrd-wallpaper-showcase-device img{width:100%;height:100%;min-width:0;object-fit:cover}.hrd-wallpaper-showcase-device-stand{position:absolute;top:calc(100% + 6px);left:50%;width:34%;height:18px;border-bottom:5px solid var(--hrd-text);transform:translateX(-50%)}.hrd-wallpaper-showcase-copy{position:absolute;z-index:3;top:14px;right:14px;left:14px;display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--hrd-text);text-align:left}.hrd-wallpaper-showcase-copy span,.hrd-wallpaper-showcase-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-wallpaper-showcase-copy span,.hrd-wallpaper-showcase-device-label{color:var(--hrd-soft);font-size:var(--hrd-font-small)}.hrd-wallpaper-showcase-device-label{position:absolute;z-index:3;right:12px;bottom:12px;left:12px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.hrd-wallpaper-showcase-record-state{display:grid;min-height:240px;place-items:center}.hrd-wallpaper-showcase-record-content{width:100%}.hrd-wallpaper-showcase-record-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-wallpaper-showcase-record-images figure{min-width:0;margin:0}.hrd-wallpaper-showcase-record-images figure>div{display:grid;min-height:220px;place-items:center;overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel-strong)}.hrd-wallpaper-showcase-record-images img{width:100%;height:220px;object-fit:contain}.hrd-wallpaper-showcase-record-images figcaption{margin-top:6px;overflow:hidden;color:var(--hrd-muted);font-size:var(--hrd-font-small);text-overflow:ellipsis;white-space:nowrap}.hrd-wallpaper-showcase-record-prompt{display:flex;min-width:0;flex-direction:column;gap:8px}.hrd-wallpaper-showcase-record-prompt>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}.hrd-wallpaper-showcase-record-prompt small{overflow-wrap:anywhere;color:var(--hrd-muted)}@media (max-width:900px){.hrd-wallpaper-showcase-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-wallpaper-showcase-layout{grid-template-columns:minmax(0,1fr)}.hrd-wallpaper-showcase-source-toolbar{flex-direction:column}.hrd-wallpaper-showcase-preview-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:560px){.hrd-wallpaper-showcase-source-option{grid-template-columns:44px minmax(0,1fr)}.hrd-wallpaper-showcase-source-option>label{display:grid;min-width:44px;min-height:44px;place-items:center}.hrd-wallpaper-showcase-source-picker{padding:14px}.hrd-wallpaper-showcase-source-grid{display:flex;min-width:0;overflow-x:auto;padding:2px}.hrd-wallpaper-showcase-source-option{width:252px;flex:0 0 252px}.hrd-wallpaper-showcase-config,.hrd-wallpaper-showcase-preview{padding:14px}.hrd-wallpaper-showcase-case-grid,.hrd-wallpaper-showcase-device-options,.hrd-wallpaper-showcase-preview-grid{grid-template-columns:minmax(0,1fr)}.hrd-wallpaper-showcase-card{min-height:360px;aspect-ratio:auto}.hrd-wallpaper-showcase-record-images{grid-template-columns:minmax(0,1fr)}.hrd-wallpaper-showcase-config>.ant-btn,.hrd-wallpaper-showcase-modal .ant-modal-close,.hrd-wallpaper-showcase-modal .ant-modal-footer .ant-btn,.hrd-wallpaper-showcase-source-toolbar .ant-btn{min-height:44px}}@media (max-width:480px){.hrd-wallpaper-showcase-modal .ant-modal-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.hrd-wallpaper-showcase-modal .ant-modal-footer .ant-btn{width:100%;margin-inline-start:0}}.hrd-admin-pet-settings-page{min-width:0;padding:24px 24px 36px}.hrd-admin-pet-settings-loading{display:grid;min-height:420px;place-items:center;color:var(--hrd-muted)}.hrd-admin-pet-settings-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.hrd-admin-pet-settings-hero>div:first-child{min-width:0}.hrd-admin-pet-settings-hero .hrd-detail-kicker{display:block;margin-bottom:8px;color:var(--hrd-primary-hover);font-size:var(--hrd-font-small);font-weight:800;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.hrd-admin-pet-settings-hero h2{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-title);font-weight:800;line-height:1.2}.hrd-admin-pet-settings-hero p{max-width:700px;margin:8px 0 0;color:var(--hrd-muted);font-size:var(--hrd-font-body);line-height:1.65}.hrd-admin-pet-settings-actions{justify-content:flex-end}.hrd-admin-pet-settings-actions .ant-tag{margin-inline-end:0}.hrd-admin-pet-settings-actions .ant-btn{min-height:38px}.hrd-admin-pet-settings-layout{display:grid;grid-template-columns:minmax(320px,.74fr) minmax(0,1.26fr);gap:16px;align-items:start}.hrd-admin-pet-form-panel,.hrd-admin-pet-preview-panel{min-width:0;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-admin-pet-preview-panel{position:sticky;top:92px;padding:20px}.hrd-admin-pet-panel-heading,.hrd-admin-pet-section-title{display:flex;align-items:flex-start;gap:12px}.hrd-admin-pet-panel-heading{align-items:center;justify-content:space-between}.hrd-admin-pet-panel-heading h3,.hrd-admin-pet-section-title h3{margin:2px 0 0;color:var(--hrd-text);font-size:var(--hrd-font-section);font-weight:750;line-height:1.35}.hrd-admin-pet-panel-heading>.anticon,.hrd-admin-pet-section-title>.anticon{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:var(--hrd-radius-control);color:var(--hrd-primary-hover);background:var(--hrd-primary-surface-strong)}.hrd-admin-pet-section-title>div{min-width:0;flex:1 1}.hrd-admin-pet-section-title p{margin:5px 0 0;color:var(--hrd-muted);font-size:var(--hrd-font-body);line-height:1.6}.hrd-admin-pet-section-title>.ant-switch{flex:0 0 auto;margin-top:2px}.hrd-admin-pet-preview-stage{display:grid;min-height:320px;margin-top:20px;place-items:center;overflow:hidden;border:1px solid var(--hrd-border-strong);border-radius:var(--hrd-radius-card);background:var(--hrd-panel-strong)}.hrd-admin-pet-preview-bubble-wrap{display:flex;align-items:flex-end;gap:12px;max-width:92%}.hrd-admin-pet-preview-bubble{position:relative;max-width:190px;padding:11px 14px;border:1px solid var(--hrd-border-strong);color:var(--hrd-text);background:var(--hrd-panel);font-size:var(--hrd-font-body);font-weight:700;line-height:1.45;box-shadow:var(--hrd-shadow)}.hrd-admin-pet-preview-bubble.is-speech,.hrd-admin-pet-preview-bubble.is-thought{border-radius:var(--hrd-radius-control)}.hrd-admin-pet-preview-bubble.is-thought:after{position:absolute;right:18px;bottom:-10px;width:10px;height:10px;border:1px solid var(--hrd-border-strong);border-top:0;border-left:0;border-radius:var(--hrd-radius-control);background:var(--hrd-panel);content:"";transform:rotate(45deg)}.hrd-admin-pet-preview-avatar{display:grid;width:64px;height:64px;flex:0 0 auto;place-items:center;border:2px solid var(--hrd-primary);border-radius:var(--hrd-radius-round);color:var(--hrd-primary-hover);background:var(--hrd-primary-surface);font-size:var(--hrd-font-title);box-shadow:var(--hrd-shadow)}.hrd-admin-pet-preview-caption{display:flex;flex-direction:column;gap:4px;width:100%;padding:14px 16px 16px;border-top:1px solid var(--hrd-border);background:var(--hrd-panel)}.hrd-admin-pet-preview-caption strong{overflow:hidden;color:var(--hrd-text);font-size:var(--hrd-font-body);text-overflow:ellipsis;white-space:nowrap}.hrd-admin-pet-field-help,.hrd-admin-pet-preview-caption span,.hrd-admin-pet-preview-controls span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-admin-pet-preview-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.hrd-admin-pet-form-panel{padding:24px}.hrd-admin-pet-form-panel .ant-divider{margin:22px 0;border-color:var(--hrd-border)}.hrd-admin-pet-form-section{min-width:0}.hrd-admin-pet-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin-top:20px}.hrd-admin-pet-form-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--hrd-text);font-size:var(--hrd-font-body);font-weight:650;line-height:1.35}.hrd-admin-pet-form-field-wide{grid-column:1/-1}.hrd-admin-pet-override-field__label{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.hrd-admin-pet-override-field__label .ant-select{flex:0 0 132px}.hrd-admin-pet-rich-editor{display:flex;min-width:0;flex-direction:column;gap:10px}.hrd-admin-pet-rich-editor__toolbar{display:flex;align-items:center}.hrd-admin-pet-rich-editor__color{display:inline-flex;align-items:center;gap:6px;color:var(--hrd-muted);font-size:var(--hrd-font-small);font-weight:400}.hrd-admin-pet-rich-editor__color .ant-input{width:42px;height:30px;padding:2px}.hrd-admin-pet-rich-editor__canvas{min-height:150px;padding:12px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);outline:none;color:var(--hrd-text);background:var(--hrd-panel);font-size:var(--hrd-font-body);font-weight:400;line-height:1.65;overflow-wrap:anywhere}.hrd-admin-pet-rich-editor__canvas:focus{border-color:var(--hrd-border)}.hrd-admin-pet-rich-preview{max-height:170px;overflow:auto;color:var(--hrd-text);font-size:var(--hrd-font-body);font-weight:400;line-height:1.6;overflow-wrap:anywhere}.hrd-admin-pet-rich-preview>:first-child{margin-top:0}.hrd-admin-pet-rich-preview>:last-child{margin-bottom:0}.hrd-admin-pet-form-grid .ant-input,.hrd-admin-pet-form-grid .ant-input-affix-wrapper,.hrd-admin-pet-form-grid .ant-input-number,.hrd-admin-pet-form-grid .ant-select{width:100%}.hrd-admin-pet-form-grid .ant-input-number,.hrd-admin-pet-form-grid .ant-input:not(textarea),.hrd-admin-pet-form-grid .ant-select-selector{min-height:40px}.hrd-admin-pet-form-grid .ant-input-number-input{height:38px}.hrd-admin-pet-form-grid .ant-select-single .ant-select-selector{display:flex;align-items:center}.hrd-admin-pet-page-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.hrd-admin-pet-page-options .ant-checkbox-wrapper{display:flex;min-width:0;min-height:40px;align-items:center;margin-inline-start:0;padding:9px 11px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-soft);background:var(--hrd-panel-strong);font-size:var(--hrd-font-body);transition:border-color .18s ease,background .18s ease,color .18s ease}.hrd-admin-pet-page-options .ant-checkbox-wrapper:has(.ant-checkbox-checked),.hrd-admin-pet-page-options .ant-checkbox-wrapper:hover{border-color:var(--hrd-border-strong);color:var(--hrd-primary-hover);background:var(--hrd-primary-soft)}.hrd-admin-pet-upload-actions{display:flex;margin-top:18px}.hrd-admin-pet-message-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.hrd-admin-pet-message-row{display:grid;grid-template-columns:28px minmax(160px,1fr) minmax(128px,150px) minmax(148px,180px) 44px 36px;gap:10px;align-items:center;padding:12px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-admin-pet-message-row .ant-switch{justify-self:center}.hrd-admin-pet-message-row .ant-btn{width:36px;height:36px}.hrd-admin-pet-message-index{display:grid;width:28px;height:28px;place-items:center;border-radius:var(--hrd-radius-control);color:var(--hrd-primary-hover);background:var(--hrd-primary-surface-strong);font-size:var(--hrd-font-small);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:1120px){.hrd-admin-pet-settings-layout{grid-template-columns:minmax(0,1fr)}.hrd-admin-pet-preview-panel{position:static}}@media (max-width:760px){.hrd-admin-pet-settings-page{padding:18px 14px 28px}.hrd-admin-pet-settings-hero{align-items:flex-start;flex-direction:column;gap:14px}.hrd-admin-pet-settings-actions{justify-content:flex-start}.hrd-admin-pet-form-panel,.hrd-admin-pet-preview-panel{padding:16px;border-radius:var(--hrd-radius-card)}.hrd-admin-pet-form-grid,.hrd-admin-pet-page-options{grid-template-columns:minmax(0,1fr)}.hrd-admin-pet-message-row{grid-template-columns:28px minmax(0,1fr) 36px}.hrd-admin-pet-message-row .ant-select,.hrd-admin-pet-message-row .ant-switch{grid-column:2/-1}.hrd-admin-pet-message-row .ant-switch{justify-self:start}.hrd-admin-pet-message-row .ant-btn{grid-column:3;grid-row:1}}@media (prefers-reduced-motion:reduce){.hrd-admin-pet-settings-page *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.hrd-wallpaper-comparison-grid,.hrd-wallpaper-mockup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hrd-wallpaper-comparison-card .ant-image,.hrd-wallpaper-comparison-card .ant-image-img,.hrd-wallpaper-mockup-grid .ant-image,.hrd-wallpaper-mockup-grid .ant-image-img{width:100%}.hrd-wallpaper-comparison-card .ant-image-img{height:260px;border-radius:var(--hrd-radius-control);object-fit:contain;background:var(--hrd-panel)}.hrd-wallpaper-review-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(320px,1.28fr);gap:16px;align-items:start}.hrd-wallpaper-review-preview .ant-image,.hrd-wallpaper-review-preview .ant-image-img{width:100%}.hrd-wallpaper-review-preview .ant-image-img{max-height:420px;border-radius:var(--hrd-radius-control);object-fit:contain;background:var(--hrd-panel)}.hrd-wallpaper-roi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hrd-wallpaper-roi-card .ant-image{width:50%;padding-right:4px}.hrd-wallpaper-roi-card .ant-image-img{width:100%;height:160px;border-radius:var(--hrd-radius-control);object-fit:cover;background:var(--hrd-panel)}.hrd-wallpaper-checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-bottom:12px}.hrd-wallpaper-video-review{display:flex;justify-content:center;overflow:hidden;border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-wallpaper-video-review video{width:min(100%,460px);max-height:680px;object-fit:contain}@media (max-width:1180px){.hrd-wallpaper-comparison-grid,.hrd-wallpaper-mockup-grid,.hrd-wallpaper-roi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.hrd-wallpaper-checklist-grid,.hrd-wallpaper-comparison-grid,.hrd-wallpaper-mockup-grid,.hrd-wallpaper-review-layout,.hrd-wallpaper-roi-grid{grid-template-columns:minmax(0,1fr)}.hrd-wallpaper-comparison-card .ant-image-img{height:220px}}*{box-sizing:border-box}body,html{min-width:0;min-height:100%;margin:0}body{overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}body:before{z-index:-2;background-image:none;background-size:48px 48px;-webkit-mask-image:none;mask-image:none}body:after,body:before{position:fixed;inset:0;pointer-events:none;content:""}body:after{z-index:-1;background:var(--hrd-panel)}a{color:inherit;text-decoration:none}.ant-btn,.ant-input,.ant-input-affix-wrapper,.ant-input-password,.ant-segmented,.ant-select-selector,.ant-tag{transition:border-color .18s ease-out,box-shadow .18s ease-out,background .18s ease-out,color .18s ease-out}.ant-pagination .ant-pagination-item-active{border-color:var(--hrd-border);box-shadow:var(--hrd-shadow)}.hrd-shared-modal .ant-modal-content{padding:20px 22px 16px}.hrd-shared-modal .ant-modal-header{margin-bottom:14px}.hrd-shared-modal .ant-modal-footer{margin-top:16px}.hrd-shared-modal-form .ant-form-item{margin-bottom:12px}.hrd-shared-modal-form .ant-form-item-row{flex-wrap:nowrap}.hrd-shared-modal-form .ant-form-item-label{flex:0 0 auto!important;padding:0 8px 0 0}.hrd-shared-modal-form .ant-form-item-label>label{align-items:flex-start;min-height:32px;padding-top:5px;line-height:1.45}.hrd-shared-modal-form .ant-form-item-control{min-width:0}.hrd-shared-modal-form .ant-form-item-explain{margin-top:4px}.hrd-shared-modal-form .hrd-form-grid>.ant-form-item,.hrd-shared-modal-form>.ant-form-item:last-child{margin-bottom:0}.hrd-shared-modal-form .hrd-form-grid{gap:12px 14px;margin-bottom:12px}.hrd-shared-modal-form>.hrd-modal-description{margin-bottom:12px}.hrd-shared-modal-form .hrd-detail-block{padding:14px 16px}.hrd-shared-modal-field{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px;align-items:start}.hrd-shared-modal-field__label{display:flex;align-items:flex-start;min-height:32px;padding-top:5px;color:var(--hrd-soft);line-height:1.45}.hrd-shared-modal-field__control{min-width:0}.hrd-shared-modal-fields{display:grid;gap:12px}.hrd-shared-modal-fields>.hrd-form-grid{gap:12px 14px}@media (max-width:760px){.hrd-shared-modal .ant-modal{max-width:calc(100vw - 24px)}.hrd-shared-modal-form .ant-form-item-row{display:block}.hrd-shared-modal-form .ant-form-item-control,.hrd-shared-modal-form .ant-form-item-label{max-width:none!important}.hrd-shared-modal-form .ant-form-item-label{padding:0 0 4px}.hrd-shared-modal-form .ant-form-item-label>label{min-height:auto;padding-top:0}.hrd-shared-modal-field,.hrd-shared-modal-fields>.hrd-form-grid,.hrd-shared-modal-form .hrd-form-grid{grid-template-columns:1fr}.hrd-shared-modal-field{gap:4px}.hrd-shared-modal-field__label{min-height:auto;padding-top:0}}.ant-segmented{padding:4px}.ant-segmented .ant-segmented-item{color:var(--hrd-muted)}.ant-segmented .ant-segmented-item-selected{color:var(--hrd-text);background:var(--hrd-panel)}.hrd-dashboard-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-width:1180px;min-height:100vh;background-size:72px 72px}.hrd-login-page{display:grid;grid-template-columns:minmax(420px,1fr) minmax(380px,520px);width:100%;height:100dvh;min-height:100vh;overflow:hidden}.hrd-login-hero{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;min-height:0;gap:clamp(18px,2.4vh,30px);padding:clamp(28px,4vh,56px) clamp(32px,4vw,72px) clamp(24px,3vh,44px);overflow:hidden}.hrd-login-brand{display:flex;gap:14px;align-items:center}.hrd-login-brand h1{margin:0;color:var(--hrd-text);font-size:22px}.hrd-login-brand .ant-typography{margin-bottom:0;color:var(--hrd-muted)!important}.hrd-login-promo{display:grid;grid-template-rows:minmax(0,1fr) auto;flex:1 1;align-self:center;width:100%;max-width:700px;min-height:0;gap:14px}.hrd-login-promo-frame{display:flex;min-width:0;min-height:0;align-items:center;justify-content:center;padding:clamp(12px,1.4vw,22px);overflow:hidden;border:1px solid var(--hrd-border);border-radius:24px}.hrd-login-promo-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:14px;object-fit:contain;opacity:0;transform:translateY(8px);transition:opacity .26s ease,transform .26s ease}.hrd-login-promo-frame img.is-loaded{opacity:1;transform:translateY(0)}.hrd-login-promo-fallback{display:grid;width:min(100%,360px);aspect-ratio:.72;place-content:center;gap:8px;border-radius:16px;text-align:center}.hrd-login-promo-fallback span{font-size:clamp(24px,2.2vw,34px);font-weight:700;letter-spacing:.04em}.hrd-login-promo-fallback small{color:var(--hrd-text);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.hrd-login-promo-caption{display:flex;min-width:0;gap:16px;align-items:center;justify-content:space-between}.hrd-login-promo-copy{display:grid;min-width:0;gap:4px}.hrd-login-promo-copy>span{color:var(--hrd-muted);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hrd-login-promo-copy small,.hrd-login-promo-copy strong,.hrd-login-promo-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-login-promo-copy strong{color:var(--hrd-text);font-size:16px;font-weight:700}.hrd-login-promo-copy small{color:var(--hrd-muted);font-size:12px}.hrd-login-promo-switch.ant-btn{flex:0 0 auto;min-height:36px}.hrd-login-panel{display:flex;min-width:0;min-height:0;align-items:center;justify-content:center;padding:40px;overflow:hidden;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.hrd-login-card{width:100%;max-width:390px;padding:34px;border-radius:18px}.hrd-login-card h3{margin-top:0}.hrd-login-card .ant-typography{color:var(--hrd-muted)!important}.hrd-sidebar{display:flex;position:relative;flex-direction:column;box-shadow:var(--hrd-shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.hrd-sidebar:before{position:absolute;inset:0;pointer-events:none;content:"";background:var(--hrd-panel)}.hrd-brand{display:flex;position:relative;z-index:1;gap:12px;align-items:center;min-height:78px;padding:0 24px}.hrd-brand-mark{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);font-weight:800;box-shadow:var(--hrd-shadow)}.hrd-brand-title{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-section);font-weight:800;line-height:1.2}.hrd-sidebar-section{position:relative;z-index:1;padding:18px 12px 0}.hrd-sidebar-caption{margin:10px 12px;color:var(--hrd-text);font-size:var(--hrd-font-small)}.hrd-sidebar .ant-menu{width:100%;border-inline-end:0!important;background:transparent}.hrd-sidebar .ant-menu-item{display:flex!important;align-items:center;height:42px;margin:4px 0;padding-inline:16px!important;border-radius:var(--hrd-radius-control);color:var(--hrd-muted);list-style:none!important}.hrd-sidebar .ant-menu-item::marker{content:""}.hrd-sidebar .ant-menu-title-content{display:flex;align-items:center;min-width:0;overflow:hidden}.hrd-sidebar .ant-menu-title-content a{display:block;width:100%;min-width:0;overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.hrd-sidebar .ant-menu-item .anticon{flex:0 0 auto;margin-inline-end:10px;font-size:var(--hrd-font-section)}.hrd-sidebar .ant-menu-item-selected{background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-sidebar .ant-menu-item:not(.ant-menu-item-selected):hover{color:var(--hrd-text);background:var(--hrd-panel)}.hrd-sidebar-footer{position:relative;z-index:1;margin-top:auto;padding:18px 20px;color:var(--hrd-muted);font-size:var(--hrd-font-body)}.hrd-main{min-width:0}.hrd-topbar{display:flex;position:sticky;z-index:20;top:0;align-items:center;justify-content:space-between;min-height:78px;padding:0 28px;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.hrd-topbar .ant-input-affix-wrapper{max-width:520px!important;height:42px}.hrd-topbar-actions{display:flex;gap:12px;align-items:center}.hrd-analytics-topbar-copy{display:flex;flex-direction:column;gap:4px}.hrd-analytics-topbar-copy strong{color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-analytics-topbar-copy span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-page{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:22px;align-items:start;min-height:calc(100vh - 78px);padding:24px}.hrd-page.is-detail-expanded{grid-template-columns:minmax(0,1fr)}.hrd-page.is-detail-expanded>.hrd-workspace{display:none}.hrd-page.is-detail-expanded>.hrd-detail-panel{grid-column:1;width:100%}.hrd-page.is-detail-expanded>.hrd-detail-panel .hrd-detail-body{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.hrd-page.is-detail-expanded .hrd-detail-body>*{grid-column:1/-1;min-width:0}.hrd-page.is-detail-expanded .hrd-content-detail-section--assets{grid-column:1;grid-row:2}.hrd-page.is-detail-expanded .hrd-content-detail-section--assets .hrd-asset-thumbnail-frame{width:66.6667%;margin-inline:auto}.hrd-page.is-detail-expanded .hrd-content-detail-section--assets .hrd-asset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hrd-page.is-detail-expanded .hrd-content-detail-section--assets>.ant-space:first-child{align-items:flex-start;flex-direction:column}.hrd-page.is-detail-expanded .hrd-content-detail-section--assets>.ant-space:first-child>.ant-space-item:first-child{flex:0 0 auto;white-space:nowrap}.hrd-page.is-detail-expanded .hrd-content-detail-section--assets>.ant-space:first-child>.ant-space-item:last-child,.hrd-page.is-detail-expanded .hrd-content-detail-section--assets>.ant-space:first-child>.ant-space-item:last-child>.ant-space{max-width:100%;flex-wrap:wrap}.hrd-page.is-detail-expanded .hrd-detail-body .hrd-reference-baseline-panel{grid-column:1/-1;grid-row:1;min-width:0}@media (max-width:1100px){.hrd-page.is-detail-expanded>.hrd-detail-panel .hrd-detail-body{grid-template-columns:minmax(0,1fr)}.hrd-page.is-detail-expanded .hrd-content-detail-section--assets .hrd-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-page.is-detail-expanded .hrd-content-detail-section--assets,.hrd-page.is-detail-expanded .hrd-detail-body .hrd-reference-baseline-panel{grid-column:1;grid-row:auto}}@media (max-width:760px){.hrd-page.is-detail-expanded .hrd-content-detail-section--assets .hrd-asset-grid{grid-template-columns:minmax(0,1fr)}}.hrd-detail-header-row{display:flex;min-width:0;gap:12px;align-items:center;justify-content:space-between;color:var(--hrd-text)}.hrd-detail-header-row>div:first-child{min-width:0}.hrd-detail-header-row>.ant-space{flex:0 0 auto}.hrd-detail-title-line{display:flex;min-width:0;align-items:center;gap:8px;overflow:hidden}.hrd-detail-title-line h3{min-width:0;margin:0!important;overflow:hidden;color:var(--hrd-text);font-size:var(--hrd-font-section)!important;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.hrd-workspace{min-width:0;padding:8px}.hrd-analytics-page{min-width:0;min-height:calc(100vh - 78px);padding:24px 28px 32px}.hrd-command-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:24px;overflow:hidden;padding:30px;border:1px solid var(--hrd-border)}.hrd-command-eyebrow{display:inline-flex;align-items:center;margin-bottom:10px;color:var(--hrd-cyan);font-size:var(--hrd-font-small);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hrd-page-title{margin:0;font-weight:850;line-height:1.04;letter-spacing:0}.hrd-analytics-hero{grid-template-columns:minmax(0,1fr) minmax(300px,420px)}.hrd-hero-actions{display:flex;gap:12px;margin-top:24px}.hrd-command-visual{display:grid;grid-template-rows:auto auto auto;gap:12px;min-width:0}.hrd-neural-card{padding:18px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-neural-card-head,.hrd-production-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}.hrd-neural-card-head span,.hrd-production-copy span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-neural-card-head strong{color:var(--hrd-cyan);font-size:var(--hrd-font-title)}.hrd-production-meter{height:10px;overflow:hidden;margin:16px 0;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-pill)}.hrd-production-meter span{display:block;height:100%;border-radius:inherit;box-shadow:var(--hrd-shadow)}.hrd-production-copy strong{color:var(--hrd-text);font-size:var(--hrd-font-title)}.hrd-command-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hrd-command-panel div{min-width:0;padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-command-panel span,.hrd-command-panel strong{display:block}.hrd-command-panel span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-command-panel strong{margin-top:8px;color:var(--hrd-text);font-size:var(--hrd-font-title);line-height:1}.hrd-platform-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.hrd-platform-badge{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;padding:8px 10px;border-radius:var(--hrd-radius-control);color:var(--hrd-soft);font-size:var(--hrd-font-small);font-weight:750;transition:border-color .18s ease,background .18s ease,transform .18s ease}.hrd-platform-badge:hover{border-color:var(--hrd-border);transform:translateY(-1px)}.hrd-platform-badge-icon{display:grid;flex:0 0 auto;width:24px;height:24px;place-items:center;border-radius:var(--hrd-radius-control);color:var(--hrd-text);font-size:var(--hrd-font-small);font-style:normal;font-weight:850;line-height:1;box-shadow:var(--hrd-shadow)}.hrd-platform-badge b{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.hrd-platform-badge-icon-only{width:36px;min-height:36px;padding:5px;border-radius:var(--hrd-radius-control)}.hrd-platform-badge-icon-only .hrd-platform-badge-icon{width:26px;height:26px}.hrd-brand-symbol{position:relative;display:block;width:16px;height:16px}.hrd-brand-symbol-xiaohongshu:before{content:"";position:absolute;inset:2px 3px;border:2px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-brand-symbol-xiaohongshu:after{content:"";position:absolute;right:4px;bottom:3px;width:5px;height:5px;border-right:2px solid var(--hrd-border);border-bottom:2px solid var(--hrd-border);transform:rotate(45deg)}.hrd-brand-symbol-douyin:before{content:"";position:absolute;right:4px;top:1px;width:5px;height:11px;border-top:3px solid var(--hrd-border);border-right:3px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-brand-symbol-douyin:after{content:"";position:absolute;left:2px;bottom:1px;width:8px;height:8px;border:3px solid var(--hrd-border);border-radius:var(--hrd-radius-round)}.hrd-platform-badge-douyin .hrd-platform-badge-icon,.hrd-platform-badge-kuaishou .hrd-platform-badge-icon,.hrd-platform-badge-wechat .hrd-platform-badge-icon,.hrd-platform-badge-x .hrd-platform-badge-icon,.hrd-platform-badge-xiaohongshu .hrd-platform-badge-icon,.hrd-platform-badge-xigua .hrd-platform-badge-icon,.hrd-platform-badge-youtube .hrd-platform-badge-icon{background:var(--hrd-panel)}.hrd-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:18px}.hrd-summary-card{display:flex;position:relative;gap:14px;align-items:center;min-height:118px;overflow:hidden;padding:18px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-summary-card:after{position:absolute;right:-40px;bottom:-54px;width:126px;height:126px;border-radius:var(--hrd-radius-pill);content:"";opacity:.24;filter:blur(2px)}.hrd-summary-card-cyan:after{background:var(--hrd-cyan)}.hrd-summary-card-gold:after{background:var(--hrd-gold)}.hrd-summary-card-green:after{background:var(--hrd-green)}.hrd-summary-card-violet:after{background:var(--hrd-violet)}.hrd-summary-icon{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:var(--hrd-radius-control);color:var(--hrd-cyan);background:var(--hrd-panel)}.hrd-summary-card-gold .hrd-summary-icon{color:var(--hrd-gold);background:var(--hrd-panel)}.hrd-summary-card-green .hrd-summary-icon{color:var(--hrd-green);background:var(--hrd-panel)}.hrd-summary-card-violet .hrd-summary-icon{color:var(--hrd-violet);background:var(--hrd-panel)}.hrd-summary-label{color:var(--hrd-muted);font-size:var(--hrd-font-body)}.hrd-summary-value{margin-top:8px;color:var(--hrd-text);font-size:var(--hrd-font-metric);font-weight:850;line-height:1}.hrd-analytics-card-helper{margin-top:8px;color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.5}.hrd-analytics-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;margin-top:18px}.hrd-analytics-panel{min-width:0;overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-analytics-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--hrd-border)}.hrd-analytics-panel-head h3{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-section)}.hrd-analytics-panel-head p{margin:6px 0 0;color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.6}.hrd-analytics-panel .ant-table{min-width:680px}.hrd-analytics-panel .ant-table-wrapper{overflow-x:auto}.hrd-analytics-empty{display:grid;min-height:calc(100vh - 160px);place-items:center}.hrd-prompts-page{min-width:0;min-height:calc(100vh - 78px);padding:24px 28px 32px}.hrd-prompts-hero{grid-template-columns:minmax(0,1fr) minmax(320px,460px)}.hrd-prompts-hero-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-prompt-metric-tile{min-width:0;padding:18px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);box-shadow:var(--hrd-shadow)}.hrd-prompt-metric-tile span,.hrd-prompt-metric-tile strong{display:block}.hrd-prompt-metric-tile span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-prompt-metric-tile strong{margin-top:10px;color:var(--hrd-text);font-size:var(--hrd-font-metric);line-height:1}.hrd-prompts-layout{display:grid;grid-template-columns:minmax(280px,.84fr) minmax(420px,1.2fr) minmax(320px,.86fr);gap:18px;margin-top:18px}.hrd-prompt-lifecycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}.hrd-prompt-lifecycle-item{min-width:0;min-height:116px;padding:16px;border:1px solid rgba(var(--hrd-primary-rgb),.2);border-radius:var(--hrd-radius-control);background:var(--hrd-primary-surface);box-shadow:var(--hrd-shadow)}.hrd-prompt-lifecycle-item p,.hrd-prompt-lifecycle-item span,.hrd-prompt-lifecycle-item strong{display:block}.hrd-prompt-lifecycle-item span{color:var(--hrd-primary-hover);font-size:var(--hrd-font-small);font-weight:850}.hrd-prompt-lifecycle-item strong{margin-top:8px;color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-prompt-lifecycle-item p{margin:8px 0 0;color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.55}.hrd-prompt-action-panel,.hrd-prompt-editor-panel,.hrd-prompts-list-panel{min-width:0;overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-prompt-action-panel,.hrd-prompts-list-panel{padding:16px}.hrd-prompt-editor-panel{padding:18px}.hrd-prompts-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.hrd-prompts-panel-head h3{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-section)}.hrd-prompts-panel-head p{margin:6px 0 0;color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.6}.hrd-prompts-panel-head>.anticon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:var(--hrd-radius-control);color:var(--hrd-cyan);background:var(--hrd-panel)}.hrd-prompt-asset-list{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 420px);min-height:460px;overflow-y:auto;padding-top:14px}.hrd-prompt-asset-card{display:flex;width:100%;min-height:136px;cursor:pointer;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:inherit;background:var(--hrd-panel);text-align:left;transition:border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}.hrd-prompt-asset-card.is-active,.hrd-prompt-asset-card:hover{border-color:var(--hrd-border);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-prompt-asset-card-kicker{color:var(--hrd-cyan);font-size:var(--hrd-font-small);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hrd-prompt-asset-card strong{color:var(--hrd-text);font-size:var(--hrd-font-body);line-height:1.35}.hrd-prompt-asset-card-text{display:-webkit-box;overflow:hidden;color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.hrd-prompt-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.hrd-prompt-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hrd-prompt-text-card{min-width:0;min-height:260px;padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-prompt-text-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.hrd-prompt-text-card-head strong{color:var(--hrd-text)}.hrd-prompt-text-card p{max-height:198px;overflow-y:auto;margin:0;font-size:var(--hrd-font-body);line-height:1.75;white-space:pre-wrap}.hrd-generation-status-card,.hrd-rewrite-console{margin-top:16px;padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-rewrite-form-grid{display:grid;grid-template-columns:minmax(160px,.8fr) repeat(2,minmax(0,1fr));gap:12px}.hrd-prompt-action-panel .ant-form{padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-generation-status-card span,.hrd-generation-status-card strong{display:block}.hrd-generation-status-card span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-generation-status-card strong{margin-top:8px;color:var(--hrd-text);font-size:var(--hrd-font-metric)}.hrd-generation-status-card p{margin:10px 0 0;color:var(--hrd-soft);font-size:var(--hrd-font-small);line-height:1.7}.hrd-prompts-empty{display:grid;min-height:340px;place-items:center}.hrd-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:18px;padding:12px;border-radius:var(--hrd-radius-control)}.hrd-record-count{color:var(--hrd-muted);font-size:var(--hrd-font-body)}.hrd-table-surface{margin-top:14px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-table-surface .ant-table{width:100%;min-width:0;table-layout:fixed}.hrd-table-surface .ant-table-tbody>tr>td,.hrd-table-surface .ant-table-thead>tr>th{white-space:nowrap}.hrd-content-project-configurable-table .ant-table-content,.hrd-content-project-desktop-table,.hrd-content-project-table-surface{overflow-x:hidden}.hrd-content-project-configurable-table .ant-table-cell{min-width:0;padding-right:10px;padding-left:10px}.hrd-content-title-cell{display:flex;min-width:0;flex-direction:column;gap:2px}.hrd-content-title-cell>div{min-width:0}.hrd-content-title{color:var(--hrd-text);font-weight:720;line-height:1.5;overflow-wrap:anywhere;white-space:normal}.hrd-table-surface .hrd-content-tags-column{white-space:normal}.hrd-content-id-row{display:flex;min-width:0;gap:4px;align-items:center}.hrd-content-id{margin-top:0;color:var(--hrd-text);font-size:var(--hrd-font-small)}.hrd-content-id-copy{width:24px;height:24px;flex:0 0 auto;padding:0}.hrd-detail-panel{display:flex;position:sticky;top:102px;flex-direction:column;align-self:start;height:calc(100dvh - 126px);overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hrd-detail-header{padding:12px 16px;background:var(--hrd-panel)}.hrd-detail-body{display:flex;flex-direction:column;min-height:0;gap:16px;overflow-y:auto;padding:18px 20px 24px;overscroll-behavior:contain;scrollbar-gutter:stable}.hrd-content-detail-sections{display:contents;color:var(--hrd-text)}.hrd-content-detail-section--assets{order:-1}.hrd-content-detail-section--content,.hrd-content-detail-section--platform,.hrd-content-detail-section--prompt{order:0}.hrd-detail-stage-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hrd-detail-stage-map div{min-width:0;padding:10px 8px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);color:var(--hrd-muted);text-align:center}.hrd-detail-stage-map span{display:block;width:20px;height:4px;margin:0 auto 8px;border-radius:var(--hrd-radius-pill)}.hrd-detail-stage-map strong{font-size:var(--hrd-font-small)}.hrd-detail-stage-map .is-active{border-color:var(--hrd-border);color:var(--hrd-text);background:var(--hrd-panel)}.hrd-detail-block,.hrd-detail-stage-map .is-active span{background:var(--hrd-panel)}.hrd-detail-block{padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-detail-block-title{margin:0 0 12px;color:var(--hrd-text);font-size:var(--hrd-font-body);font-weight:780}.hrd-platform-copy-block{border-color:var(--hrd-border);background:var(--hrd-panel)}.hrd-platform-copy-tabs .ant-tabs-nav{margin-bottom:12px}.hrd-platform-copy-tabs .ant-tabs-tab{padding:8px 10px;border-radius:var(--hrd-radius-pill)}.hrd-platform-copy-editor,.hrd-platform-copy-tabs .ant-tabs-tab-active{background:var(--hrd-panel)}.hrd-platform-copy-editor{min-width:0;padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-platform-copy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.hrd-platform-copy-head span,.hrd-platform-copy-head strong{display:block}.hrd-platform-copy-head strong{color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-platform-copy-head span{margin-top:4px;color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-platform-copy-switch-label{margin-top:0!important;color:var(--hrd-soft)!important;white-space:nowrap}.hrd-platform-copy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:12px}.hrd-platform-copy-field{display:grid;min-width:0;gap:7px}.hrd-platform-copy-field>span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-platform-copy-field-full{grid-column:1/-1}.hrd-platform-copy-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.hrd-platform-copy-actions .ant-btn{min-width:0}.hrd-prompt-preview{padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);color:var(--hrd-soft);font-size:var(--hrd-font-body);line-height:1.72}.hrd-prompt-preview strong{display:block;margin-bottom:8px;color:var(--hrd-text)}.hrd-publication-item{padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-publication-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-publication-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}.hrd-publication-metrics span{padding:7px 6px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);color:var(--hrd-soft);font-size:var(--hrd-font-small);text-align:center}.hrd-publication-link{display:inline-flex;margin-top:10px;color:var(--hrd-cyan);font-size:var(--hrd-font-small)}.hrd-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-asset-tile{min-height:84px;padding:10px;border:1px dashed var(--hrd-border);border-radius:var(--hrd-radius-control);font-size:var(--hrd-font-small);text-align:center;word-break:break-all}.hrd-asset-thumbnail-card,.hrd-asset-tile{display:flex;flex-direction:column;gap:8px;background:var(--hrd-panel)}.hrd-asset-thumbnail-card{width:100%;min-width:0;padding:8px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);cursor:zoom-in;transition:border-color .18s ease,background .18s ease,transform .18s ease}.hrd-asset-thumbnail-card:focus-visible,.hrd-asset-thumbnail-card:hover{border-color:var(--hrd-border);background:var(--hrd-panel);outline:none;transform:translateY(-1px)}.hrd-asset-thumbnail-frame{display:grid;width:100%;aspect-ratio:4/5;place-items:center;overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-asset-thumbnail-frame img{width:100%;height:100%;object-fit:cover}.hrd-asset-thumbnail-name{display:-webkit-box;overflow:hidden;min-height:34px;color:inherit;font-size:var(--hrd-font-small);line-height:1.4;text-align:center;word-break:break-all;-webkit-box-orient:vertical;-webkit-line-clamp:2}.hrd-asset-thumbnail-fallback{display:inline-flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;padding:10px;color:var(--hrd-muted);font-size:var(--hrd-font-small);text-align:center}.hrd-asset-thumbnail-fallback .anticon,.hrd-asset-tile>.anticon{color:var(--hrd-cyan);font-size:var(--hrd-font-title)}.hrd-asset-tile>span{min-height:32px}.hrd-asset-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}.hrd-asset-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-soft);background:var(--hrd-panel)}.hrd-asset-actions a:hover{border-color:var(--hrd-border);color:var(--hrd-text);background:var(--hrd-panel)}.hrd-asset-actions .hrd-asset-action-button{width:100%;min-height:30px;border-color:var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-soft);background:var(--hrd-panel);box-shadow:none}.hrd-asset-actions .hrd-asset-action-button:focus-visible,.hrd-asset-actions .hrd-asset-action-button:hover{border-color:var(--hrd-border);color:var(--hrd-text);background:var(--hrd-panel)}.hrd-asset-tile:hover{border-color:var(--hrd-border);color:var(--hrd-text);background:var(--hrd-panel)}.hrd-asset-preview-modal{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:14px;align-items:center}.hrd-asset-preview-frame{display:grid;min-height:min(72vh,720px);place-items:center;overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-asset-preview-frame img{max-width:100%;max-height:min(72vh,720px);object-fit:contain}.hrd-asset-preview-error{max-width:min(520px,100%)}.hrd-asset-preview-nav{justify-self:center}.hrd-asset-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hrd-asset-preview-footer>span{color:var(--hrd-muted);font-size:var(--hrd-font-body)}.hrd-asset-preview-download{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-text);background:var(--hrd-panel)}.hrd-asset-preview-download:focus-visible,.hrd-asset-preview-download:hover{border-color:var(--hrd-border);color:var(--hrd-text);background:var(--hrd-panel)}.hrd-admin-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);gap:22px;align-items:start}.hrd-admin-content-classifications-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.hrd-admin-content-classifications-workspace .hrd-admin-list-panel{padding:18px;border-radius:var(--hrd-radius-card);background:var(--hrd-panel);box-shadow:var(--hrd-shadow-soft)}.hrd-admin-content-classifications-workspace .ant-table-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-admin-content-classifications-workspace .ant-table-cell:first-child{width:150px}.hrd-admin-content-classifications-workspace .ant-table-cell:nth-child(2){max-width:240px}.hrd-admin-access-alert,.hrd-admin-detail-panel,.hrd-admin-list-panel{border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow-soft)}.hrd-admin-list-panel{min-width:0;padding:22px}.hrd-admin-detail-panel{min-width:0;padding:20px}.hrd-admin-access-alert{margin-top:24px}.hrd-admin-filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;gap:10px;margin:18px 0}.hrd-admin-table-subtext{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-admin-detail-content{display:grid;gap:16px}.hrd-admin-detail-content h3{margin:10px 0 4px;color:var(--hrd-text);font-size:var(--hrd-font-title)}.hrd-admin-detail-content p{margin:0;color:var(--hrd-muted);line-height:1.7}.hrd-admin-status-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(var(--hrd-primary-rgb),.16);border-radius:var(--hrd-radius-control);background:rgba(var(--hrd-primary-rgb),.07)}.hrd-admin-detail-block{display:grid;gap:10px;min-width:0}.hrd-admin-detail-block h4{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-admin-prompt{display:grid;gap:8px;padding:12px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-admin-prompt p{color:var(--hrd-text)}.hrd-admin-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-admin-asset-thumb{display:grid;gap:8px;min-width:0}.hrd-admin-asset-thumb .ant-image{display:block;width:100%}.hrd-admin-asset-placeholder,.hrd-admin-asset-thumb img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-admin-asset-placeholder{display:grid;place-items:center;color:var(--hrd-muted);font-size:var(--hrd-font-body)}.hrd-admin-asset-thumb>span{overflow:hidden;color:var(--hrd-text);font-size:var(--hrd-font-body);text-overflow:ellipsis;white-space:nowrap}.hrd-admin-asset-download{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-text);background:var(--hrd-panel)}.hrd-admin-asset-download:focus-visible,.hrd-admin-asset-download:hover{border-color:var(--hrd-border);color:var(--hrd-text);background:var(--hrd-panel)}@media (max-width:1280px){.hrd-admin-content-classifications-workspace,.hrd-admin-workspace{grid-template-columns:1fr}}@media (max-width:760px){.hrd-admin-asset-grid,.hrd-admin-filter-bar,.hrd-admin-status-box{grid-template-columns:1fr}}.hrd-table-row-selected>td{background:var(--hrd-panel)!important;box-shadow:var(--hrd-shadow)}.hrd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hrd-watermark-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}@media (max-width:1025px){.hrd-watermark-config-grid{grid-template-columns:1fr}}@media (max-width:480px){.hrd-codex-image-config-modal .ant-modal-footer{display:grid;grid-template-columns:1fr;gap:8px}.hrd-codex-image-config-modal .ant-modal-footer .ant-btn{width:100%;margin-inline-start:0}}.hrd-form-span{grid-column:1/-1}.hrd-modal-description{margin:0;color:var(--hrd-soft);line-height:1.7}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hrd-login-promo-frame img{transform:none;transition:none}}@media (max-width:1280px){.hrd-page{grid-template-columns:minmax(0,1fr)}.hrd-page .hrd-detail-expand-toggle{display:none}.hrd-detail-panel{display:flex;position:static;height:auto;margin-top:16px;overflow:visible;color:var(--hrd-text)}.hrd-detail-body{overflow:visible}}@media (max-width:1560px) and (min-width:1281px){.hrd-command-hero{grid-template-columns:minmax(0,1fr)}.hrd-page-title{max-width:560px;font-size:var(--hrd-font-title)}.hrd-platform-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.hrd-analytics-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:1100px){.hrd-login-page{grid-template-columns:1fr;height:auto;min-height:100dvh;overflow-y:auto}.hrd-login-hero{min-height:min(680px,70dvh);padding:36px 28px}.hrd-login-promo{max-width:720px}.hrd-login-panel{padding:28px}.hrd-command-hero{grid-template-columns:1fr}}@media (max-width:760px){.hrd-dashboard-shell{display:block;min-width:0}.hrd-sidebar{border-right:0;border-bottom:1px solid var(--hrd-border)}.hrd-brand{min-height:auto;padding:18px 20px 12px}.hrd-sidebar-section{padding:10px 12px 0}.hrd-sidebar .ant-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hrd-sidebar .ant-menu-item{width:auto;height:40px;margin:0!important;padding-inline:12px!important}.hrd-sidebar-footer{margin-top:10px;padding:12px 20px 16px}.hrd-topbar{flex-direction:column;align-items:stretch;min-height:auto;gap:12px;padding:14px 16px}.hrd-topbar .ant-input-affix-wrapper{max-width:none!important}.hrd-topbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hrd-topbar-actions .ant-btn,.hrd-topbar-actions .ant-tag{width:100%;justify-content:center;margin-inline-end:0}.hrd-page{display:block;min-height:auto}.hrd-analytics-page,.hrd-page{padding:14px}.hrd-workspace{padding:0}.hrd-command-hero{padding:20px;border-radius:var(--hrd-radius-control)}.hrd-analytics-hero{grid-template-columns:1fr}.hrd-page-title{font-size:var(--hrd-font-title)}.hrd-command-panel{grid-template-columns:1fr}.hrd-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.hrd-summary-card{min-height:104px;padding:14px}.hrd-summary-icon{width:38px;height:38px}.hrd-summary-value{font-size:var(--hrd-font-metric)}.hrd-toolbar{align-items:stretch;flex-direction:column}.hrd-table-surface{overflow-x:auto}.hrd-table-surface .ant-table{min-width:760px}.hrd-detail-panel{display:block;position:static;height:auto;margin-top:16px;overflow:visible}.hrd-detail-body{overflow:visible}.hrd-detail-body,.hrd-detail-header{padding-inline:16px}.hrd-platform-copy-actions,.hrd-platform-copy-head{align-items:stretch;flex-direction:column}.hrd-asset-grid,.hrd-form-grid,.hrd-platform-copy-grid{grid-template-columns:1fr}}:root{color-scheme:light;background:#f6f9fc;--hrd-bg:#f6f9fc;--hrd-panel:#ffffff;--hrd-panel-strong:#f8fbff;--hrd-theme-hue:246;--hrd-primary:#655bd4;--hrd-primary-hover:#5146b8;--hrd-primary-secondary:#594fc2;--hrd-primary-soft:#f2f0ff;--hrd-primary-rgb:101,91,212;--hrd-primary-surface:rgba(var(--hrd-primary-rgb),0.07);--hrd-primary-surface-strong:rgba(var(--hrd-primary-rgb),0.13);--hrd-border:rgba(30,64,86,0.14);--hrd-border-strong:rgba(var(--hrd-primary-rgb),0.34);--hrd-text:#132333;--hrd-muted:#617284;--hrd-soft:#334960;--hrd-cyan:var(--hrd-primary);--hrd-green:#158765;--hrd-gold:#b7791f;--hrd-violet:#6750a4;--hrd-pink:#b73573;--hrd-danger:#c2415a;--hrd-radius-control:10px;--hrd-radius-card:14px;--hrd-shadow:0 2px 8px rgba(21,33,49,0.08);--hrd-focus:0 0 0 3px rgba(var(--hrd-primary-rgb),0.22);--wedding-background:#f7f5f5;--wedding-surface:#ffffff;--wedding-surface-strong:#f6edef;--wedding-surface-muted:#eee8ea;--wedding-text:#272225;--wedding-muted:#766d71;--wedding-accent:#a55667;--wedding-accent-strong:#6f3040;--wedding-border:rgba(111,48,64,0.14);--wedding-overlay:rgba(50,31,39,0.86);--wedding-overlay-text:#ffffff;--wedding-overlay-muted:rgba(255,255,255,0.68);--wedding-overlay-border:rgba(255,255,255,0.16);--wedding-overlay-surface:rgba(255,255,255,0.1);--wedding-glass:rgba(255,255,255,0.9);--wedding-heart:#bd4963;--wedding-flower:#a86785;--wedding-candy:#826da3;--wedding-cake:#b56d78;--wedding-firework:#725b8f;--wedding-champagne:#9f737d;--wedding-success:#4f7460;--wedding-danger:#a64758;--wedding-shadow:0 24px 64px rgba(79,43,54,0.12);--wedding-shadow-soft:0 10px 30px rgba(79,43,54,0.08);--wedding-shadow-none:none;--wedding-radius-card:28px;--wedding-radius-control:16px;--wedding-radius-pill:999px;--wedding-mobile-width:480px;--wedding-font-display:ui-serif,"Songti SC","STSong","Noto Serif CJK SC",serif;--wedding-storybook-paper:#f4eddf;--wedding-storybook-paper-deep:#e8dcc7;--wedding-storybook-surface:#fffaf0;--wedding-storybook-ink:#191713;--wedding-storybook-muted:#6f6659;--wedding-storybook-red:#b5322e;--wedding-storybook-red-deep:#8e2422;--wedding-storybook-olive:#6f7154;--wedding-storybook-line:rgba(25,23,19,0.22);--wedding-storybook-photo-wash:rgba(25,23,19,0.38);--wedding-storybook-cover:rgba(244,237,223,0.9);--wedding-turntable-base:var(--wedding-overlay);--wedding-turntable-ink:var(--wedding-text);--wedding-turntable-silver:var(--wedding-overlay-text);--wedding-turntable-label:var(--wedding-surface);--wedding-turntable-accent:var(--wedding-accent);--wedding-theme-cinematic-background:#f6f4f1;--wedding-theme-cinematic-surface:#ffffff;--wedding-theme-cinematic-ink:#17171a;--wedding-theme-cinematic-accent:#9d3f4f;--wedding-theme-monochrome-background:#f1f1f0;--wedding-theme-monochrome-surface:#ffffff;--wedding-theme-monochrome-ink:#17171a;--wedding-theme-monochrome-accent:#8f4057;--wedding-theme-paper-background:#fbf5f4;--wedding-theme-paper-surface:#ffffff;--wedding-theme-paper-ink:#49313a;--wedding-theme-paper-accent:#c4778c;--wedding-theme-celestial-background:#eef1f5;--wedding-theme-celestial-surface:#fafdff;--wedding-theme-celestial-ink:#273040;--wedding-theme-celestial-accent:#a96f88;--wedding-theme-eastern-background:#f4f3f0;--wedding-theme-eastern-surface:#ffffff;--wedding-theme-eastern-ink:#242328;--wedding-theme-eastern-accent:#a6525b}body{background:var(--hrd-bg);color:var(--hrd-text)}body:after,body:before{display:none}.ant-empty-description,.ant-form-item-label>label,.ant-typography{color:var(--hrd-soft)!important}.ant-segmented{border:1px solid var(--hrd-border);background:var(--hrd-panel)}.ant-segmented .ant-segmented-item{color:var(--hrd-text)}.ant-segmented .ant-segmented-item-selected{color:var(--hrd-on-primary);background:var(--hrd-primary)}.hrd-dashboard-shell,.hrd-sidebar{background:var(--hrd-panel)}.hrd-sidebar{border-right:1px solid var(--hrd-border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hrd-sidebar:before{display:none}.hrd-brand{border-bottom:1px solid var(--hrd-border)}.hrd-brand-mark{background:var(--hrd-panel);box-shadow:none}.hrd-brand-mark,.hrd-brand-title,.hrd-login-brand h1{color:var(--hrd-text)}.hrd-login-brand .ant-typography,.hrd-sidebar-caption,.hrd-sidebar-footer{color:var(--hrd-muted)}.hrd-content-title,.hrd-detail-block-title,.hrd-platform-copy-head strong,.hrd-prompt-preview strong,.hrd-prompts-panel-head h3{color:var(--hrd-text)}.hrd-content-id,.hrd-detail-kicker,.hrd-generation-status-card p,.hrd-generation-status-card span,.hrd-platform-copy-head span,.hrd-prompt-asset-card-text,.hrd-prompts-panel-head p,.hrd-record-count{color:var(--hrd-muted)}.hrd-sidebar .ant-menu-item{color:var(--hrd-text)}.hrd-sidebar .ant-menu-item-selected{color:var(--hrd-text);background:var(--hrd-primary);box-shadow:none}.hrd-sidebar .ant-menu-item:not(.ant-menu-item-selected):hover{color:var(--hrd-primary-hover);background:var(--hrd-primary-soft)}.hrd-sidebar-footer{border-top:1px solid var(--hrd-border)}.hrd-main{background:transparent}.hrd-topbar{border-bottom:1px solid var(--hrd-border);background:var(--hrd-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hrd-theme-picker-panel{width:min(286px,calc(100vw - 48px));padding:4px 2px 2px}.hrd-theme-picker-heading{display:grid;grid-template-columns:6px auto 28px 52px;gap:10px;align-items:center;color:var(--hrd-text)}.hrd-theme-picker-heading-mark{width:6px;height:28px;border-radius:var(--hrd-radius-pill);background:var(--hrd-primary)}.hrd-theme-picker-heading strong{font-size:var(--hrd-font-section);line-height:1.4}.hrd-theme-picker-value{display:inline-flex;min-height:32px;align-items:center;justify-content:center;border-radius:var(--hrd-radius-control);color:var(--hrd-primary-hover);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--hrd-primary-soft)}.hrd-theme-hue-slider{margin:20px 6px 18px!important}.hrd-theme-hue-slider .ant-slider-rail{height:14px;border-radius:var(--hrd-radius-control);background:var(--hrd-panel)!important}.hrd-theme-hue-slider .ant-slider-track{height:14px;background:transparent!important}.hrd-theme-hue-slider .ant-slider-handle{inset-block-start:1px}.hrd-theme-hue-slider .ant-slider-handle:after{width:16px;height:22px;border-radius:var(--hrd-radius-control);box-shadow:var(--hrd-shadow)!important}.hrd-theme-picker-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hrd-theme-preset-button.ant-btn{min-width:0;padding-inline:10px}.hrd-theme-preset-swatch{width:10px;height:10px;flex:0 0 auto;border-radius:var(--hrd-radius-round);box-shadow:var(--hrd-shadow)}.hrd-theme-preset-swatch-purple,.hrd-theme-preset-swatch-teal{background:var(--hrd-panel)}.hrd-theme-picker-preview{display:grid;grid-template-columns:1fr 1fr .72fr;height:8px;margin-top:14px;overflow:hidden;border-radius:var(--hrd-radius-pill)}.hrd-theme-picker-preview span{min-width:0}.hrd-login-page,.hrd-login-promo-frame{background:var(--hrd-panel)}.hrd-login-promo-frame{border-color:var(--hrd-border);box-shadow:var(--hrd-shadow)}.hrd-login-promo-fallback{color:var(--hrd-text);background:var(--hrd-panel)}.hrd-login-promo-fallback small{color:var(--hrd-muted)}.hrd-login-panel{background:var(--hrd-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hrd-login-card{border:1px solid var(--hrd-border);border-radius:16px;background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-login-card h3{color:var(--hrd-text)}.hrd-login-card .ant-typography{color:var(--hrd-soft)!important}.hrd-login-card .hrd-auth-switch.ant-btn{min-height:40px;margin-top:10px}.hrd-login-card .hrd-auth-switch.ant-btn:focus-visible{outline:2px solid rgba(var(--hrd-primary-rgb),.24);outline-offset:2px}.hrd-command-hero{border:1px solid rgba(var(--hrd-primary-rgb),.18);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-command-eyebrow{color:var(--hrd-primary-hover);letter-spacing:.03em}.hrd-page-title{color:var(--hrd-text);font-size:var(--hrd-font-title)}.hrd-analytics-panel,.hrd-command-panel div,.hrd-detail-block,.hrd-detail-panel,.hrd-generation-status-card,.hrd-neural-card,.hrd-platform-copy-editor,.hrd-prompt-action-panel,.hrd-prompt-editor-panel,.hrd-prompt-preview,.hrd-prompt-text-card,.hrd-prompts-list-panel,.hrd-publication-item,.hrd-rewrite-console,.hrd-summary-card,.hrd-table-surface{border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-summary-card:after{display:none}.hrd-prompts-panel-head>.anticon,.hrd-summary-icon{color:var(--hrd-primary-hover);background:var(--hrd-primary-surface-strong)}.hrd-command-panel strong,.hrd-generation-status-card strong,.hrd-production-copy strong,.hrd-prompt-metric-tile strong,.hrd-summary-value{color:var(--hrd-text)}.hrd-command-panel span,.hrd-neural-card-head span,.hrd-production-copy span,.hrd-prompt-metric-tile span,.hrd-summary-label{color:var(--hrd-muted)}.hrd-production-meter{border-color:var(--hrd-border);background:var(--hrd-panel)}.hrd-production-meter span{background:var(--hrd-panel);box-shadow:none}.hrd-platform-badge{color:var(--hrd-text)}.hrd-platform-badge,.hrd-toolbar{border:1px solid var(--hrd-border);background:var(--hrd-panel)}.hrd-toolbar{box-shadow:var(--hrd-shadow)}.ant-table-wrapper .ant-table-tbody>tr>td,.ant-table-wrapper .ant-table-thead>tr>th{border-bottom:1px solid var(--hrd-border)}.hrd-table-row-selected>td{background:var(--hrd-primary-soft)!important;box-shadow:inset 3px 0 0 var(--hrd-primary)}.ant-pagination .ant-pagination-item{border-color:var(--hrd-border);background:var(--hrd-panel)}.ant-pagination .ant-pagination-item a{color:var(--hrd-soft)}.ant-pagination .ant-pagination-item-active{border-color:var(--hrd-primary);box-shadow:none}.hrd-detail-header{border-bottom:1px solid var(--hrd-border);background:var(--hrd-primary-surface)}.hrd-detail-header h3{color:var(--hrd-text)!important}.hrd-detail-block div[style*=color],.hrd-detail-block p{color:var(--hrd-soft)!important}.hrd-asset-thumbnail-card,.hrd-asset-tile,.hrd-detail-stage-map div,.hrd-platform-copy-block,.hrd-platform-copy-block .hrd-platform-copy-editor,.hrd-prompt-action-panel .ant-form,.hrd-prompt-asset-card,.hrd-prompt-metric-tile{border:1px solid var(--hrd-border);background:var(--hrd-panel);box-shadow:none}.hrd-detail-stage-map span{background:var(--hrd-panel)}.hrd-detail-stage-map .is-active{border-color:rgba(var(--hrd-primary-rgb),.28);color:var(--hrd-primary-hover);background:var(--hrd-primary-soft)}.hrd-detail-stage-map .is-active span{background:var(--hrd-primary)}.hrd-platform-copy-tabs .ant-tabs-tab-active{background:var(--hrd-primary-soft)}.hrd-asset-thumbnail-card,.hrd-asset-tile{color:var(--hrd-soft)}.hrd-asset-thumbnail-card:focus-visible,.hrd-asset-thumbnail-card:hover{border-color:rgba(var(--hrd-primary-rgb),.34);color:var(--hrd-primary-hover);background:var(--hrd-primary-soft)}.hrd-asset-thumbnail-frame{border-color:var(--hrd-border);background:var(--hrd-panel)}.hrd-asset-preview-download{border-color:rgba(var(--hrd-primary-rgb),.22);color:var(--hrd-primary-hover);background:var(--hrd-primary-soft)}.hrd-asset-preview-download:focus-visible,.hrd-asset-preview-download:hover{border-color:rgba(var(--hrd-primary-rgb),.38);color:var(--hrd-primary-hover);background:var(--hrd-primary-soft)}.hrd-asset-tile:hover{border-color:rgba(var(--hrd-primary-rgb),.34);color:var(--hrd-primary-hover);background:var(--hrd-primary-soft)}.hrd-prompts-hero-board{align-content:stretch}.hrd-prompt-metric-tile{background:var(--hrd-panel)}.hrd-prompt-asset-card{color:var(--hrd-text)}.hrd-prompt-asset-card.is-active,.hrd-prompt-asset-card:hover{border-color:rgba(var(--hrd-primary-rgb),.34);background:var(--hrd-primary-soft);box-shadow:none}.hrd-prompt-asset-card-kicker{color:var(--hrd-primary-hover);letter-spacing:.03em}.hrd-prompt-asset-card strong,.hrd-prompt-text-card-head strong{color:var(--hrd-text)}.hrd-prompt-text-card p{color:var(--hrd-soft)}.hrd-form-grid .ant-form-item,.hrd-rewrite-form-grid .ant-form-item{min-width:0}.hrd-settings-panel-head h3{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-title)}.hrd-settings-panel-head p{max-width:760px;margin:6px 0 0;color:var(--hrd-soft);font-size:var(--hrd-font-body);line-height:1.65}@media (max-width:1560px) and (min-width:1281px){.hrd-page-title{font-size:var(--hrd-font-title)}}@media (max-width:1100px){.hrd-prompts-layout,.hrd-template-grid{grid-template-columns:1fr}.hrd-template-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-prompt-asset-list{max-height:none;min-height:220px}}@media (max-width:760px){.hrd-sidebar{border-bottom:1px solid var(--hrd-border)}.hrd-prompts-page{padding:14px}.hrd-prompt-text-grid,.hrd-prompts-hero-board,.hrd-rewrite-form-grid,.hrd-template-metrics,.hrd-template-variable-list{grid-template-columns:1fr}.hrd-settings-panel-head{flex-direction:column}}.hrd-shared-modal .ant-modal-content{display:flex;max-height:calc(100vh - 48px);flex-direction:column;overflow:hidden}.hrd-shared-modal .ant-modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.hrd-dashboard-app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);width:100%;min-width:0;min-height:100vh;overflow-x:clip;background:var(--hrd-panel)}.hrd-dashboard-desktop-sidebar{position:sticky;z-index:30;top:0;min-width:0;height:100vh}.hrd-dashboard-navigation{width:100%;height:100%;min-width:0;overflow-x:hidden;overflow-y:auto}.hrd-dashboard-app-main,.hrd-dashboard-route-content,.hrd-dashboard-route-content>*{min-width:0}.hrd-dashboard-app-topbar{display:flex;position:sticky;z-index:25;top:0;gap:20px;align-items:center;justify-content:space-between;min-height:72px;padding:12px 24px;border-bottom:1px solid var(--hrd-border);background:var(--hrd-panel);box-shadow:var(--hrd-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hrd-dashboard-app-heading,.hrd-dashboard-session-actions{display:flex;min-width:0;gap:12px;align-items:center}.hrd-dashboard-app-heading>div{min-width:0}.hrd-dashboard-app-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hrd-text);font-size:var(--hrd-font-section)}.hrd-dashboard-menu-button{display:none!important;flex:0 0 auto}.hrd-dashboard-user-link{display:inline-flex;min-width:0;gap:7px;align-items:center;min-height:36px;padding:0 12px;border:1px solid rgba(var(--hrd-primary-rgb),.18);border-radius:var(--hrd-radius-control);color:var(--hrd-primary-hover);background:var(--hrd-primary-soft)}.hrd-dashboard-user-link span{overflow:hidden;max-width:150px;text-overflow:ellipsis;white-space:nowrap}.hrd-dashboard-session-alert{margin:16px 24px 0}.hrd-dashboard-route-content{width:100%;max-width:100%;overflow-x:clip}.hrd-dashboard-route-loading{display:grid;min-height:280px;place-items:center}.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell{display:block;width:100%;min-width:0;min-height:0;background:transparent}.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell>.hrd-sidebar{display:none}.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell>.hrd-main{width:100%;min-width:0}.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell>.hrd-main>.hrd-topbar{position:relative;z-index:2;top:auto;min-height:58px;padding:8px 24px;background:var(--hrd-panel);-webkit-backdrop-filter:none;backdrop-filter:none}.hrd-content-project-topbar-primary{display:flex;flex:1 1 560px;min-width:0;gap:12px;align-items:center}.hrd-content-project-topbar-primary>.ant-input-affix-wrapper{flex:1 1 300px;min-width:220px;max-width:460px!important}.hrd-content-project-scope-switcher{flex:0 0 auto}.hrd-content-project-status-toolbar{margin-top:0}.hrd-content-project-status-toolbar .ant-segmented{max-width:100%;overflow-x:auto}.hrd-content-project-status-toolbar .ant-segmented-group{min-width:max-content}.hrd-dashboard-page-surface{width:100%;max-width:1600px;min-width:0;margin:0 auto;padding:24px 28px 36px}.hrd-account-page{display:grid;gap:18px}.hrd-account-hero,.hrd-admin-audience-hero{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;padding:24px;border:1px solid rgba(var(--hrd-primary-rgb),.16);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-account-eyebrow,.hrd-admin-audience-hero>div>span{color:var(--hrd-primary-hover);font-size:var(--hrd-font-small);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.hrd-account-hero h2,.hrd-admin-audience-hero h2{margin:7px 0 0;color:var(--hrd-text);font-size:var(--hrd-font-title)}.hrd-account-hero p,.hrd-admin-audience-hero p{max-width:780px;margin:8px 0 0;color:var(--hrd-soft);line-height:1.7}.hrd-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hrd-account-panel,.hrd-admin-overview-panel{min-width:0;padding:22px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-account-panel-head,.hrd-admin-detail-heading,.hrd-admin-panel-heading{display:flex;min-width:0;gap:16px;align-items:flex-start;justify-content:space-between}.hrd-account-panel-head{margin-bottom:18px}.hrd-account-panel-head h3,.hrd-admin-detail-heading h3,.hrd-admin-panel-heading h3{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-section)}.hrd-account-panel-head p,.hrd-admin-detail-heading span,.hrd-admin-panel-heading span{margin:5px 0 0;color:var(--hrd-muted);font-size:var(--hrd-font-body);line-height:1.6}.hrd-account-panel-icon{flex:0 0 auto;color:var(--hrd-primary-hover);font-size:var(--hrd-font-title)}.hrd-account-panel code{overflow-wrap:anywhere;color:var(--hrd-primary-hover)}.hrd-account-security-action{display:flex;min-width:0;gap:18px;align-items:flex-end;justify-content:space-between}.hrd-account-security-action>div{min-width:0}.hrd-account-binding-card small,.hrd-account-binding-card span,.hrd-account-binding-card strong,.hrd-account-security-action span,.hrd-account-security-action strong{display:block}.hrd-account-binding-card strong,.hrd-account-security-action strong{color:var(--hrd-text)}.hrd-account-binding-card small,.hrd-account-binding-card span,.hrd-account-security-action span{margin-top:5px;color:var(--hrd-muted);font-size:var(--hrd-font-body);line-height:1.6}.hrd-account-binding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-account-binding-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;border:1px solid rgba(var(--hrd-primary-rgb),.14);border-radius:var(--hrd-radius-control);background:var(--hrd-primary-surface)}.hrd-account-binding-card>.anticon{margin-top:3px;color:var(--hrd-text);font-size:var(--hrd-font-title)}.hrd-admin-audience-page{display:grid;gap:18px}.hrd-admin-audience-page>.ant-tabs{min-width:0;padding:0 20px 22px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-admin-detail-stack,.hrd-admin-list-stack,.hrd-admin-overview-stack{display:grid;min-width:0;gap:18px}.hrd-admin-overview-section{display:grid;min-width:0;gap:16px}.hrd-admin-overview-section-heading{display:grid;min-width:0;gap:4px;padding:2px}.hrd-admin-overview-section-heading>span{color:var(--hrd-primary-hover);font-size:var(--hrd-font-small);font-weight:800;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.hrd-admin-overview-section-heading h3{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-title);line-height:1.35}.hrd-admin-overview-section-heading p{margin:0;color:var(--hrd-muted);font-size:var(--hrd-font-body);line-height:1.6}.hrd-admin-overview-heading-meta{color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.5}.hrd-admin-overview-heading-meta span{color:var(--hrd-primary-hover);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hrd-admin-deployment-json-summary{max-width:100%;max-height:220px;margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.6}.hrd-admin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hrd-admin-metric-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:18px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-admin-metric-card>.anticon{display:grid;width:42px;height:42px;place-items:center;border-radius:var(--hrd-radius-control);color:var(--hrd-primary-hover);background:var(--hrd-primary-surface-strong)}.hrd-admin-metric-card .ant-statistic-title{color:var(--hrd-muted)}.hrd-admin-metric-card .ant-statistic-content{color:var(--hrd-text);font-size:var(--hrd-font-metric)}.hrd-admin-quality-panel{display:grid;align-content:center;gap:14px}.hrd-admin-quality-panel .ant-space{min-width:0}.hrd-admin-overview-columns,.hrd-admin-overview-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.hrd-admin-overview-column{display:grid;min-width:0;gap:16px;align-content:start}.hrd-admin-account-status-grid,.hrd-admin-platform-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.hrd-admin-platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-admin-account-status-grid>div,.hrd-admin-platform-metrics>div{min-width:0;padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-admin-account-status-grid strong,.hrd-admin-platform-metrics span,.hrd-admin-platform-metrics strong{display:block}.hrd-admin-account-status-grid strong,.hrd-admin-platform-metrics strong{margin-top:8px;color:var(--hrd-text);font-size:var(--hrd-font-metric)}.hrd-admin-platform-metrics span{color:var(--hrd-muted);font-size:var(--hrd-font-body)}.hrd-admin-rank-list{margin-top:14px}.hrd-admin-rank-list .ant-list-item{min-width:0;gap:16px;padding:12px 0}.hrd-admin-rank-list .ant-list-item:first-child{padding-top:2px}.hrd-admin-rank-empty{margin:18px 0 6px}.hrd-admin-rank-content{display:flex;min-width:0;gap:12px;align-items:center}.hrd-admin-rank-index{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:var(--hrd-radius-control);color:var(--hrd-primary-hover);background:var(--hrd-primary-surface);font-size:var(--hrd-font-small);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hrd-admin-rank-content>div{display:grid;min-width:0;gap:3px}.hrd-admin-rank-content span,.hrd-admin-rank-content strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-admin-rank-content strong{color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-admin-rank-content span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-admin-rank-value{flex:0 0 auto;min-width:42px;color:var(--hrd-text);font-size:var(--hrd-font-section);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.hrd-admin-trend-panel{overflow:hidden}.hrd-admin-trend-heading{align-items:center}.hrd-admin-trend-heading .ant-tag{margin-inline-end:0;flex:0 0 auto;padding-inline:11px}.hrd-admin-trend-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0 18px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-admin-trend-kpis>div{min-width:0;padding:14px 16px;border-right:1px solid var(--hrd-border)}.hrd-admin-trend-kpis>div:last-child{border-right:0}.hrd-admin-trend-kpis dd,.hrd-admin-trend-kpis dt,.hrd-admin-trend-kpis small{display:block;margin:0}.hrd-admin-trend-kpis dt{overflow:hidden;color:var(--hrd-muted);font-size:var(--hrd-font-small);text-overflow:ellipsis;white-space:nowrap}.hrd-admin-trend-kpis dd{margin-top:7px;color:var(--hrd-text);font-size:var(--hrd-font-title);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hrd-admin-trend-kpis dd.is-negative,.hrd-admin-trend-kpis dd.is-positive{color:var(--hrd-text)}.hrd-admin-trend-kpis small{margin-top:4px;overflow:hidden;color:var(--hrd-muted);font-size:var(--hrd-font-small);text-overflow:ellipsis;white-space:nowrap}.hrd-admin-trend-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:10px}.hrd-admin-trend-toolbar>div:first-child{display:grid;min-width:0;gap:3px}.hrd-admin-trend-toolbar strong{color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-admin-trend-toolbar span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-admin-trend-segmented{max-width:100%}.hrd-admin-trend-chart{min-height:246px;padding:6px 10px 0 0;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-admin-trend-empty{display:grid;min-height:238px;place-content:center;gap:6px;color:var(--hrd-muted);text-align:center}.hrd-admin-trend-empty span{color:var(--hrd-text);font-size:var(--hrd-font-body);font-weight:700}.hrd-admin-trend-empty small{font-size:var(--hrd-font-small)}.hrd-admin-trend-details{margin-top:12px;border-top:1px solid var(--hrd-border)}.hrd-admin-trend-details summary{padding:12px 0;color:var(--hrd-primary-hover)!important;cursor:pointer;font-size:var(--hrd-font-body);font-weight:700;list-style-position:inside}.hrd-admin-trend-details summary::marker{color:var(--hrd-primary-hover)}.hrd-admin-trend-details-content{padding:0 0 4px}.hrd-admin-list-toolbar,.hrd-admin-user-filters{display:flex;min-width:0;gap:10px;align-items:center}.hrd-admin-list-toolbar{justify-content:space-between}.hrd-admin-list-toolbar>span{color:var(--hrd-muted);font-size:var(--hrd-font-small);text-align:right}.hrd-admin-user-filters{display:grid;grid-template-columns:minmax(220px,1fr) 170px 170px auto}.hrd-responsive-table{width:100%;max-width:100%;min-width:0;overflow-x:auto;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-responsive-table .ant-table-cell{overflow-wrap:anywhere}.hrd-admin-primary-cell{display:grid;min-width:0;gap:3px}.hrd-admin-primary-cell small,.hrd-admin-primary-cell span,.hrd-admin-primary-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-admin-primary-cell strong{color:var(--hrd-text)}.hrd-admin-primary-cell small,.hrd-admin-primary-cell span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-admin-path-cell{overflow-wrap:anywhere;word-break:break-word}.hrd-desktop-table{width:100%;max-width:100%;min-width:0;overflow-x:auto}.hrd-table-column-toolbar{display:flex;min-height:34px;align-items:center;justify-content:flex-end;padding:4px 8px;border-bottom:1px solid var(--hrd-border)}.hrd-table-column-drawer .ant-drawer-header{padding:22px 22px 16px}.hrd-table-column-drawer .ant-drawer-title .ant-typography{margin:0}.hrd-table-column-drawer .ant-drawer-title .ant-typography-secondary{display:block;margin-top:4px}.hrd-table-column-drawer .ant-drawer-body{padding:14px 18px}.hrd-table-column-list{display:grid;gap:8px}.hrd-table-column-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:50px;padding:10px 12px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow);cursor:grab;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.hrd-table-column-item:hover{border-color:rgba(var(--hrd-primary-rgb),.28);box-shadow:var(--hrd-shadow)}.hrd-table-column-item:focus-visible{border-color:var(--hrd-primary);outline:3px solid rgba(var(--hrd-primary-rgb),.16);outline-offset:1px}.hrd-table-column-item:active{cursor:grabbing;transform:scale(.995)}.hrd-table-column-drag-handle{color:var(--hrd-text);font-size:var(--hrd-font-section)}.hrd-table-column-label{min-width:0;overflow:hidden;color:var(--hrd-text);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.hrd-table-column-drawer-footer{display:flex;align-items:center;justify-content:space-between}.hrd-admin-binding-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-admin-binding-row>.anticon{color:var(--hrd-primary-hover)}.hrd-admin-binding-row span,.hrd-admin-binding-row strong{display:block}.hrd-admin-binding-row strong{color:var(--hrd-text)}.hrd-admin-binding-row small,.hrd-admin-binding-row span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}@media (min-width:1200px){.hrd-dashboard-app-shell{grid-template-columns:252px minmax(0,1fr)}}@media (max-width:1560px) and (min-width:1281px){.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell .hrd-admin-workspace{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}}@media (max-width:1199px){.hrd-dashboard-app-shell{display:block}.hrd-dashboard-desktop-sidebar{display:none}.hrd-dashboard-menu-button{display:inline-flex!important}.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell{min-width:0}.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell>.hrd-main>.hrd-topbar{flex-wrap:wrap}.hrd-content-project-topbar-primary{flex:1 1 100%}.hrd-account-grid,.hrd-admin-overview-columns,.hrd-admin-overview-panels{grid-template-columns:1fr}.hrd-admin-metric-grid,.hrd-admin-trend-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-admin-trend-kpis>div:nth-child(2n){border-right:0}.hrd-admin-trend-kpis>div:nth-child(-n+2){border-bottom:1px solid var(--hrd-border)}.hrd-admin-trend-toolbar{align-items:flex-start;flex-wrap:wrap}.hrd-admin-user-filters{grid-template-columns:minmax(220px,1fr) 160px 160px auto}.hrd-responsive-table .ant-table{min-width:760px}}@media (max-width:767px){.hrd-dashboard-route-content .ant-space-horizontal{flex-wrap:wrap;max-width:100%}.hrd-dashboard-route-content .ant-space-item{min-width:0;max-width:100%}.hrd-dashboard-route-content :is(.ant-input-affix-wrapper,.ant-input,.ant-select,.ant-tag){max-width:100%}.hrd-dashboard-route-content .ant-tag{white-space:normal;overflow-wrap:anywhere}.hrd-dashboard-app-topbar{align-items:stretch;padding:10px 12px}.hrd-dashboard-app-heading{flex:1 1 auto}.hrd-dashboard-session-actions{flex:0 0 auto}.hrd-dashboard-session-actions>.ant-btn>span:not(.ant-btn-icon),.hrd-dashboard-session-actions>:first-child,.hrd-dashboard-user-link>span:not(.anticon){display:none}.hrd-dashboard-user-link{width:36px;padding:0;justify-content:center}.hrd-dashboard-detail-drawer .ant-drawer-content-wrapper,.hrd-dashboard-navigation-drawer-root .ant-drawer-content-wrapper{width:100vw!important;max-width:100vw!important}.hrd-dashboard-navigation-drawer .ant-drawer-body{padding:0}.hrd-dashboard-navigation-drawer .hrd-dashboard-navigation{border-right:0}.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell>.hrd-main>.hrd-topbar{display:flex;gap:10px;align-items:stretch;padding:10px 12px}.hrd-dashboard-route-content>.hrd-dashboard-shell>.hrd-main>.hrd-topbar .hrd-topbar-actions{width:100%}.hrd-content-project-topbar-primary{width:100%;flex-direction:column;align-items:stretch}.hrd-content-project-topbar-primary>.ant-input-affix-wrapper{flex:0 0 42px;width:100%;min-width:0;max-width:none!important}.hrd-content-project-scope-switcher,.hrd-content-project-scope-switcher .ant-segmented-group{width:100%}.hrd-content-project-scope-switcher .ant-segmented-item{flex:1 1 50%}.hrd-dashboard-page-surface{padding:14px 12px 24px}.hrd-account-hero,.hrd-account-panel-head,.hrd-account-security-action,.hrd-admin-audience-hero,.hrd-admin-detail-heading,.hrd-admin-list-toolbar,.hrd-admin-panel-heading{align-items:stretch;flex-direction:column}.hrd-account-hero h2,.hrd-admin-audience-hero h2{font-size:var(--hrd-font-title)}.hrd-account-binding-grid,.hrd-account-grid,.hrd-admin-account-status-grid,.hrd-admin-metric-grid,.hrd-admin-overview-panels,.hrd-admin-platform-metrics,.hrd-admin-user-filters{grid-template-columns:1fr}.hrd-account-panel,.hrd-admin-overview-panel{padding:16px}.hrd-admin-audience-page>.ant-tabs{padding:0 12px 16px}.hrd-admin-audience-page .ant-tabs-nav-wrap{overflow-x:auto}.hrd-admin-list-toolbar>span{text-align:left}.hrd-admin-list-toolbar .ant-select,.hrd-admin-user-filters .ant-select{width:100%!important}.hrd-desktop-table{display:none}.hrd-admin-binding-row{grid-template-columns:auto minmax(0,1fr)}.hrd-admin-binding-row small{grid-column:2}.hrd-admin-trend-toolbar{align-items:stretch;flex-direction:column}.hrd-admin-trend-segmented{width:100%;overflow-x:auto}.hrd-admin-trend-segmented .ant-segmented-group{min-width:max-content}.hrd-admin-trend-chart{padding-right:4px}.hrd-admin-detail-stack>.ant-pagination,.hrd-admin-list-stack>.ant-pagination{overflow-x:auto;padding-bottom:4px}.hrd-shared-modal .ant-modal{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;margin:12px auto}.hrd-shared-modal .ant-modal-content{max-height:calc(100vh - 24px)}.hrd-login-page{grid-template-columns:minmax(0,1fr);width:100%;height:auto;min-width:0;min-height:100dvh;overflow-y:auto}.hrd-login-hero,.hrd-login-panel{min-width:0;padding:22px 16px}.hrd-login-hero{min-height:auto;gap:18px;padding:24px 16px 28px}.hrd-login-promo{width:100%;max-width:none;gap:12px}.hrd-login-promo-frame{min-height:360px;max-height:520px;padding:12px;border-radius:18px}.hrd-login-promo-caption{align-items:flex-end}.hrd-login-promo-copy strong{max-width:62vw}.hrd-login-promo-switch.ant-btn{padding:0 12px}.hrd-login-card{max-width:100%;padding:22px 18px}}.hrd-reference-paste-zone{display:grid;gap:0;overflow:hidden;color:var(--hrd-muted);background:var(--hrd-panel);border:1px solid var(--hrd-border-strong);border-radius:var(--hrd-radius-card);transition:border-color .18s ease,box-shadow .18s ease}.hrd-reference-paste-zone[data-dragging=true]{border-color:var(--hrd-primary);box-shadow:0 0 0 3px var(--hrd-primary-surface)}.hrd-reference-composer-title-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--hrd-border);background:var(--hrd-panel-strong)}.hrd-reference-composer-title-row .ant-input-affix-wrapper{flex:1 1 auto;min-width:0;padding-inline:0}.hrd-reference-composer-title-row>span{flex:0 0 auto;color:var(--hrd-soft);font-size:var(--hrd-font-small)}.hrd-reference-composer-main{display:grid;min-height:214px;place-items:center;gap:8px;padding:20px 18px 18px;text-align:center}.hrd-reference-composer-main strong{color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-reference-composer-main>span{font-size:var(--hrd-font-small)}.hrd-reference-composer-preview-strip{display:flex;width:100%;min-height:98px;justify-content:center;gap:10px;overflow-x:auto;padding:2px}.hrd-reference-composer-empty{display:grid;place-items:center;gap:5px;color:var(--hrd-soft);font-size:var(--hrd-font-small)}.hrd-reference-composer-empty>.anticon{font-size:var(--hrd-font-title);color:var(--hrd-primary)}.hrd-reference-composer-preview{position:relative;flex:0 0 90px;height:90px;overflow:hidden;cursor:grab;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-reference-composer-preview:active{cursor:grabbing}.hrd-reference-composer-preview img{width:100%;height:100%;object-fit:cover}.hrd-reference-composer-preview>span{position:absolute;right:5px;bottom:5px;padding:2px 5px;color:var(--hrd-text);font-size:var(--hrd-font-small);font-weight:700;background:var(--hrd-panel);border-radius:var(--hrd-radius-pill)}.hrd-reference-composer-preview-remove.ant-btn{position:absolute;z-index:1;top:2px;right:2px;width:24px;height:24px;padding:0}.hrd-reference-composer-toolbar{display:flex;align-items:center;gap:7px;min-height:48px;padding:6px 10px;border-top:1px solid var(--hrd-border);background:var(--hrd-panel-strong)}.hrd-reference-composer-toolbar>span{color:var(--hrd-soft);font-size:var(--hrd-font-small)}.hrd-reference-composer-toolbar-meta{display:flex;align-items:center;gap:6px;margin-left:auto}.hrd-reference-composer-toolbar-meta .ant-tag{margin-inline-end:0}.hrd-admin-content-display-grid,.hrd-reference-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-reference-preview-card{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;background:var(--hrd-panel);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card)}.hrd-reference-preview-card img{width:84px;height:84px;object-fit:cover;border-radius:var(--hrd-radius-control)}.hrd-reference-preview-card div{display:grid;gap:4px;min-width:0}.hrd-reference-preview-card span,.hrd-reference-preview-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-admin-content-display-grid p,.hrd-admin-content-display-hero p,.hrd-reference-preview-card span{color:var(--hrd-muted)}.hrd-admin-content-display-page{display:grid;gap:18px}.hrd-mini-admin-workspace{min-width:0;grid-template-columns:minmax(0,1fr);padding:18px}.hrd-mini-admin-workspace .ant-spin-container,.hrd-mini-admin-workspace .ant-spin-nested-loading,.hrd-mini-admin-workspace .ant-tabs,.hrd-mini-admin-workspace .ant-tabs-tabpane,.hrd-mini-admin-workspace .hrd-detail-block,.hrd-mini-admin-workspace>*{min-width:0;max-width:100%}.hrd-mini-admin-form.ant-form{min-width:0;width:100%;box-sizing:border-box;padding:16px}.hrd-mini-admin-form .ant-tabs{min-width:0}.hrd-mini-admin-form .ant-input-number{width:100%}.hrd-mini-admin-stack{display:grid;gap:16px;min-width:0;width:100%}.hrd-mini-admin-stack>.ant-btn{justify-self:start}.hrd-mini-admin-period-row,.hrd-mini-admin-slot-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:start;padding-bottom:16px;border-bottom:1px solid var(--hrd-border)}.hrd-mini-admin-period-row{max-width:760px}.hrd-mini-admin-slot-row{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr)) auto}.hrd-mini-admin-period-row>.ant-form-item,.hrd-mini-admin-slot-row>.ant-form-item{margin-bottom:0;min-width:0}.hrd-mini-admin-period-row>.ant-btn,.hrd-mini-admin-slot-row>.ant-btn{margin-top:30px}.hrd-mini-admin-form .ant-input,.hrd-mini-admin-form .ant-input-number,.hrd-mini-admin-workspace .ant-btn{min-height:32px}.hrd-mini-admin-form .ant-input-number-input{min-height:30px}.hrd-mini-admin-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-width:0}.hrd-mini-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0}.hrd-mini-admin-toolbar>.ant-input-search{width:320px;max-width:100%}.hrd-mini-admin-date-filter{display:grid;gap:6px;width:180px;max-width:100%}.hrd-mini-admin-toolbar>.ant-segmented{width:auto}.hrd-mini-admin-table{min-width:0;overflow:hidden}.hrd-mini-admin-cell,.hrd-mini-admin-work-copy{display:grid;gap:8px;min-width:0;overflow-wrap:anywhere}.hrd-mini-admin-work{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;box-shadow:none}.hrd-mini-admin-work-main{display:flex;gap:16px;align-items:flex-start;min-width:0}.hrd-mini-admin-work-main>.ant-image{flex-shrink:0}.hrd-mini-admin-work-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.hrd-mini-admin-work-cover{object-fit:cover;border-radius:var(--hrd-radius-control)}.hrd-mini-admin-setting-row h2,.hrd-mini-admin-work-copy h2{margin:0;font-size:var(--hrd-font-section);line-height:1.4;font-weight:650;color:var(--hrd-text)}.hrd-mini-admin-work-copy .ant-typography{margin:0}.hrd-mini-admin-work-actions{justify-content:flex-end;grid-column:2;grid-row:1;padding:0;border:0}.hrd-mini-admin-work-shots{grid-column:1/-1}.hrd-mini-admin-work-shots summary{cursor:pointer;color:var(--hrd-muted)}.hrd-mini-admin-work-shots img{object-fit:contain}.hrd-mini-admin-setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.hrd-mini-admin-setting-row>div{display:grid;gap:12px;min-width:0}.hrd-mini-admin-loading{display:grid;place-items:center;min-height:180px}.hrd-mini-admin-announcement-image{margin-top:16px}.hrd-admin-pet-settings-page>.hrd-admin-content-display-hero{margin-bottom:18px}@media (max-width:1100px){.hrd-mini-admin-slot-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-mini-admin-slot-row>.ant-btn{margin-top:0;justify-self:start}}@media (max-width:1120px){.hrd-admin-pet-form-panel{order:0}.hrd-admin-pet-preview-panel{order:1}}@media (max-width:767px){.hrd-mini-admin-work{grid-template-columns:minmax(0,1fr)}.hrd-mini-admin-work-actions{grid-column:1;grid-row:auto;justify-content:flex-start}.hrd-mini-admin-workspace{padding:16px}.hrd-mini-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-mini-admin-form.ant-form{padding:16px}.hrd-mini-admin-period-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-mini-admin-period-row>.ant-btn{margin-top:0;justify-self:start}.hrd-admin-pet-settings-actions .ant-btn,.hrd-mini-admin-form .ant-input,.hrd-mini-admin-form .ant-input-number,.hrd-mini-admin-workspace .ant-btn{min-height:44px}.hrd-mini-admin-form .ant-input-number-input{min-height:42px}}.hrd-admin-content-display-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.hrd-admin-content-display-grid h2,.hrd-admin-content-display-hero h1{margin:0}.hrd-admin-content-display-hero h1{font-size:var(--hrd-font-title);font-weight:750;line-height:1.3;color:var(--hrd-text)}.hrd-dashboard-route-content .hrd-showcase-template-page{padding:18px}.hrd-detail-section-toolbar{width:100%;justify-content:space-between;gap:12px}.hrd-detail-section-toolbar>.ant-space-item{min-width:0;max-width:100%}.hrd-detail-section-toolbar .hrd-detail-block-title{white-space:nowrap}.hrd-dashboard-route-content .hrd-detail-block .ant-space-horizontal{flex-wrap:wrap;max-width:100%}.hrd-dashboard-route-content .hrd-detail-block .ant-space-item{min-width:0;max-width:100%}.hrd-dashboard-route-content .hrd-detail-block :is(.ant-input,.ant-select,.ant-input-affix-wrapper){max-width:100%}.hrd-dashboard-route-content .hrd-workbench .hrd-dashboard-shell>.hrd-main>.hrd-workspace{padding:18px}.hrd-template-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.hrd-template-metric{display:flex;align-items:center;gap:12px;padding:16px;background:var(--hrd-panel);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card)}.hrd-template-metric>div:last-child{display:grid;gap:4px}.hrd-template-metric strong{font-size:var(--hrd-font-metric);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hrd-template-metric span{color:var(--hrd-muted)}.hrd-template-metric__icon{color:var(--hrd-primary)}.hrd-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hrd-template-card{min-width:0;padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel)}.hrd-template-card__header{display:flex;justify-content:space-between;align-items:start;gap:12px}.hrd-template-card__header h3{margin:8px 0 12px;font-size:var(--hrd-font-section)}.hrd-template-card__body{overflow-wrap:anywhere}.hrd-template-card__body p{color:var(--hrd-muted);margin:4px 0 12px}.hrd-template-card__footer,.hrd-template-empty{display:grid;gap:12px}.hrd-template-empty{justify-items:center;padding:24px}.hrd-template-empty h3{margin:0;font-size:var(--hrd-font-section)}.hrd-dashboard-route-content :is(.hrd-admin-workspace,.hrd-admin-audience-page,.hrd-admin-pet-settings-page,.hrd-account-page){padding:18px;gap:16px;min-width:0}.hrd-dashboard-route-content :is(.hrd-admin-content-display-hero,.hrd-admin-audience-hero,.hrd-account-hero){gap:12px;flex-wrap:wrap;align-items:center}.hrd-dashboard-route-content :is(.hrd-admin-content-display-hero,.hrd-admin-audience-hero)>:first-child{margin-right:auto}.hrd-dashboard-route-content :is(.hrd-admin-overview-panel,.hrd-account-panel,.hrd-detail-block){padding:16px}.hrd-dashboard-route-content :is(.hrd-admin-audience-hero,.hrd-account-hero){padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.hrd-dashboard-route-content :is(.hrd-admin-audience-hero,.hrd-account-hero) h2{margin:0;font-size:var(--hrd-font-title);line-height:1.3}.hrd-dashboard-route-content .ant-form-item{margin-bottom:12px}.hrd-dashboard-route-content .ant-form-vertical .ant-form-item-label{padding-bottom:4px}.hrd-dashboard-route-content .ant-table-wrapper{min-width:0;max-width:100%}.hrd-dashboard-route-content .ant-table-container{overflow-x:auto}.hrd-dashboard-route-content .ant-table-tbody>tr>td,.hrd-dashboard-route-content .ant-table-thead>tr>th{padding:10px 12px}.hrd-dashboard-route-content .ant-empty{margin-block:24px}.hrd-dashboard-route-content .ant-tabs-nav{margin-bottom:12px}.hrd-dashboard-route-content .hrd-page-title{font-size:var(--hrd-font-title);line-height:1.3}.hrd-dashboard-route-content .hrd-command-hero{padding:16px;gap:16px;border-radius:var(--hrd-radius-card);background:var(--hrd-panel);box-shadow:none}.hrd-dashboard-route-content .ant-table-cell .hrd-admin-table-subtext{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}body:has(.hrd-dashboard-app-shell) .ant-modal{top:32px;padding-bottom:24px}body:has(.hrd-dashboard-app-shell) .ant-modal-body{max-height:calc(100dvh - 190px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}body:has(.hrd-dashboard-app-shell) .ant-modal .ant-form-item{margin-bottom:12px}body:has(.hrd-dashboard-app-shell) .ant-modal .ant-form-vertical .ant-form-item-label{padding-bottom:4px}body:has(.hrd-dashboard-app-shell) .ant-modal .hrd-mini-admin-form{padding:0}.hrd-admin-editor .hrd-admin-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;align-items:start}.hrd-admin-editor-grid>.ant-form-item{min-width:0}.hrd-admin-editor-wide{grid-column:1/-1}.hrd-admin-editor .ant-image{vertical-align:middle;margin-inline:8px}.hrd-admin-editor .ant-image-img{object-fit:cover;border-radius:var(--hrd-radius-control)}@media (max-width:767px){.hrd-template-grid{grid-template-columns:minmax(0,1fr)}.hrd-dashboard-route-content .hrd-page-title{font-size:var(--hrd-font-title)}.hrd-template-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-dashboard-route-content :is(.hrd-showcase-template-page,.hrd-admin-workspace,.hrd-admin-audience-page,.hrd-admin-pet-settings-page,.hrd-account-page){padding:12px}.hrd-dashboard-route-content .ant-btn,.hrd-dashboard-route-content .ant-input-number,.hrd-dashboard-route-content .ant-input:not(textarea),.hrd-dashboard-route-content .ant-select,.hrd-dashboard-route-content .ant-select-selector,body:has(.hrd-dashboard-app-shell) .ant-modal .ant-btn,body:has(.hrd-dashboard-app-shell) .ant-modal .ant-input:not(textarea),body:has(.hrd-dashboard-app-shell) .ant-modal .ant-select-selector{min-height:44px}body:has(.hrd-dashboard-app-shell) .ant-modal .ant-input-number,body:has(.hrd-dashboard-app-shell) .ant-modal .ant-select{min-height:44px}.hrd-dashboard-route-content .ant-input-number-input,body:has(.hrd-dashboard-app-shell) .ant-modal .ant-input-number-input{min-height:42px}.hrd-dashboard-route-content :is(.hrd-admin-content-display-hero,.hrd-admin-audience-hero,.hrd-account-hero){align-items:flex-start}.hrd-dashboard-route-content .hrd-admin-content-display-hero>.ant-space{margin-left:auto}body:has(.hrd-dashboard-app-shell) .ant-modal{top:12px;padding-bottom:12px}body:has(.hrd-dashboard-app-shell) .ant-modal-body{max-height:calc(100dvh - 170px)}}@media (max-width:640px){.hrd-admin-editor .hrd-admin-editor-grid{grid-template-columns:minmax(0,1fr)}}.hrd-admin-content-display-loading{display:grid;min-height:360px;place-items:center}.hrd-reference-dimension-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-project-media-card small{color:var(--hrd-muted)}.hrd-reference-order-list{display:grid;gap:8px}.hrd-character-profile-panel,.hrd-image-variant-editor{display:grid;gap:12px;padding:12px;background:var(--hrd-panel-strong);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card)}.hrd-character-profile-summary{display:grid;gap:8px}.hrd-image-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hrd-image-variant-card{display:grid;gap:10px;min-width:0;padding:12px;background:var(--hrd-panel);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-image-variant-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.hrd-image-variant-card-header>div{min-width:0}.hrd-image-variant-card-header .ant-btn{flex:0 0 auto;margin-inline-start:auto}.hrd-image-variant-subfields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hrd-image-variant-batch-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hrd-image-variant-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-items:start;gap:8px}.hrd-image-variant-summary-card{display:grid;align-self:start;min-width:0;gap:8px;padding:10px;background:var(--hrd-panel);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-image-variant-summary-card--expanded{border-color:var(--hrd-primary)}.hrd-image-variant-summary-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.hrd-codex-reference-field{display:grid;min-width:0;gap:6px}.hrd-codex-reference-field__label,.hrd-codex-reference-preview-strip__label{color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.4}.hrd-codex-reference-preview-strip{display:grid;min-width:0;gap:5px;padding:6px;background:var(--hrd-panel-strong);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-codex-reference-preview-strip__items{display:flex;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:none}.hrd-codex-reference-preview-strip__items::-webkit-scrollbar{display:none}.hrd-codex-reference-preview-item{display:grid;flex:0 0 64px;gap:3px;min-width:0}.hrd-codex-reference-preview-item img,.hrd-codex-reference-preview-item__placeholder{display:grid;width:64px;height:64px;place-items:center;overflow:hidden;color:var(--hrd-muted);background:var(--hrd-panel);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);object-fit:cover;font-size:var(--hrd-font-small)}.hrd-codex-reference-preview-item__name{overflow:hidden;color:var(--hrd-text);font-size:var(--hrd-font-small);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.hrd-codex-image-config-modal .ant-modal-body,.hrd-codex-image-config-modal .ant-modal-content{min-width:0}.hrd-codex-image-config-modal .hrd-shared-modal-fields{display:grid;gap:8px;overflow-x:hidden}.hrd-codex-image-config-modal .ant-modal-wrap{top:0;right:0;bottom:0;left:0;overflow:hidden}.hrd-codex-image-config-modal .ant-modal{top:16px;max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);margin:0 auto}.hrd-codex-image-config-modal .ant-modal-container{display:flex;max-height:calc(100vh - 32px);flex-direction:column;overflow:hidden;padding:14px 16px 12px}.hrd-codex-image-config-modal .ant-modal-header{flex:0 0 auto;margin-bottom:8px}.hrd-codex-image-config-modal .ant-modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.hrd-codex-image-config-modal .ant-modal-body::-webkit-scrollbar{display:none}.hrd-codex-image-config-modal .ant-modal-footer{flex:0 0 auto;margin-top:10px}.hrd-codex-image-config-modal .hrd-shared-modal-field__label{min-height:30px;padding-top:4px}.hrd-codex-image-config-modal .hrd-image-variant-editor{padding:8px}.hrd-codex-image-config-modal [data-testid=codex-image-negative-prompt-preview],.hrd-codex-image-config-modal [data-testid=codex-image-positive-prompt-preview]{max-height:118px;resize:vertical}@media (max-width:1024px){.hrd-image-variant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.hrd-image-variant-batch-controls,.hrd-image-variant-grid,.hrd-image-variant-subfields,.hrd-image-variant-summary-grid{grid-template-columns:1fr}}@media (max-width:375px){.hrd-character-profile-panel,.hrd-image-variant-card,.hrd-image-variant-editor{padding:8px}.hrd-codex-reference-preview-item{flex-basis:56px}.hrd-codex-reference-preview-item img,.hrd-codex-reference-preview-item__placeholder{width:56px;height:56px}}.hrd-reference-order-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;cursor:grab;background:var(--hrd-panel);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);transition:border-color .16s ease,background-color .16s ease,opacity .16s ease}.hrd-reference-order-item:active{cursor:grabbing}.hrd-reference-order-item.is-dragging{opacity:.56}.hrd-reference-order-item.is-drop-target{background:var(--hrd-primary-surface);border-color:var(--hrd-primary)}.hrd-reference-thumbnail{display:grid;width:72px;height:88px;place-items:center;overflow:hidden;background:var(--hrd-panel-strong);border-radius:var(--hrd-radius-control)}.hrd-reference-thumbnail .ant-image,.hrd-reference-thumbnail .ant-image-img{width:100%;height:100%}.hrd-reference-thumbnail .ant-image-img{object-fit:contain}.hrd-reference-thumbnail-placeholder{padding:6px;color:var(--hrd-muted);font-size:var(--hrd-font-small);text-align:center}.hrd-reference-order-meta{display:grid;min-width:0;gap:4px}.hrd-reference-order-meta span,.hrd-reference-order-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-reference-order-meta span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-reference-baseline-modal .ant-modal{top:16px;padding-bottom:16px}.hrd-reference-baseline-modal .ant-modal-content{padding:14px 18px 12px}.hrd-reference-baseline-modal .ant-modal-header{margin-bottom:10px}.hrd-reference-baseline-modal .ant-modal-footer{margin-top:10px}.hrd-reference-baseline-modal .hrd-character-profile-panel{gap:8px;padding:8px}.hrd-reference-baseline-modal .hrd-character-profile-panel .hrd-form-grid{gap:8px 12px}.hrd-reference-baseline-modal .hrd-reference-order-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px}.hrd-reference-baseline-modal .hrd-reference-order-item{grid-template-columns:56px minmax(0,1fr) auto;gap:6px;padding:6px}.hrd-reference-baseline-modal .hrd-reference-thumbnail{width:56px;height:64px}.hrd-reference-baseline-modal .hrd-reference-composer-main{min-height:82px;gap:4px;padding:6px 12px}.hrd-reference-baseline-modal .hrd-reference-composer-main strong{font-size:var(--hrd-font-body)}.hrd-reference-baseline-modal .hrd-reference-composer-preview-strip{min-height:50px;gap:8px;padding:0}.hrd-reference-baseline-modal .hrd-reference-composer-empty{gap:3px}.hrd-reference-baseline-modal .hrd-reference-composer-empty>.anticon{font-size:var(--hrd-font-title)}.hrd-reference-baseline-modal .hrd-reference-composer-preview{flex-basis:58px;height:50px}.hrd-reference-baseline-modal .hrd-reference-composer-toolbar{min-height:36px;padding:2px 8px}@media (max-width:760px){.hrd-reference-baseline-modal .ant-modal{top:8px;padding-bottom:8px}.hrd-reference-baseline-modal .ant-modal-content{padding:12px}.hrd-reference-baseline-modal .ant-modal-wrap{scrollbar-width:none}.hrd-reference-baseline-modal .ant-modal-wrap::-webkit-scrollbar{display:none}.hrd-reference-baseline-modal .hrd-reference-order-list{grid-template-columns:1fr}}.hrd-media-manager-heading{width:100%;justify-content:space-between}.hrd-media-manager-heading-actions{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px}.hrd-media-manager-summary{margin-top:10px}.hrd-media-cover-control{display:grid;min-width:260px;gap:4px}.hrd-media-cover-control>span,.hrd-project-media-order-group>span,.hrd-project-media-visibility-control strong{color:var(--hrd-text);font-size:var(--hrd-font-body);font-weight:600}.hrd-project-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.hrd-project-media-card{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);overflow:hidden;background:var(--hrd-panel);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card)}.hrd-project-media-card-preview{display:grid;min-height:250px;place-items:center;overflow:hidden;background:var(--hrd-panel-strong)}.hrd-project-media-card-preview img{width:100%;height:100%;min-height:250px;object-fit:cover}.hrd-project-media-card-preview span{padding:12px;color:var(--hrd-muted);text-align:center}.hrd-project-media-card-body{display:grid;align-content:start;gap:10px;min-width:0;padding:14px}.hrd-project-media-card-body>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-project-media-card-body label{display:grid;gap:4px}.hrd-project-media-primary-controls{display:grid;gap:10px}.hrd-project-media-visibility-control{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--hrd-panel-strong);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-project-media-visibility-control>div{display:grid;min-width:0;gap:2px}.hrd-project-media-advanced>small,.hrd-project-media-visibility-control small{color:var(--hrd-muted);line-height:1.5}.hrd-project-media-advanced-toggle{justify-self:start;padding-inline:0}.hrd-project-media-advanced{display:grid;gap:10px;padding:10px;background:var(--hrd-panel-strong);border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control)}.hrd-project-media-order-groups{display:grid;gap:8px}.hrd-project-media-order-group{display:flex;align-items:center;justify-content:space-between;gap:8px}.hrd-project-media-order-group>div{display:flex;gap:6px}.hrd-media-warning{color:var(--hrd-gold)!important}@media (max-width:1024px){.hrd-project-media-grid{grid-template-columns:1fr}}@media (max-width:768px){.hrd-reference-dimension-grid{grid-template-columns:1fr}.hrd-reference-order-item{grid-template-columns:72px minmax(0,1fr) auto}.hrd-media-manager-heading{align-items:stretch;flex-direction:column}.hrd-media-manager-heading-actions{grid-template-columns:1fr}.hrd-media-cover-control{min-width:0}}@media (max-width:767px){.hrd-admin-content-display-grid,.hrd-reference-preview-grid{grid-template-columns:1fr}.hrd-admin-content-display-hero{flex-direction:column}.hrd-reference-preview-card{grid-template-columns:72px minmax(0,1fr) auto}.hrd-reference-preview-card img{width:72px;height:72px}}@media (max-width:375px){.hrd-reference-paste-zone{min-height:0}.hrd-reference-composer-title-row{align-items:flex-start;flex-direction:column}.hrd-reference-composer-title-row .ant-input-affix-wrapper{width:100%}.hrd-reference-composer-main{min-height:180px;padding-inline:12px}.hrd-project-media-card{grid-template-columns:1fr}.hrd-project-media-card-preview{height:240px;min-height:0}.hrd-project-media-card-preview img{height:100%;min-height:0}.hrd-project-media-order-group{align-items:flex-start;flex-direction:column}}.wedding-page{width:min(100%,var(--wedding-mobile-width));min-height:100vh;margin-inline:auto;padding:0 0 48px;overflow-x:hidden;color:var(--wedding-text);background:var(--wedding-background);box-shadow:var(--wedding-shadow-soft)}.wedding-page:has(.wedding-music-player){padding-bottom:calc(112px + env(safe-area-inset-bottom))}.wedding-page h1,.wedding-page h2,.wedding-page p{margin-top:0}.wedding-page h1,.wedding-page h2{font-family:var(--wedding-font-display)}.wedding-hero{position:relative;padding-bottom:4px}.wedding-hero-media{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden}.wedding-hero-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center 28%;filter:saturate(.82) contrast(.98) brightness(1.02)}.wedding-hero-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--wedding-accent);background:var(--wedding-surface-strong);font-size:44px}.wedding-hero-monogram{position:absolute;top:18px;right:18px;min-width:84px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding-inline:13px;border:1px solid var(--wedding-border);border-radius:999px;color:var(--wedding-accent-strong);background:var(--wedding-glass);font-family:var(--wedding-font-display);font-size:11px;letter-spacing:.14em;box-shadow:var(--wedding-shadow-soft)}.wedding-hero-monogram i{width:18px;height:1px;background:var(--wedding-accent)}.wedding-hero-details{position:relative;z-index:1;margin:-64px 16px 0;padding:28px 22px 24px;border-radius:var(--wedding-radius-card);text-align:center;background:var(--wedding-surface);box-shadow:var(--wedding-shadow)}.wedding-hero-details h1{display:flex;align-items:center;justify-content:center;gap:.2em;margin-bottom:0;color:var(--wedding-text);font-size:clamp(34px,10vw,48px);font-weight:500;letter-spacing:.04em;line-height:1.12;white-space:nowrap}.wedding-ampersand{color:var(--wedding-accent);font-size:.72em;font-style:italic;font-weight:400}.wedding-eyebrow{margin-bottom:10px;color:var(--wedding-accent);font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase}.wedding-hero-details .wedding-eyebrow{margin-bottom:12px}.wedding-event-facts{display:grid;gap:13px;margin-top:22px;padding-top:20px;border-top:1px solid var(--wedding-border)}.wedding-event-facts>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;color:var(--wedding-accent-strong);text-align:left}.wedding-event-facts>span>span{display:grid;gap:3px}.wedding-event-facts strong{color:var(--wedding-text);font-size:14px;font-weight:600;line-height:1.45}.wedding-event-facts small{color:var(--wedding-muted);font-size:12px;line-height:1.5}.wedding-section{width:calc(100% - 32px);margin:52px auto 0}.wedding-card{padding:28px 20px;border:1px solid var(--wedding-border);border-radius:var(--wedding-radius-card);background:var(--wedding-surface)}.wedding-section-heading{margin-bottom:22px}.wedding-invitation-copy h2,.wedding-section-heading h2{margin-bottom:10px;color:var(--wedding-text);font-size:clamp(30px,9vw,38px);font-weight:500;letter-spacing:.02em;line-height:1.24}.wedding-empty,.wedding-name-dialog p,.wedding-section-heading p:last-child{color:var(--wedding-muted)}.wedding-invitation-copy{padding-inline:8px;text-align:center}.wedding-section-rule{width:44px;height:1px;display:block;margin:20px auto 24px;background:var(--wedding-accent)}.wedding-invitation-copy>p:not(.wedding-eyebrow){margin-inline:auto;color:var(--wedding-muted);font-family:var(--wedding-font-display);font-size:17px;letter-spacing:.02em;line-height:2;white-space:pre-wrap}.wedding-invitation-copy address{display:grid;gap:8px;margin:28px 0 20px;padding:22px 12px;border-top:1px solid var(--wedding-border);border-bottom:1px solid var(--wedding-border);color:var(--wedding-text);font-style:normal}.wedding-invitation-copy address span{color:var(--wedding-muted);font-size:13px;line-height:1.6}.wedding-invitation-copy .ant-btn{min-height:44px;padding-inline:22px;border-color:var(--wedding-border);border-radius:999px;color:var(--wedding-accent-strong);background:var(--wedding-surface)}.wedding-gallery-section{width:100%}.wedding-gallery{display:grid;grid-auto-columns:86%;grid-auto-flow:column;padding:0 24px 8px;overflow-x:auto;scroll-padding-inline:24px;scroll-snap-type:x mandatory;scrollbar-width:none}.wedding-gallery::-webkit-scrollbar{display:none}.wedding-gallery img{width:100%;aspect-ratio:3/2;display:block;object-fit:cover;border-radius:var(--wedding-radius-card);scroll-snap-align:center}.wedding-gifts{position:relative;overflow:hidden;background:var(--wedding-surface)}.wedding-gifts .wedding-section-heading{text-align:center}.wedding-gift-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none}.wedding-gift-picker{position:relative;display:grid;grid-auto-columns:88px;grid-auto-flow:column;gap:10px;overflow-x:auto;margin-inline:-4px;padding:4px 4px 12px;scroll-snap-type:x proximity;scrollbar-width:none}.wedding-gift-picker::-webkit-scrollbar{display:none}.wedding-gift-picker>div{display:flex;flex:0 0 auto}.wedding-gift-button{min-width:88px;min-height:104px;display:grid;place-items:center;gap:5px;padding:12px 8px;border:1px solid var(--wedding-border);border-radius:22px;color:var(--wedding-text);background:var(--wedding-surface-strong);cursor:pointer;scroll-snap-align:start;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.wedding-gift-button:hover{border-color:var(--wedding-accent);background:var(--wedding-surface);transform:translateY(-2px)}.wedding-gift-button:focus-visible{outline:none;box-shadow:var(--hrd-focus)}.wedding-gift-button>span{font-size:24px}.wedding-gift-button small{color:var(--wedding-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wedding-gift-button.is-heart>span,.wedding-particle.is-heart{color:var(--wedding-heart)}.wedding-gift-button.is-flower>span,.wedding-particle.is-flower{color:var(--wedding-flower)}.wedding-gift-button.is-candy>span,.wedding-particle.is-candy{color:var(--wedding-candy)}.wedding-gift-button.is-cake>span,.wedding-particle.is-cake{color:var(--wedding-cake)}.wedding-gift-button.is-firework>span,.wedding-particle.is-firework{color:var(--wedding-firework)}.wedding-gift-button.is-champagne>span,.wedding-particle.is-champagne{color:var(--wedding-champagne)}.wedding-gift-summary,.wedding-my-gifts{position:relative;display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:20px;color:var(--wedding-muted)}.wedding-gift-summary strong{color:var(--wedding-accent-strong);font-size:32px}.wedding-my-gifts{align-items:center;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--wedding-border);border-radius:var(--wedding-radius-control);background:var(--wedding-surface-strong)}.wedding-my-gifts strong{color:var(--wedding-text)}.wedding-particle{position:absolute;left:50%;top:58%;z-index:2;font-size:30px;opacity:0;will-change:transform,opacity}.wedding-particle.is-slot-0{left:12%}.wedding-particle.is-slot-1{left:28%;top:46%}.wedding-particle.is-slot-2{left:42%}.wedding-particle.is-slot-3{left:58%;top:42%}.wedding-particle.is-slot-4{left:72%}.wedding-particle.is-slot-5{left:86%;top:48%}.wedding-particle.is-heart{animation:wedding-heart-rise 1.65s ease-out forwards}.wedding-particle.is-flower{animation:wedding-flower-fall 1.8s ease-in forwards}.wedding-particle.is-candy{animation:wedding-candy-sparkle 1.15s ease-out forwards}.wedding-particle.is-cake{animation:wedding-candle-glow 1.35s ease-in-out forwards}.wedding-particle.is-firework{animation:wedding-firework-bloom 1.35s ease-out forwards}.wedding-particle.is-champagne{animation:wedding-champagne-bubble 1.55s ease-out forwards}@keyframes wedding-heart-rise{0%{opacity:0;transform:translate3d(0,18px,0) scale(.7)}20%{opacity:1}to{opacity:0;transform:translate3d(12px,-150px,0) scale(1.2)}}@keyframes wedding-flower-fall{0%{opacity:0;transform:translate3d(-20px,-100px,0) rotate(0deg)}18%{opacity:1}to{opacity:0;transform:translate3d(32px,130px,0) rotate(160deg)}}@keyframes wedding-candy-sparkle{0%{opacity:0;transform:scale(.45) rotate(-12deg)}48%{opacity:1;transform:scale(1.35) rotate(10deg)}to{opacity:0;transform:scale(.75) rotate(0deg)}}@keyframes wedding-candle-glow{0%{opacity:0;transform:translate3d(0,8px,0) scale(.7)}50%{opacity:1;transform:translate3d(0,-18px,0) scale(1.25)}to{opacity:0;transform:translate3d(0,-38px,0) scale(.85)}}@keyframes wedding-firework-bloom{0%{opacity:0;transform:scale(.2) rotate(0deg)}52%{opacity:1;transform:scale(1.65) rotate(55deg)}to{opacity:0;transform:scale(2.1) rotate(100deg)}}@keyframes wedding-champagne-bubble{0%{opacity:0;transform:translate3d(0,20px,0) scale(.55)}25%{opacity:1}to{opacity:0;transform:translate3d(-12px,-130px,0) scale(1.15)}}.wedding-ranking-list{display:grid;gap:8px;margin:0 0 20px;padding:0;list-style:none}.wedding-ranking-list li{min-height:56px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid var(--wedding-border)}.wedding-ranking-list li>span:last-child{color:var(--wedding-accent-strong);font-weight:700}.wedding-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;color:var(--wedding-muted);background:var(--wedding-surface-strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wedding-blessing-form{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:28px}.wedding-blessing-form label,.wedding-name-dialog label{display:grid;gap:8px;color:var(--wedding-text);font-weight:600}.wedding-blessing-form .ant-input,.wedding-blessing-form .ant-input-affix-wrapper,.wedding-blessing-form .ant-input-textarea-affix-wrapper{border-color:var(--wedding-border);border-radius:var(--wedding-radius-control);color:var(--wedding-text);background:var(--wedding-surface-strong)}.wedding-blessing-form .ant-btn{min-height:48px;border-radius:var(--wedding-radius-control)}.wedding-blessing-form .ant-btn-primary{border-color:var(--wedding-accent-strong)!important;color:var(--wedding-overlay-text);background:var(--wedding-accent-strong)!important;box-shadow:var(--wedding-shadow-soft)}.wedding-blessing-form .ant-btn-primary:hover{border-color:var(--wedding-accent)!important;background:var(--wedding-accent)!important}.wedding-honeypot{position:absolute;left:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}.wedding-blessing-wall{display:grid;grid-template-columns:1fr;gap:14px}.wedding-blessing-wall article{min-height:124px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--wedding-border);border-radius:var(--wedding-radius-control);background:var(--wedding-surface-strong)}.wedding-blessing-wall article p{line-height:1.7;white-space:pre-wrap}.wedding-blessing-wall footer{color:var(--wedding-muted);text-align:right}.wedding-loading{min-height:120px;display:grid;place-items:center}.wedding-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:52px 20px 8px;color:var(--wedding-accent);font-family:var(--wedding-font-display);letter-spacing:.08em}.wedding-status{position:fixed;z-index:10;left:50%;bottom:18px;max-width:calc(100vw - 32px);min-height:0;padding:10px 16px;border-radius:var(--wedding-radius-control);color:var(--wedding-overlay-text);background:var(--wedding-overlay);transform:translateX(-50%);pointer-events:none}.wedding-status:empty{display:none}.wedding-music-player{position:fixed;z-index:20;left:50%;bottom:max(8px,env(safe-area-inset-bottom));width:min(calc(100% - 32px),400px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 18px;column-gap:8px;row-gap:2px;padding:8px 10px 9px;border:1px solid var(--wedding-border);border-radius:var(--wedding-radius-control);color:var(--wedding-text);background:var(--wedding-glass);box-shadow:var(--wedding-shadow-soft);transform:translateX(-50%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.wedding-music-summary{min-width:0;display:grid;align-items:center}.wedding-music-title{width:100%;min-width:0;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0;overflow:hidden;border:0;border-radius:var(--wedding-radius-control);color:inherit;text-align:left;background:transparent;cursor:pointer}.wedding-music-title>span:first-child{flex:0 0 auto;color:var(--wedding-accent-strong);font-size:15px}.wedding-music-title>span:last-child{min-width:0;display:grid;gap:1px}.wedding-music-title small,.wedding-music-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-music-title strong{color:var(--wedding-text);font-family:var(--wedding-font-display);font-size:15px;font-weight:500;letter-spacing:.08em}.wedding-music-title small{min-width:0;display:flex;align-items:center;gap:5px;color:var(--wedding-muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wedding-music-state{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-music-controls{display:flex;align-items:center;justify-content:center;gap:2px}.wedding-music-controls button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--wedding-radius-pill);color:var(--wedding-accent-strong);background:transparent;cursor:pointer;transition:color .18s ease,background-color .18s ease}.wedding-music-controls button:hover{color:var(--wedding-text);background:var(--wedding-surface-strong)}.wedding-music-controls button:disabled{color:var(--wedding-muted);cursor:not-allowed}.wedding-music-controls .wedding-music-primary{border-color:var(--wedding-accent-strong);color:var(--wedding-overlay-text);background:var(--wedding-accent-strong);font-size:17px}.wedding-music-controls .wedding-music-primary:hover{border-color:var(--wedding-accent);color:var(--wedding-overlay-text);background:var(--wedding-accent)}.wedding-music-controls button:focus-visible,.wedding-music-progress input:focus-visible,.wedding-music-title:focus-visible,.wedding-music-track-list button:focus-visible{outline:2px solid var(--wedding-accent-strong);outline-offset:2px}.wedding-music-progress{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--wedding-muted);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wedding-music-progress input{width:100%;min-height:18px;margin:0;accent-color:var(--wedding-accent-strong);cursor:pointer}.wedding-music-progress span{white-space:nowrap}.wedding-music-progress input:disabled{cursor:not-allowed}.wedding-music-track-list{position:absolute;right:0;bottom:calc(100% + 8px);left:0;display:grid;gap:2px;padding:6px;border:1px solid var(--wedding-border);border-radius:var(--wedding-radius-control);color:var(--wedding-text);background:var(--wedding-glass);box-shadow:var(--wedding-shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.wedding-music-track-list button{min-height:44px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 9px;border:1px solid transparent;border-radius:var(--wedding-radius-control);color:var(--wedding-muted);text-align:left;background:transparent;cursor:pointer}.wedding-music-track-list button.is-current,.wedding-music-track-list button:hover{border-color:var(--wedding-border);color:var(--wedding-text);background:var(--wedding-surface-strong)}.wedding-music-track-list strong{overflow:hidden;color:inherit;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.wedding-music-track-list small,.wedding-music-track-list span{color:inherit;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wedding-music-player audio{display:none}.wedding-page:has(.wedding-music-player) .wedding-status{bottom:calc(104px + env(safe-area-inset-bottom))}.wedding-name-dialog{display:grid;gap:14px}.wedding-unavailable{display:grid;place-items:center}.wedding-unavailable .wedding-card{max-width:540px;text-align:center}@media (min-width:481px){.wedding-page{margin-block:24px;overflow:hidden;border-radius:32px}}@media (max-width:375px){.wedding-hero-details{margin-inline:12px;padding-inline:17px}.wedding-hero-details h1{font-size:33px}.wedding-card{padding:26px 17px}.wedding-section{width:calc(100% - 24px)}.wedding-gallery-section{width:100%}.wedding-event-facts{gap:11px}.wedding-name-modal .ant-input,.wedding-name-modal .ant-modal-close,.wedding-name-modal .ant-modal-footer .ant-btn{min-height:44px}.wedding-name-modal .ant-modal-close,.wedding-name-modal .ant-modal-footer .ant-btn{min-width:44px}.wedding-gift-picker{margin-inline:-4px;padding-inline:4px;scroll-snap-type:x proximity}.wedding-gift-button{min-height:104px;scroll-snap-align:start}.wedding-gift-summary{align-items:center;flex-direction:column;gap:2px;text-align:center}}@media (prefers-reduced-motion:reduce){.wedding-gift-button,.wedding-music-controls button,.wedding-particle{animation:none;transition:none}.wedding-particle{opacity:.5;transform:none}}.wedding-page.wedding-theme-cinematic_light{--wedding-background:var(--wedding-theme-cinematic-background);--wedding-surface:var(--wedding-theme-cinematic-surface);--wedding-text:var(--wedding-theme-cinematic-ink);--wedding-accent:var(--wedding-theme-cinematic-accent);--wedding-accent-strong:var(--wedding-theme-cinematic-accent)}.wedding-page.wedding-theme-couture_monochrome{--wedding-background:var(--wedding-theme-monochrome-background);--wedding-surface:var(--wedding-theme-monochrome-surface);--wedding-text:var(--wedding-theme-monochrome-ink);--wedding-accent:var(--wedding-theme-monochrome-accent);--wedding-accent-strong:var(--wedding-theme-monochrome-ink)}.wedding-page.wedding-theme-paper_theater{--wedding-background:var(--wedding-theme-paper-background);--wedding-surface:var(--wedding-theme-paper-surface);--wedding-text:var(--wedding-theme-paper-ink);--wedding-accent:var(--wedding-theme-paper-accent);--wedding-accent-strong:var(--wedding-theme-paper-ink)}.wedding-page.wedding-theme-celestial_garden{--wedding-background:var(--wedding-theme-celestial-background);--wedding-surface:var(--wedding-theme-celestial-surface);--wedding-text:var(--wedding-theme-celestial-ink);--wedding-accent:var(--wedding-theme-celestial-accent);--wedding-accent-strong:var(--wedding-theme-celestial-ink)}.wedding-page.wedding-theme-eastern_void{--wedding-background:var(--wedding-theme-eastern-background);--wedding-surface:var(--wedding-theme-eastern-surface);--wedding-text:var(--wedding-theme-eastern-ink);--wedding-accent:var(--wedding-theme-eastern-accent);--wedding-accent-strong:var(--wedding-theme-eastern-ink)}.wedding-hero{padding-bottom:0}.wedding-hero-media{aspect-ratio:.78;isolation:isolate;background:var(--wedding-surface-muted)}.wedding-hero-image{opacity:.9;filter:saturate(.74) contrast(1.02) brightness(1.04)}.wedding-hero-media:after{position:absolute;inset:0;z-index:1;content:"";border:1px solid var(--wedding-overlay-border);pointer-events:none}.wedding-theme-stage{position:relative;min-height:112px;margin:18px 18px 0;overflow:hidden;isolation:isolate;border-top:1px solid var(--wedding-border);border-bottom:1px solid var(--wedding-border)}.wedding-3d-scene{position:relative;width:100%;height:112px;pointer-events:none;opacity:1}.wedding-3d-canvas,.wedding-3d-static-art{position:absolute;inset:0;width:100%;height:100%}.wedding-3d-static-art{display:grid;place-items:center;opacity:.9}.wedding-3d-static-plane{position:absolute;display:block;box-sizing:border-box;border:1px solid var(--wedding-border);border-radius:var(--wedding-radius-control);transform-style:preserve-3d}.wedding-3d-static-plane-back{width:68%;height:56%;transform:perspective(280px) rotateY(-18deg) rotate(-4deg) translateX(-12%);opacity:.68}.wedding-3d-static-plane-mid{width:48%;height:76%;border-color:var(--wedding-accent);transform:perspective(280px) rotateY(24deg) rotate(8deg) translateX(24%);opacity:.56}.wedding-3d-static-plane-front{width:22%;height:32%;border-color:var(--wedding-accent);background:var(--wedding-accent);transform:perspective(280px) rotateY(-32deg) rotate(-10deg) translateX(150%);opacity:.22}.wedding-theme-stage .wedding-3d-scene-couture_monochrome .wedding-3d-static-plane-mid{border-color:var(--wedding-text)}.wedding-theme-stage .wedding-3d-scene-paper_theater .wedding-3d-static-plane-back{border-radius:var(--wedding-radius-card)}.wedding-theme-stage .wedding-3d-scene-celestial_garden .wedding-3d-static-plane-front{border-radius:50%}.wedding-theme-stage .wedding-3d-scene-eastern_void .wedding-3d-static-plane-mid{border-radius:50%;border-color:var(--wedding-text)}.wedding-hero-details{margin:-72px 18px 0;padding:24px 20px 20px;border:1px solid var(--wedding-border);background:var(--wedding-glass);box-shadow:var(--wedding-shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wedding-hero-details h1{font-size:clamp(32px,9.8vw,46px);letter-spacing:.02em}.wedding-hero-details .wedding-eyebrow{letter-spacing:.22em}.wedding-theme-caption{margin:16px 0 0;color:var(--wedding-muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.wedding-chapter-label{margin-bottom:8px;color:var(--wedding-accent);font-family:var(--wedding-font-display);font-size:10px;letter-spacing:.24em}.wedding-section{margin-top:64px}.wedding-card{border-width:1px 0;border-radius:0}.wedding-invitation-copy{padding-inline:24px}.wedding-invitation-copy h2,.wedding-section-heading h2{letter-spacing:-.015em}.wedding-gallery-section .wedding-section-heading{margin-inline:24px}.wedding-gallery{grid-auto-columns:79%;gap:18px;padding-inline:24px}.wedding-gallery img{border-radius:4px}.wedding-gifts{border-top-color:var(--wedding-accent)}.wedding-gift-button{min-height:92px;border-radius:8px}.wedding-gift-picker{grid-auto-columns:76px;gap:8px}.wedding-page:has(.wedding-turntable-player){padding-bottom:calc(142px + env(safe-area-inset-bottom))}.wedding-turntable-player{position:fixed;z-index:24;right:max(12px,calc((100vw - var(--wedding-mobile-width)) / 2 + 12px));bottom:max(10px,env(safe-area-inset-bottom));pointer-events:none}.wedding-turntable-control{position:relative;display:block;padding:0;overflow:hidden;border:1px solid var(--wedding-border);border-radius:18px;color:var(--wedding-text);background:var(--wedding-glass);cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wedding-turntable-control:focus-visible{outline:2px solid var(--wedding-accent);outline-offset:3px}.wedding-turntable-platter{position:absolute;top:11px;width:82px;height:82px;display:grid;place-items:center;border:1px solid var(--wedding-border);border-radius:50%;background:var(--wedding-surface-muted)}.wedding-turntable-record{position:relative;width:67px;height:67px;display:grid;place-items:center;border:1px solid var(--wedding-accent-strong);border-radius:50%}.wedding-turntable-record:after,.wedding-turntable-record:before{position:absolute;inset:8px;border:1px solid var(--wedding-overlay-muted);border-radius:50%;content:"";opacity:.32}.wedding-turntable-record:after{inset:17px;opacity:.24}.wedding-turntable-label{position:relative;z-index:1;width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--wedding-accent);border-radius:50%;font-size:5px;letter-spacing:.06em}.wedding-turntable-control.is-playing .wedding-turntable-record{animation:wedding-record-spin 4.8s linear infinite}@keyframes wedding-record-spin{to{transform:rotate(1turn)}}.wedding-turntable-tonearm{position:absolute;top:6px;left:64px;width:90px;height:82px;overflow:visible;transform:rotate(13deg);transform-origin:88px 10px;transition:transform .52s cubic-bezier(.22,.76,.25,1)}.wedding-turntable-control.is-playing .wedding-turntable-tonearm{transform:rotate(0deg)}.wedding-turntable-arm-shadow{fill:none;stroke:var(--wedding-overlay);stroke-linecap:round;stroke-width:8;opacity:.24}.wedding-turntable-arm{fill:none;stroke:var(--wedding-text);stroke-linecap:round;stroke-width:5}.wedding-turntable-pivot{fill:var(--wedding-surface);stroke:var(--wedding-accent-strong);stroke-width:2}.wedding-turntable-cartridge{fill:var(--wedding-accent-strong)}.wedding-turntable-caption{position:absolute;right:11px;left:104px;display:grid;gap:2px;min-width:0;text-align:left}.wedding-turntable-caption small,.wedding-turntable-caption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-turntable-caption strong{color:var(--wedding-text);font-family:var(--wedding-font-display);font-size:13px;font-weight:600;letter-spacing:.08em}.wedding-turntable-caption small{color:var(--wedding-muted);font-size:9px;letter-spacing:.14em}.wedding-turntable-status-dot{position:absolute;top:16px;right:14px;width:6px;height:6px;border-radius:50%;background:var(--wedding-muted)}.wedding-turntable-control.is-playing .wedding-turntable-status-dot{background:var(--wedding-accent)}.wedding-turntable-audio,.wedding-turntable-time{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wedding-page:has(.wedding-turntable-player) .wedding-status{bottom:calc(132px + env(safe-area-inset-bottom))}@media (max-width:375px){.wedding-turntable-control,.wedding-turntable-player{width:184px}.wedding-turntable-control{height:110px}.wedding-turntable-platter{transform:scale(.94);transform-origin:left top}.wedding-turntable-tonearm{left:60px}.wedding-turntable-caption{left:99px}}@media (prefers-reduced-motion:reduce){.wedding-turntable-control.is-playing .wedding-turntable-record{animation:none}.wedding-turntable-tonearm{transition:none}}.wedding-hero{padding:12px 12px 0;background:var(--wedding-background)}.wedding-hero-canvas{position:relative;min-height:610px;overflow:hidden;padding:16px 14px 14px 28px;border:1px solid var(--wedding-border);border-radius:3px 3px 18px 18px;background:var(--wedding-surface);box-shadow:var(--wedding-shadow-soft)}.wedding-hero-rail{position:absolute;top:0;bottom:0;left:14px;width:1px;background:var(--wedding-accent);opacity:.72}.wedding-hero-footer,.wedding-hero-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--wedding-muted);font-size:9px;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}.wedding-hero-footer span:last-child,.wedding-hero-header span:last-child{color:var(--wedding-accent-strong);white-space:nowrap}.wedding-hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(126px,.42fr) minmax(0,.58fr);align-items:start;gap:12px;margin-top:26px}.wedding-hero-editorial{display:grid;align-content:start;min-width:0;padding-top:20px}.wedding-hero-display-title{display:grid;gap:0;margin:0 0 16px;color:var(--wedding-text);font-family:var(--wedding-font-display);font-size:clamp(31px,8.4vw,42px);font-weight:500;letter-spacing:.16em;line-height:1.08;text-align:left}.wedding-hero-display-title span:last-child{color:var(--wedding-accent-strong)}.wedding-hero-editorial h1{display:grid;justify-items:start;gap:1px;margin:0;color:var(--wedding-text);font-size:clamp(34px,9.8vw,48px);font-weight:500;letter-spacing:.05em;line-height:1.16;white-space:normal;word-break:keep-all}.wedding-hero-editorial h1 .wedding-ampersand{margin:5px 0 2px 9px;color:var(--wedding-accent-strong);font-size:.56em;letter-spacing:0}.wedding-hero-rule{width:28px;height:2px;display:block;margin:25px 0 22px;background:var(--wedding-accent-strong)}.wedding-hero-facts{display:grid;gap:17px;min-width:0}.wedding-hero-facts>span{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:7px;min-width:0;color:var(--wedding-accent-strong)}.wedding-hero-facts>span>span{display:grid;gap:2px;min-width:0}.wedding-hero-facts>span>svg{margin-top:2px;font-size:12px}.wedding-hero-facts small,.wedding-hero-facts strong{display:block;overflow:hidden;text-align:left;text-overflow:ellipsis}.wedding-hero-facts strong{color:var(--wedding-text);font-size:11px;font-weight:600;line-height:1.45}.wedding-hero-facts small{margin-top:2px;color:var(--wedding-muted);font-size:10px;line-height:1.45;white-space:normal}.wedding-hero-note{max-width:118px;margin:26px 0 0;padding-top:13px;border-top:1px solid var(--wedding-border);color:var(--wedding-muted);font-family:var(--wedding-font-display);font-size:12px;line-height:1.8}.wedding-hero-portrait{position:relative;min-width:0;margin:0;padding:7px 7px 10px;border:1px solid var(--wedding-border);background:var(--wedding-surface-muted);box-shadow:var(--wedding-shadow-soft);transform:rotate(1.2deg);transform-origin:50% 18%}.wedding-hero-portrait .wedding-hero-fallback,.wedding-hero-portrait .wedding-hero-image{width:100%;aspect-ratio:.8;display:block;object-fit:cover;object-position:64% center}.wedding-hero-portrait .wedding-hero-image{opacity:1;filter:none}.wedding-hero-portrait figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;color:var(--wedding-muted);font-size:8px;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}.wedding-hero-portrait figcaption span:first-child{color:var(--wedding-accent-strong)}.wedding-hero-footer{margin-top:18px;padding-top:12px;border-top:1px solid var(--wedding-border)}.wedding-hero-footer span:first-child{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-theme-stage{min-height:84px;margin:16px 28px 0;border-top-color:var(--wedding-border);border-bottom-color:var(--wedding-border);background:var(--wedding-surface-muted)}.wedding-3d-scene{height:84px;opacity:.76}.wedding-hero+.wedding-theme-stage .wedding-3d-static-plane{border-radius:2px}.wedding-section{width:calc(100% - 40px);margin-top:52px}.wedding-invitation-copy{padding-inline:4px;text-align:left}.wedding-invitation-copy h2,.wedding-section-heading h2{font-size:clamp(27px,8.4vw,36px);line-height:1.28}.wedding-invitation-copy .wedding-section-rule{margin-left:0}.wedding-invitation-copy>p:not(.wedding-eyebrow){max-width:38em;margin-inline:0;font-size:16px;line-height:1.95}.wedding-invitation-copy address{justify-items:start;padding-inline:0}.wedding-section-heading{margin-bottom:18px}.wedding-section-heading p:last-child{max-width:30em;line-height:1.7}.wedding-gallery-section .wedding-section-heading{margin-inline:20px}.wedding-gallery{grid-auto-columns:82%;gap:12px;padding-inline:20px}.wedding-gallery img{border-radius:2px}.wedding-card,.wedding-gallery img{box-shadow:var(--wedding-shadow-soft)}.wedding-card{padding:26px 20px;border-color:var(--wedding-border);border-radius:3px}.wedding-gifts{border-top-color:var(--wedding-accent-strong)}.wedding-gift-button{min-width:76px;min-height:90px;border-radius:2px;background:var(--wedding-surface)}.wedding-gift-button:focus-visible,.wedding-gift-button:hover{border-color:var(--wedding-accent-strong);background:var(--wedding-surface-muted)}.wedding-turntable-player{right:max(10px,calc((100vw - var(--wedding-mobile-width)) / 2 + 10px));bottom:max(8px,env(safe-area-inset-bottom));width:190px;height:114px}.wedding-turntable-control{width:190px;height:114px;border:1px solid var(--wedding-overlay-border);border-radius:12px;color:var(--wedding-overlay-text);background:var(--wedding-overlay);box-shadow:var(--wedding-shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.wedding-turntable-platter{top:14px;left:12px;width:78px;height:78px;border-color:var(--wedding-overlay-border);background:var(--wedding-overlay-surface)}.wedding-turntable-record{width:64px;height:64px;border-color:var(--wedding-overlay-muted);background:var(--wedding-text);box-shadow:var(--wedding-shadow-soft)}.wedding-turntable-label{width:19px;height:19px;border-color:var(--wedding-accent);color:var(--wedding-text);background:var(--wedding-surface)}.wedding-turntable-caption{right:12px;bottom:15px;left:101px}.wedding-turntable-caption strong{color:var(--wedding-overlay-text);font-size:12px}.wedding-turntable-caption small{color:var(--wedding-overlay-muted)}.wedding-turntable-tonearm{left:60px}.wedding-turntable-arm-shadow{stroke:var(--wedding-text);opacity:.36}.wedding-turntable-arm{stroke:var(--wedding-overlay-text)}.wedding-turntable-pivot{fill:var(--wedding-overlay);stroke:var(--wedding-accent)}.wedding-turntable-cartridge{fill:var(--wedding-accent)}.wedding-page:has(.wedding-turntable-player){padding-bottom:calc(136px + env(safe-area-inset-bottom))}@media (max-width:375px){.wedding-hero-canvas{min-height:574px;padding-left:24px}.wedding-hero-layout{grid-template-columns:minmax(112px,.4fr) minmax(0,.6fr);gap:9px}.wedding-hero-editorial h1{font-size:clamp(31px,9.4vw,41px)}.wedding-hero-display-title{font-size:clamp(28px,8vw,36px)}.wedding-hero-note{max-width:105px;font-size:11px}.wedding-theme-stage{margin-inline:24px}.wedding-turntable-control,.wedding-turntable-player{width:184px}.wedding-turntable-control{height:110px}}@scope (.wedding-groom-editorial){.wedding-page{position:relative;width:min(100%,var(--wedding-mobile-width));padding-bottom:calc(122px + env(safe-area-inset-bottom));overflow-x:clip}.wedding-hero,.wedding-page{background:var(--wedding-background)}.wedding-hero{min-height:min(780px,100svh);padding:0}.wedding-hero-canvas{position:relative;min-height:min(780px,100svh);height:min(780px,100svh);padding:18px 22px;overflow:hidden;border:0;border-radius:0 0 var(--wedding-radius-card) var(--wedding-radius-card);background:var(--wedding-surface);box-shadow:var(--wedding-shadow);isolation:isolate;animation:wedding-opening-reveal .86s cubic-bezier(.22,.76,.26,1) both}.wedding-theme-stage{position:absolute;z-index:0;inset:0;min-height:100%;margin:0;overflow:hidden;border:0;background:var(--wedding-surface-muted);pointer-events:none}.wedding-theme-stage:after,.wedding-theme-stage:before{position:absolute;display:block;box-sizing:border-box;content:"";pointer-events:none}.wedding-theme-stage:before{inset:9% 7% 7% 10%;border:1px solid var(--wedding-overlay-border);background:var(--wedding-overlay-surface);opacity:.16;transform:perspective(900px) rotateY(-13deg) translateZ(-18px)}.wedding-theme-stage:after{top:12%;right:10%;bottom:16%;width:1px;background:var(--wedding-accent);opacity:.52;transform:rotate(8deg);transform-origin:center}.wedding-3d-canvas,.wedding-3d-scene,.wedding-3d-static-art{width:100%;height:100%}.wedding-3d-scene{opacity:.94}.wedding-3d-static-art{position:absolute;inset:0;overflow:hidden;opacity:.82}.wedding-3d-static-plane{position:absolute;display:block;box-sizing:border-box;border:1px solid var(--wedding-border);border-radius:0;transform-style:preserve-3d}.wedding-3d-static-plane-back{inset:10% 15% 8% 11%;transform:perspective(900px) rotateY(-12deg) rotateX(3deg);box-shadow:var(--wedding-shadow-soft)}.wedding-3d-static-plane-mid{inset:16% 23% 14% 23%;border-color:var(--wedding-accent);transform:perspective(900px) rotateY(10deg) rotateX(-2deg) translateZ(18px);opacity:.68}.wedding-3d-static-plane-front{inset:24% 31% 23% 34%;border-color:var(--wedding-accent-strong);background:var(--wedding-surface);transform:perspective(900px) rotateY(-7deg) translateZ(34px);opacity:.34}.wedding-hero-rail{position:absolute;z-index:4;inset:18px auto 18px 16px;width:1px;background:var(--wedding-accent);opacity:.82}.wedding-hero-footer,.wedding-hero-header{position:relative;z-index:5}.wedding-hero-header{padding-left:12px}.wedding-hero-layout{position:relative;z-index:2;display:block;height:calc(100% - 76px);margin-top:0}.wedding-hero-portrait{position:absolute;z-index:1;inset:60px 0 0 42px;width:auto;height:calc(100% - 60px);margin:0;padding:0;overflow:hidden;border:1px solid var(--wedding-border);background:var(--wedding-surface-muted);box-shadow:var(--wedding-shadow);transform:none}.wedding-hero-portrait:after,.wedding-hero-portrait:before{position:absolute;z-index:2;content:"";pointer-events:none}.wedding-hero-portrait:before{inset:10px;border:1px solid var(--wedding-overlay-border)}.wedding-hero-portrait:after{inset:20px 16px 52px;border-left:1px solid var(--wedding-accent);opacity:.72}.wedding-hero-portrait .wedding-hero-fallback,.wedding-hero-portrait .wedding-hero-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center 46%}.wedding-hero-portrait figcaption{position:absolute;z-index:3;right:18px;bottom:16px;left:18px;padding-top:10px;border-top:1px solid var(--wedding-overlay-border);color:var(--wedding-overlay-text)}.wedding-hero-editorial{position:absolute;z-index:4;top:72px;left:0;width:48%;min-height:360px;padding:26px 18px 22px 12px;border-left:2px solid var(--wedding-accent);background:var(--wedding-glass);box-shadow:var(--wedding-shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wedding-hero-display-title{margin-bottom:22px;font-size:clamp(34px,10vw,50px);letter-spacing:.16em}.wedding-hero-editorial h1{font-size:clamp(29px,8vw,42px);line-height:1.2}.wedding-hero-editorial h1 .wedding-ampersand{margin-left:6px}.wedding-hero-facts{gap:14px}.wedding-hero-facts strong{font-size:10px}.wedding-hero-facts small{font-size:9px}.wedding-hero-note{margin-top:22px;font-size:11px}.wedding-hero-footer{margin-top:-14px;padding-left:12px;border-top-color:var(--wedding-overlay-border);color:var(--wedding-overlay-text)}.wedding-hero-footer span:first-child{color:var(--wedding-overlay-muted)}.wedding-hero-footer span:last-child{color:var(--wedding-accent)}.wedding-section{width:calc(100% - 48px);margin-top:88px;background:transparent}.wedding-section-heading{margin-bottom:26px}.wedding-invitation-copy h2,.wedding-section-heading h2{font-size:clamp(30px,9vw,40px);line-height:1.18}.wedding-invitation-copy{padding:0 0 18px;border-top:1px solid var(--wedding-border);text-align:left}.wedding-invitation-copy .wedding-chapter-label{margin-top:18px}.wedding-invitation-copy>p:not(.wedding-eyebrow):not(.wedding-chapter-label){max-width:34em;font-size:16px;line-height:1.9}.wedding-invitation-copy address{justify-items:start;margin-top:30px;padding:18px 0}.wedding-gallery-section{width:calc(100% - 32px)}.wedding-gallery-section .wedding-section-heading{margin-inline:16px}.wedding-gallery{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-rows:1fr .7fr;gap:10px;padding:0 16px;overflow:visible}.wedding-gallery img{width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:0;object-fit:cover;box-shadow:var(--wedding-shadow-soft)}.wedding-gallery img:first-child{grid-row:1/span 2;min-height:300px}.wedding-gallery img:last-child{transform:translateY(24px)}.wedding-card{border:0;border-radius:0;background:transparent;box-shadow:var(--wedding-shadow-none)}.wedding-gifts{width:100%;margin-top:112px;padding:62px 24px 48px;border-top:1px solid var(--wedding-accent);border-bottom:1px solid var(--wedding-border);background:var(--wedding-surface)}.wedding-gifts .wedding-section-heading{text-align:left}.wedding-gift-console{position:relative;min-height:218px;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:18px;padding:26px 0;border-top:1px solid var(--wedding-border);border-bottom:1px solid var(--wedding-border)}.wedding-gift-console-emblem{width:106px;height:106px;display:grid;place-items:center;border:1px solid var(--wedding-accent);border-radius:50%;color:var(--wedding-accent-strong);background:var(--wedding-surface-muted);box-shadow:var(--wedding-shadow-soft);font-size:48px}.wedding-gift-console-copy{min-width:0;display:grid;gap:5px;padding-right:48px}.wedding-gift-console-copy small,.wedding-gift-console-copy span{color:var(--wedding-muted);font-size:10px;letter-spacing:.16em}.wedding-gift-console-copy strong{color:var(--wedding-text);font-family:var(--wedding-font-display);font-size:28px;font-weight:500;letter-spacing:.08em}.wedding-gift-console-action{position:absolute;right:0;bottom:28px;width:58px;height:58px;display:grid;place-items:center;padding:0;border:1px solid var(--wedding-accent-strong);border-radius:50%;color:var(--wedding-overlay-text);background:var(--wedding-accent-strong);cursor:pointer;font-size:24px;transition:transform .18s ease,background-color .18s ease}.wedding-gift-console-action:focus-visible,.wedding-gift-console-action:hover{background:var(--wedding-accent);transform:translateY(-2px)}.wedding-gift-button:focus-visible,.wedding-gift-celebration-close:focus-visible,.wedding-gift-console-action:focus-visible{outline:2px solid var(--wedding-accent-strong);outline-offset:3px}.wedding-gift-picker{display:flex;gap:2px;margin:20px -6px 0;padding:0 6px 8px;overflow-x:auto;scrollbar-width:none}.wedding-gift-picker::-webkit-scrollbar{display:none}.wedding-gift-button{min-width:58px;min-height:72px;display:grid;place-items:center;gap:3px;padding:7px 6px;border:0;border-bottom:1px solid transparent;border-radius:0;color:var(--wedding-muted);background:transparent;cursor:pointer;transition:color .18s ease,border-color .18s ease,transform .18s ease}.wedding-gift-button>span{font-size:20px}.wedding-gift-button strong{font-size:10px;font-weight:600}.wedding-gift-button small{color:inherit;font-size:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wedding-gift-button.is-selected,.wedding-gift-button:hover{border-bottom-color:var(--wedding-accent-strong);color:var(--wedding-accent-strong);transform:translateY(-2px)}.wedding-gift-summary{justify-content:flex-start;margin-top:28px;padding-top:18px;border-top:1px solid var(--wedding-border)}.wedding-gift-summary strong{font-family:var(--wedding-font-display);font-size:44px;font-weight:500}.wedding-gift-summary span{max-width:16em;line-height:1.5}.wedding-my-gifts{align-items:flex-start;margin-top:18px;padding:12px 0 0;border:0;border-top:1px solid var(--wedding-border);border-radius:0;background:transparent}.wedding-my-gifts strong{font-family:var(--wedding-font-display);font-size:18px;font-weight:500}.wedding-my-gifts span{font-size:11px}.wedding-blessing-section,.wedding-ranking-section{padding:0 0 22px;border-top:1px solid var(--wedding-border)}.wedding-blessing-section .wedding-section-heading,.wedding-ranking-section .wedding-section-heading{padding-top:18px}.wedding-ranking-list{gap:0;margin-bottom:18px}.wedding-ranking-list li{min-height:64px;grid-template-columns:36px minmax(0,1fr) auto;padding:8px 0;border-bottom:1px solid var(--wedding-border)}.wedding-rank{width:28px;height:28px;border-radius:0;color:var(--wedding-accent-strong);background:transparent;font-family:var(--wedding-font-display);font-size:18px}.wedding-ranking-list li>span:last-child{font-family:var(--wedding-font-display);font-size:16px}.wedding-blessing-form{margin-bottom:32px}.wedding-blessing-form .ant-input,.wedding-blessing-form .ant-input-affix-wrapper,.wedding-blessing-form .ant-input-textarea-affix-wrapper{border-width:0 0 1px;border-radius:0;background:transparent}.wedding-blessing-form .ant-btn-primary{min-height:48px;border:1px solid var(--wedding-accent-strong);border-radius:0;color:var(--wedding-overlay-text);background:var(--wedding-accent-strong)}.wedding-blessing-wall{gap:0}.wedding-blessing-wall article{padding:18px 0;border-top:1px solid var(--wedding-border);background:transparent}.wedding-blessing-wall article p{font-family:var(--wedding-font-display);font-size:18px;line-height:1.7}.wedding-blessing-wall footer{color:var(--wedding-accent-strong);font-size:11px;letter-spacing:.12em}.wedding-gift-celebration{position:fixed;z-index:80;inset:0;width:min(100vw,var(--wedding-mobile-width));min-height:100svh;display:grid;place-items:center;overflow:hidden;margin-inline:auto;color:var(--wedding-overlay-text);background:var(--wedding-overlay);isolation:isolate;animation:wedding-celebration-enter .26s ease-out both}.wedding-gift-celebration:before{position:absolute;inset:18px;z-index:-1;border:1px solid var(--wedding-overlay-border);content:""}.wedding-gift-celebration:after{position:absolute;inset:42px 18px;z-index:-1;border-left:1px solid var(--wedding-accent);border-right:1px solid var(--wedding-accent);content:"";opacity:.58}.wedding-gift-celebration-close{position:absolute;z-index:3;top:max(20px,env(safe-area-inset-top));right:18px;width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid var(--wedding-overlay-border);border-radius:50%;color:var(--wedding-overlay-text);background:transparent;cursor:pointer;font-size:16px}.wedding-gift-celebration-hint,.wedding-gift-celebration-kicker{position:absolute;color:var(--wedding-overlay-muted);font-size:9px;letter-spacing:.24em;text-transform:uppercase}.wedding-gift-celebration-kicker{top:28%;margin:0}.wedding-gift-celebration-hint{bottom:max(28px,env(safe-area-inset-bottom))}.wedding-gift-celebration-core{position:relative;z-index:2;display:grid;justify-items:center;gap:10px;text-align:center}.wedding-gift-celebration-icon{width:112px;height:112px;display:grid;place-items:center;border:1px solid var(--wedding-accent);border-radius:50%;color:var(--wedding-accent);background:var(--wedding-overlay-surface);box-shadow:var(--wedding-shadow-soft);font-size:56px;animation:wedding-celebration-core 1.9s ease-out both}.wedding-gift-celebration-core strong{color:var(--wedding-overlay-text);font-family:var(--wedding-font-display);font-size:34px;font-weight:500;letter-spacing:.14em}.wedding-gift-celebration-core small{color:var(--wedding-overlay-muted);font-size:10px;letter-spacing:.22em}.wedding-gift-celebration-status{position:absolute;right:28px;bottom:16%;left:28px;margin:0;color:var(--wedding-overlay-text);font-family:var(--wedding-font-display);font-size:15px;text-align:center}.wedding-gift-celebration.is-error .wedding-gift-celebration-icon{border-color:var(--wedding-danger);color:var(--wedding-danger)}.wedding-gift-celebration-particles{position:absolute;inset:0;pointer-events:none}.wedding-gift-celebration-particle{--gift-x:0px;--gift-y:-180px;--gift-rotate:0deg;position:absolute;top:50%;left:50%;z-index:1;color:var(--wedding-accent);font-size:20px;opacity:0;will-change:transform,opacity;animation-duration:2.2s;animation-timing-function:cubic-bezier(.18,.7,.24,1);animation-fill-mode:both}.wedding-gift-celebration-particle.is-slot-0{--gift-x:-146px;--gift-y:-154px;--gift-rotate:-34deg}.wedding-gift-celebration-particle.is-slot-1{--gift-x:-84px;--gift-y:-214px;--gift-rotate:18deg}.wedding-gift-celebration-particle.is-slot-2{--gift-x:8px;--gift-y:-244px;--gift-rotate:-14deg}.wedding-gift-celebration-particle.is-slot-3{--gift-x:102px;--gift-y:-202px;--gift-rotate:26deg}.wedding-gift-celebration-particle.is-slot-4{--gift-x:152px;--gift-y:-120px;--gift-rotate:-22deg}.wedding-gift-celebration-particle.is-slot-5{--gift-x:-176px;--gift-y:-48px;--gift-rotate:12deg}.wedding-gift-celebration-particle.is-slot-6{--gift-x:184px;--gift-y:-30px;--gift-rotate:-16deg}.wedding-gift-celebration-particle.is-slot-7{--gift-x:-152px;--gift-y:54px;--gift-rotate:20deg}.wedding-gift-celebration-particle.is-slot-8{--gift-x:160px;--gift-y:64px;--gift-rotate:-30deg}.wedding-gift-celebration-particle.is-slot-9{--gift-x:-90px;--gift-y:150px;--gift-rotate:16deg}.wedding-gift-celebration-particle.is-slot-10{--gift-x:18px;--gift-y:176px;--gift-rotate:-18deg}.wedding-gift-celebration-particle.is-slot-11{--gift-x:116px;--gift-y:142px;--gift-rotate:28deg}.wedding-gift-celebration-particle{animation-name:wedding-gift-celebration-burst}.wedding-gift-celebration.is-heart .wedding-gift-celebration-particle{animation-name:wedding-gift-celebration-heart}.wedding-gift-celebration.is-flower .wedding-gift-celebration-particle{animation-name:wedding-gift-celebration-flower}.wedding-gift-celebration.is-candy .wedding-gift-celebration-particle{animation-name:wedding-gift-celebration-candy}.wedding-gift-celebration.is-cake .wedding-gift-celebration-particle{animation-name:wedding-gift-celebration-cake}.wedding-gift-celebration.is-firework .wedding-gift-celebration-particle{animation-name:wedding-gift-celebration-firework}.wedding-gift-celebration.is-champagne .wedding-gift-celebration-particle{animation-name:wedding-gift-celebration-champagne}@keyframes wedding-celebration-enter{0%{opacity:0}to{opacity:1}}@keyframes wedding-opening-reveal{0%{clip-path:inset(0 0 6% 0);opacity:.88;transform:translateY(10px)}68%{clip-path:inset(0);opacity:1;transform:translateY(0)}to{clip-path:inset(0);opacity:1;transform:translateY(0)}}@keyframes wedding-celebration-core{0%{opacity:0;transform:scale(.42) translateY(22px)}42%{opacity:1;transform:scale(1.08) translateY(0)}to{opacity:1;transform:scale(1)}}@keyframes wedding-gift-celebration-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0deg)}22%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--gift-x)),calc(-50% + var(--gift-y))) scale(1.1) rotate(var(--gift-rotate))}}@keyframes wedding-gift-celebration-heart{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--gift-x)),calc(-50% + var(--gift-y))) scale(1.22) rotate(var(--gift-rotate))}}@keyframes wedding-gift-celebration-flower{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-20deg)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--gift-x)),calc(-50% + var(--gift-y))) scale(.9) rotate(160deg)}}@keyframes wedding-gift-celebration-candy{0%{opacity:0;transform:translate(-50%,-50%) scale(.45) rotate(-12deg)}32%{opacity:1;transform:translate(-50%,-50%) scale(1.28) rotate(10deg)}to{opacity:0;transform:translate(calc(-50% + var(--gift-x)),calc(-50% + var(--gift-y))) scale(.76) rotate(var(--gift-rotate))}}@keyframes wedding-gift-celebration-cake{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}32%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}58%{opacity:.7;transform:translate(-50%,-50%) scale(.92)}to{opacity:0;transform:translate(calc(-50% + var(--gift-x)),calc(-50% + var(--gift-y))) scale(.72)}}@keyframes wedding-gift-celebration-firework{0%{opacity:0;transform:translate(-50%,-50%) scale(.05) rotate(0deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(26deg)}to{opacity:0;transform:translate(calc(-50% + var(--gift-x)),calc(-50% + var(--gift-y))) scale(.62) rotate(110deg)}}@keyframes wedding-gift-celebration-champagne{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--gift-x)),calc(-50% + var(--gift-y))) scale(.68) rotate(var(--gift-rotate))}}.wedding-turntable-control,.wedding-turntable-player{width:178px;height:98px}.wedding-turntable-player{right:max(8px,calc((100vw - var(--wedding-mobile-width)) / 2 + 8px));bottom:max(8px,env(safe-area-inset-bottom))}.wedding-turntable-control{border-radius:12px}.wedding-turntable-platter{top:12px;left:10px;width:70px;height:70px}.wedding-turntable-record{width:57px;height:57px}.wedding-turntable-label{width:17px;height:17px;font-size:4px}.wedding-turntable-tonearm{top:2px;left:55px;transform:scale(.84) rotate(13deg);transform-origin:88px 10px}.wedding-turntable-control.is-playing .wedding-turntable-tonearm{transform:scale(.84) rotate(0deg)}.wedding-turntable-caption{right:10px;bottom:12px;left:91px}.wedding-turntable-caption strong{font-size:11px}.wedding-turntable-caption small{font-size:8px}.wedding-page:has(.wedding-turntable-player){padding-bottom:calc(116px + env(safe-area-inset-bottom))}.wedding-page:has(.wedding-turntable-player) .wedding-status{bottom:calc(108px + env(safe-area-inset-bottom))}@media (max-width:375px){.wedding-hero-canvas{min-height:min(740px,100svh);height:min(740px,100svh);padding-inline:18px}.wedding-hero-portrait{left:32px}.wedding-hero-editorial{width:50%;padding-right:12px}.wedding-hero-editorial h1{font-size:clamp(26px,8.4vw,35px)}.wedding-gifts{padding-inline:18px}.wedding-gift-console{grid-template-columns:94px minmax(0,1fr);gap:12px}.wedding-gift-console-emblem{width:88px;height:88px;font-size:40px}.wedding-gift-console-copy strong{font-size:24px}.wedding-gift-celebration-particle{font-size:17px}}@media (prefers-reduced-motion:reduce){.wedding-gift-button,.wedding-gift-celebration,.wedding-gift-celebration-icon,.wedding-gift-celebration-particle,.wedding-gift-console-action,.wedding-hero-canvas,.wedding-hero-portrait,.wedding-turntable-control.is-playing .wedding-turntable-record,.wedding-turntable-tonearm{animation:none;transition:none}.wedding-gift-celebration-particle{opacity:.42;transform:translate(-50%,-50%)}}}@scope (.wedding-groom-editorial){.wedding-theme-stage{background:var(--wedding-surface-muted)}.wedding-3d-canvas,.wedding-3d-scene,.wedding-3d-static-art{width:100%;height:100%}.wedding-3d-scene{opacity:.98;transform:translateZ(0)}.wedding-3d-static-art{opacity:.96}.wedding-3d-static-plane-back{inset:7% 12% 6% 8%;border-color:var(--wedding-overlay-border);background:var(--wedding-overlay-surface);box-shadow:var(--wedding-shadow-soft);transform:perspective(900px) rotateY(-8deg) rotateX(2deg) translateZ(-28px)}.wedding-3d-static-plane-mid{inset:12% 20% 11% 18%;border-width:2px;border-color:var(--wedding-accent);background:var(--wedding-surface-muted);box-shadow:var(--wedding-shadow-soft);transform:perspective(900px) rotateY(7deg) rotateX(-2deg) translateZ(8px);opacity:.78}.wedding-3d-static-plane-front{inset:19% 29% 17% 27%;border-color:var(--wedding-accent-strong);background:var(--wedding-surface);box-shadow:var(--wedding-shadow-soft);transform:perspective(900px) rotateY(-5deg) translateZ(30px);opacity:.54}.wedding-gift-console{min-height:224px;grid-template-columns:132px minmax(0,1fr);gap:20px;padding:28px 0 24px;border-top-color:var(--wedding-accent);border-bottom-color:var(--wedding-border);background:var(--wedding-surface)}.wedding-gift-console-emblem{width:132px;height:148px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:var(--wedding-shadow-none)}.wedding-gift-asset{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 18px var(--wedding-border))}.wedding-gift-console-copy{align-self:center;gap:7px;padding-right:58px}.wedding-gift-console-copy strong{font-size:clamp(25px,7vw,34px);letter-spacing:.14em}.wedding-gift-console-copy small{max-width:170px;line-height:1.6;letter-spacing:.08em}.wedding-gift-console-action{right:0;bottom:34px;width:58px;height:58px;border-radius:var(--wedding-radius-control);border-color:var(--wedding-accent-strong);background:var(--wedding-accent-strong)}.wedding-gift-action-asset{width:46px;height:46px;object-fit:contain}.wedding-gift-picker{gap:7px;margin-top:22px;padding-bottom:10px}.wedding-gift-picker>div{flex:0 0 auto}.wedding-gift-button{min-width:72px;min-height:94px;gap:4px;padding:7px 5px 9px;border-bottom-width:2px}.wedding-gift-button>span{display:none}.wedding-gift-picker-asset{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 6px 10px var(--wedding-border))}.wedding-gift-button strong{font-family:var(--wedding-font-display);font-size:11px;font-weight:500;letter-spacing:.08em}.wedding-gift-button small{min-height:auto;border:0;border-radius:0;color:var(--wedding-muted);background:transparent;font-size:10px}.wedding-gift-button.is-selected{color:var(--wedding-accent-strong);border-bottom-color:var(--wedding-accent-strong);transform:translateY(-2px)}.wedding-gift-summary{margin-top:28px;padding-top:17px;border-top:1px solid var(--wedding-border)}.wedding-gift-celebration{background:var(--wedding-overlay)}.wedding-gift-celebration-canvas{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none}.wedding-gift-celebration-core{z-index:2;display:grid;grid-template-columns:minmax(0,220px);gap:16px}.wedding-gift-celebration-asset{width:min(58vw,220px);height:min(48vh,220px);object-fit:contain;filter:drop-shadow(0 18px 30px var(--wedding-overlay-surface));animation:wedding-celebration-asset-arrive .72s cubic-bezier(.18,.76,.28,1) both}.wedding-gift-celebration-copy{display:grid;gap:7px;justify-items:center}.wedding-gift-celebration-copy strong{color:var(--wedding-overlay-text);font-family:var(--wedding-font-display);font-size:34px;font-weight:500;letter-spacing:.14em}.wedding-gift-celebration-copy small{color:var(--wedding-accent);font-family:var(--wedding-font-display);font-size:17px;letter-spacing:.16em}.wedding-gift-celebration-copy span{color:var(--wedding-overlay-muted);font-size:9px;letter-spacing:.24em}.wedding-gift-celebration-status{z-index:2;bottom:17%;font-size:15px;letter-spacing:.08em}.wedding-gift-celebration-retry{position:absolute;z-index:3;bottom:23%;min-width:112px;min-height:44px;padding:0 18px;border:1px solid var(--wedding-overlay-border);border-radius:var(--wedding-radius-control);color:var(--wedding-overlay-text);background:var(--wedding-overlay-surface);cursor:pointer}.wedding-gift-celebration-retry:focus-visible{outline:2px solid var(--wedding-overlay-text);outline-offset:3px}.wedding-turntable-control,.wedding-turntable-player{width:184px;height:102px}.wedding-turntable-control{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:2px;padding:4px 8px 4px 3px;border:1px solid var(--wedding-overlay-border);border-radius:var(--wedding-radius-control);color:var(--wedding-overlay-text);background:var(--wedding-turntable-base);box-shadow:var(--wedding-shadow-soft)}.wedding-turntable-3d-host,.wedding-turntable-canvas,.wedding-turntable-fallback-image{display:block;width:112px;height:88px}.wedding-turntable-3d-host{position:relative;overflow:hidden;pointer-events:none}.wedding-turntable-canvas,.wedding-turntable-fallback-image{object-fit:contain}.wedding-turntable-caption{position:static;min-width:0;display:grid;gap:4px;text-align:left}.wedding-turntable-caption small,.wedding-turntable-caption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-turntable-caption strong{color:var(--wedding-overlay-text);font-size:11px;letter-spacing:.08em}.wedding-turntable-caption small{color:var(--wedding-overlay-muted);font-size:8px;letter-spacing:.08em}.wedding-turntable-status-dot{top:8px;right:9px;width:5px;height:5px}@keyframes wedding-celebration-asset-arrive{0%{opacity:0;transform:translateY(26px) scale(.68)}48%{opacity:1;transform:translateY(-3px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:375px){.wedding-gift-console{grid-template-columns:112px minmax(0,1fr);gap:14px}.wedding-gift-console-emblem{width:112px;height:134px}.wedding-gift-console-copy{padding-right:50px}.wedding-gift-console-copy strong{font-size:25px}.wedding-gift-picker-asset{width:48px;height:48px}.wedding-turntable-control,.wedding-turntable-player{width:178px}.wedding-turntable-control{grid-template-columns:104px minmax(0,1fr)}.wedding-turntable-3d-host,.wedding-turntable-canvas,.wedding-turntable-fallback-image{width:104px}}@media (prefers-reduced-motion:reduce){.wedding-gift-celebration-asset{animation:none}.wedding-gift-celebration-canvas{opacity:.78}.wedding-gift-button.is-selected{transform:none}}}@scope (.wedding-groom-editorial){.wedding-opening-gates{position:absolute;z-index:3;inset:60px 0 0 42px;overflow:visible;perspective:1100px;pointer-events:none}.wedding-opening-gate{position:absolute;top:0;bottom:0;width:50%;border:1px solid var(--wedding-overlay-border);background:var(--wedding-overlay);box-shadow:var(--wedding-shadow-soft);transform-style:preserve-3d;will-change:transform,opacity}.wedding-opening-gate:after{position:absolute;top:8%;bottom:8%;width:1px;background:var(--wedding-accent);content:"";opacity:.78}.wedding-opening-gate-left{left:0;transform-origin:left center;animation:wedding-opening-gate-left 1.45s cubic-bezier(.18,.82,.24,1) .1s both}.wedding-opening-gate-left:after{right:12px}.wedding-opening-gate-right{right:0;transform-origin:right center;animation:wedding-opening-gate-right 1.45s cubic-bezier(.18,.82,.24,1) .1s both}.wedding-opening-gate-right:after{left:12px}.wedding-opening-gate-seam{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--wedding-accent);opacity:.9;animation:wedding-opening-seam 1.15s ease-out .1s both}.wedding-hero-portrait{animation:wedding-portrait-emerge 1.55s cubic-bezier(.2,.78,.28,1) .34s both;will-change:transform,opacity}.wedding-hero-display-title{margin-bottom:24px;font-size:clamp(38px,10.8vw,54px);line-height:.94;letter-spacing:.22em}.wedding-hero-editorial h1{font-size:clamp(31px,8.5vw,44px);line-height:1.14;letter-spacing:.08em}.wedding-hero-facts strong{font-size:11px;letter-spacing:.04em}.wedding-hero-facts small{font-size:10px;line-height:1.65}.wedding-hero-note{letter-spacing:.16em;line-height:1.7}.wedding-gift-celebration.is-heart .wedding-gift-celebration-asset{animation-name:wedding-celebration-heart-arrive}.wedding-gift-celebration.is-flower .wedding-gift-celebration-asset{animation-name:wedding-celebration-flower-arrive}.wedding-gift-celebration.is-candy .wedding-gift-celebration-asset{animation-name:wedding-celebration-candy-arrive}.wedding-gift-celebration.is-cake .wedding-gift-celebration-asset{animation-name:wedding-celebration-cake-arrive}.wedding-gift-celebration.is-firework .wedding-gift-celebration-asset{width:min(44vw,178px);height:min(40vh,198px);animation-name:wedding-celebration-firework-arrive}.wedding-gift-celebration.is-champagne .wedding-gift-celebration-asset{animation-name:wedding-celebration-champagne-arrive}.wedding-gift-celebration.is-firework .wedding-gift-celebration-canvas{opacity:1}@keyframes wedding-opening-gate-left{0%{opacity:1;transform:rotateY(0deg) translateZ(0)}68%{opacity:.92}to{opacity:0;transform:rotateY(-78deg) translateX(-18px) translateZ(24px)}}@keyframes wedding-opening-gate-right{0%{opacity:1;transform:rotateY(0deg) translateZ(0)}68%{opacity:.92}to{opacity:0;transform:rotateY(78deg) translateX(18px) translateZ(24px)}}@keyframes wedding-opening-seam{0%{opacity:1;transform:scaleY(.12)}to{opacity:0;transform:scaleY(1.08)}}@keyframes wedding-portrait-emerge{0%{opacity:.18;transform:scale(1.025) translateZ(-12px)}62%{opacity:.74}to{opacity:1;transform:scale(1) translateZ(0)}}@keyframes wedding-celebration-heart-arrive{0%{opacity:0;transform:translateY(44px) scale(.48) rotate(-8deg)}58%{opacity:1;transform:translateY(-8px) scale(1.08) rotate(3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}}@keyframes wedding-celebration-flower-arrive{0%{opacity:0;transform:translateY(36px) scale(.58) rotate(-14deg)}60%{opacity:1;transform:translateY(-4px) scale(1.05) rotate(5deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}}@keyframes wedding-celebration-candy-arrive{0%{opacity:0;transform:translateY(28px) scale(.54) rotate(10deg)}52%{opacity:1;transform:translateY(-5px) scale(1.06) rotate(-4deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}}@keyframes wedding-celebration-cake-arrive{0%{opacity:0;transform:translateY(28px) scale(.62)}46%{opacity:1;transform:translateY(-3px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wedding-celebration-firework-arrive{0%{opacity:0;transform:translateY(14px) scale(.35)}48%{opacity:1;transform:translateY(-7px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wedding-celebration-champagne-arrive{0%{opacity:0;transform:translateY(40px) rotate(-8deg) scale(.58)}55%{opacity:1;transform:translateY(-9px) rotate(4deg) scale(1.04)}to{opacity:1;transform:translateY(0) rotate(0deg) scale(1)}}@media (prefers-reduced-motion:reduce){.wedding-opening-gate-left,.wedding-opening-gate-right{animation:none;opacity:0;transform:rotateY(-78deg) translateX(-18px) translateZ(24px)}.wedding-opening-gate-right{transform:rotateY(78deg) translateX(18px) translateZ(24px)}.wedding-gift-celebration-asset,.wedding-hero-portrait,.wedding-opening-gate-seam{animation:none;opacity:1;transform:none}}}@scope (.wedding-groom-storybook){:scope{position:relative;width:min(100%,var(--wedding-mobile-width));min-height:100vh;margin-inline:auto;padding:0 0 calc(92px + env(safe-area-inset-bottom));overflow-x:clip;color:var(--wedding-storybook-ink);background:var(--wedding-storybook-paper);box-shadow:var(--wedding-shadow-none)}:scope:not(.is-opened){height:100dvh;overflow:hidden}.wedding-storybook-opening{position:fixed;z-index:50;inset:0;left:50%;width:min(100%,var(--wedding-mobile-width));min-height:100dvh;overflow:hidden;color:var(--wedding-storybook-ink);background:var(--wedding-storybook-paper);transform:translateX(-50%);transition:opacity .56s ease,visibility .56s ease}.wedding-storybook-opening-photo{width:100%;height:100dvh;object-fit:cover;opacity:.32;filter:grayscale(1) contrast(.9)}.wedding-storybook-opening:after{position:absolute;inset:16px;border:1px solid var(--wedding-storybook-line);content:"";pointer-events:none}.wedding-storybook-opening-botanical{position:absolute;inset:auto -78px -42px auto;width:330px;height:330px;object-fit:contain;transform:rotate(-8deg)}.wedding-storybook-opening-copy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:48px 28px;text-align:center;background:var(--wedding-storybook-cover)}.wedding-storybook-kicker,.wedding-storybook-opening-copy>span{margin:0;color:var(--wedding-storybook-red-deep);font-size:10px;font-weight:700;letter-spacing:.24em}.wedding-storybook-opening-copy>strong{font-family:var(--wedding-font-display);font-size:clamp(34px,11vw,54px);font-weight:600;letter-spacing:.08em}.wedding-storybook-opening-copy>i{margin-block:8px;color:var(--wedding-storybook-red);font-family:var(--wedding-font-display);font-size:32px;font-weight:700}.wedding-storybook-opening-copy button{min-width:168px;min-height:48px;margin-top:44px;padding-inline:22px;border:1px solid var(--wedding-storybook-ink);border-radius:var(--wedding-radius-pill);color:var(--wedding-storybook-surface);background:var(--wedding-storybook-ink);font:inherit;letter-spacing:.12em;cursor:pointer}:scope.is-opened .wedding-storybook-opening{visibility:hidden;opacity:0;pointer-events:none}.wedding-storybook-pages{position:relative}.wedding-storybook-hero{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:66px 28px 42px;overflow:hidden;text-align:center}.wedding-storybook-botanical{position:absolute;z-index:0;width:360px;height:360px;object-fit:contain;pointer-events:none}.wedding-storybook-botanical.is-hero{right:-132px;bottom:-72px}.wedding-storybook-hero>:not(.wedding-storybook-botanical){position:relative;z-index:1}.wedding-storybook-hero h1{display:grid;gap:2px;margin:14px 0 24px;font-size:clamp(32px,10vw,48px);font-weight:600;line-height:1.12;letter-spacing:.06em}.wedding-storybook-hero h1 i{color:var(--wedding-storybook-red);font-size:25px}.wedding-storybook-hero-photo{width:min(86%,352px);margin:0;padding:10px 10px 18px;border:1px solid var(--wedding-storybook-line);background:var(--wedding-storybook-surface);transform:rotate(-1.8deg)}.wedding-storybook-hero-photo>img,.wedding-storybook-hero-photo>span{width:100%;aspect-ratio:4/5;display:grid;place-items:center;object-fit:cover;color:var(--wedding-storybook-red);background:var(--wedding-storybook-paper-deep)}.wedding-storybook-hero-photo>span svg{font-size:46px}.wedding-storybook-hero-photo figcaption{padding-top:12px;color:var(--wedding-storybook-muted);font-family:var(--wedding-font-display);font-size:13px;letter-spacing:.08em}.wedding-storybook-scroll-note{margin:34px 0 0;color:var(--wedding-storybook-muted);font-size:11px;letter-spacing:.16em}.wedding-storybook-blessings,.wedding-storybook-date,.wedding-storybook-gifts,.wedding-storybook-letter,.wedding-storybook-ranking,.wedding-storybook-signature,.wedding-storybook-venue{margin-inline:18px}.wedding-storybook-letter{position:relative;padding:58px 30px 52px;border:1px solid var(--wedding-storybook-line);background:var(--wedding-storybook-surface);text-align:center}.wedding-storybook-blessings h2,.wedding-storybook-date h2,.wedding-storybook-gifts h2,.wedding-storybook-letter h2,.wedding-storybook-section-heading h2,.wedding-storybook-venue h2{margin:10px 0 0;color:var(--wedding-storybook-ink);font-family:var(--wedding-font-display);font-size:clamp(25px,7vw,34px);font-weight:600;line-height:1.25}.wedding-storybook-letter-copy{margin-block:30px;color:var(--wedding-storybook-muted);font-family:var(--wedding-font-display);font-size:15px;line-height:2;text-align:left}.wedding-storybook-letter-copy p{margin-bottom:14px}.wedding-storybook-letter footer{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--wedding-storybook-red-deep);font-family:var(--wedding-font-display)}.wedding-storybook-story{padding:84px 0 34px}.wedding-storybook-section-heading{padding-inline:28px;text-align:center}.wedding-storybook-section-heading>span{display:block;margin-top:10px;color:var(--wedding-storybook-muted);font-size:12px}.wedding-storybook-story-list{display:grid;gap:58px;margin-top:40px}.wedding-storybook-moment{width:84%;margin-left:6%}.wedding-storybook-moment:nth-child(2n){margin-left:10%}.wedding-storybook-moment figure{margin:0;padding:9px;border:1px solid var(--wedding-storybook-line);background:var(--wedding-storybook-surface);transform:rotate(-1.2deg)}.wedding-storybook-moment:nth-child(2n) figure{transform:rotate(1.4deg)}.wedding-storybook-moment figure img,.wedding-storybook-moment figure span{width:100%;aspect-ratio:4/3;display:grid;place-items:center;object-fit:cover;color:var(--wedding-storybook-red);background:var(--wedding-storybook-paper-deep)}.wedding-storybook-moment-copy{position:relative;width:88%;margin:-2px 0 0 auto;padding:18px 18px 4px;border-left:2px solid var(--wedding-storybook-red)}.wedding-storybook-moment-copy span{color:var(--wedding-storybook-red-deep);font-size:10px;font-weight:700;letter-spacing:.18em}.wedding-storybook-moment-copy h3{margin:7px 0 8px;font-family:var(--wedding-font-display);font-size:22px}.wedding-storybook-moment-copy p{margin:0;color:var(--wedding-storybook-muted);font-size:13px;line-height:1.8}.wedding-storybook-date{padding:76px 22px 62px;border-top:1px solid var(--wedding-storybook-line);border-bottom:1px solid var(--wedding-storybook-line);text-align:center}.wedding-storybook-calendar{margin:34px auto 24px;padding:18px;border:1px solid var(--wedding-storybook-line);background:var(--wedding-storybook-surface)}.wedding-storybook-calendar header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--wedding-storybook-line)}.wedding-storybook-calendar header svg{color:var(--wedding-storybook-red)}.wedding-storybook-calendar-days,.wedding-storybook-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.wedding-storybook-weekdays{margin-block:14px 6px;color:var(--wedding-storybook-muted);font-size:10px}.wedding-storybook-calendar-days span{min-height:34px;display:grid;place-items:center;border-radius:var(--wedding-radius-pill);font-size:12px}.wedding-storybook-calendar-days .is-wedding-day{color:var(--wedding-storybook-surface);background:var(--wedding-storybook-red);font-weight:700}.wedding-storybook-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-block:28px 16px}.wedding-storybook-countdown>span{padding:14px 4px;border-top:1px solid var(--wedding-storybook-ink);border-bottom:1px solid var(--wedding-storybook-ink)}.wedding-storybook-countdown small,.wedding-storybook-countdown strong{display:block}.wedding-storybook-countdown strong{font-family:var(--wedding-font-display);font-size:24px}.wedding-storybook-countdown small{margin-top:4px;color:var(--wedding-storybook-muted);font-size:10px}.wedding-storybook-date>p,.wedding-storybook-map-fallback,.wedding-storybook-venue address{color:var(--wedding-storybook-muted);font-size:13px;line-height:1.7}.wedding-storybook-venue{padding:72px 26px;text-align:center}.wedding-storybook-venue>svg{margin-bottom:16px;color:var(--wedding-storybook-red);font-size:34px}.wedding-storybook-venue address{margin:16px 0 24px;font-style:normal}.wedding-storybook-blessing-form .ant-btn,.wedding-storybook-venue .ant-btn{min-height:46px;border-color:var(--wedding-storybook-ink);color:var(--wedding-storybook-surface);background:var(--wedding-storybook-ink);box-shadow:var(--wedding-shadow-none)}.wedding-storybook-blessing-form .wedding-storybook-blessing-submit.ant-btn,.wedding-storybook-blessing-form .wedding-storybook-blessing-submit.ant-btn:focus-visible,.wedding-storybook-blessing-form .wedding-storybook-blessing-submit.ant-btn:hover{border-color:var(--wedding-storybook-ink);color:var(--wedding-storybook-surface);background-color:var(--wedding-storybook-ink);background-image:none}.wedding-storybook-blessings,.wedding-storybook-gifts{padding:64px 22px;border:1px solid var(--wedding-storybook-line);background:var(--wedding-storybook-surface)}.wedding-storybook-gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:30px}.wedding-storybook-gift-grid button{min-width:0;min-height:108px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:8px 4px;border:1px solid var(--wedding-storybook-line);border-radius:4px;color:var(--wedding-storybook-ink);background:var(--wedding-storybook-paper);cursor:pointer}.wedding-storybook-gift-grid img{width:58px;height:58px;object-fit:contain}.wedding-storybook-gift-grid strong{font-size:12px}.wedding-storybook-gift-grid small{color:var(--wedding-storybook-red-deep);font-size:10px}.wedding-storybook-gift-total,.wedding-storybook-own-gifts{margin:24px 0 0;text-align:center}.wedding-storybook-gift-total strong{color:var(--wedding-storybook-red-deep);font-family:var(--wedding-font-display);font-size:22px}.wedding-storybook-own-gifts{gap:4px}.wedding-storybook-gift-feedback,.wedding-storybook-own-gifts{display:grid;color:var(--wedding-storybook-muted);font-size:12px}.wedding-storybook-gift-feedback{grid-template-columns:42px 1fr auto;align-items:center;gap:10px;margin-top:18px;padding:10px 12px;border:1px dashed var(--wedding-storybook-line)}.wedding-storybook-gift-feedback img{width:42px;height:42px;object-fit:contain}.wedding-storybook-gift-feedback.is-sent{color:var(--wedding-storybook-olive)}.wedding-storybook-gift-feedback.is-error{color:var(--wedding-danger)}.wedding-storybook-gift-feedback button{min-height:44px;border:0;color:var(--wedding-storybook-red-deep);background:transparent;cursor:pointer}.wedding-storybook-ranking{margin-top:18px;border-top:1px solid var(--wedding-storybook-line);border-bottom:1px solid var(--wedding-storybook-line)}.wedding-storybook-ranking-toggle{width:100%;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 8px;border:0;color:var(--wedding-storybook-ink);background:transparent;text-align:left;cursor:pointer}.wedding-storybook-ranking-toggle span{display:grid;gap:5px}.wedding-storybook-ranking-toggle small{color:var(--wedding-storybook-red-deep);font-size:9px;letter-spacing:.2em}.wedding-storybook-ranking-toggle strong{font-family:var(--wedding-font-display);font-size:22px}#wedding-storybook-ranking-content{padding:0 8px 20px}.wedding-storybook-ranking-list{margin:0 0 16px;padding:0;list-style:none}.wedding-storybook-ranking-list li{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid var(--wedding-storybook-line)}.wedding-storybook-ranking-list li>span{color:var(--wedding-storybook-red-deep);font-family:var(--wedding-font-display)}.wedding-storybook-ranking-list li small{color:var(--wedding-storybook-muted)}.wedding-storybook-blessings{margin-top:64px}.wedding-storybook-blessing-form{display:grid;gap:16px;margin-top:28px}.wedding-storybook-blessing-form label{display:grid;gap:7px;color:var(--wedding-storybook-muted);font-size:12px}.wedding-storybook-blessing-form .ant-input,.wedding-storybook-blessing-form .ant-input-affix-wrapper{border-color:var(--wedding-storybook-line);border-radius:2px;color:var(--wedding-storybook-ink);background:var(--wedding-storybook-paper);box-shadow:var(--wedding-shadow-none)}.wedding-storybook-blessing-wall{display:grid;gap:12px;margin-top:28px}.wedding-storybook-blessing-wall article{padding:16px;border-left:2px solid var(--wedding-storybook-red);background:var(--wedding-storybook-paper)}.wedding-storybook-blessing-wall p{margin:0;line-height:1.7}.wedding-storybook-blessing-wall footer{margin-top:8px;color:var(--wedding-storybook-muted);font-size:11px}.wedding-storybook-signature{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:90px 24px;overflow:hidden;text-align:center}.wedding-storybook-signature img{position:absolute;right:-108px;bottom:-84px;width:360px;height:360px;object-fit:contain}.wedding-storybook-signature>:not(img){position:relative;z-index:1}.wedding-storybook-signature p,.wedding-storybook-signature>span{color:var(--wedding-storybook-muted);font-size:12px;letter-spacing:.12em}.wedding-storybook-signature strong{font-family:var(--wedding-font-display);font-size:34px;font-weight:600;letter-spacing:.08em}.wedding-storybook-signature i{margin-block:8px;color:var(--wedding-storybook-red);font-family:var(--wedding-font-display);font-size:24px}.wedding-storybook-signature>span{margin-top:28px}.wedding-storybook-music{position:fixed;z-index:20;right:max(14px,calc((100vw - var(--wedding-mobile-width)) / 2 + 14px));bottom:calc(14px + env(safe-area-inset-bottom));opacity:0;pointer-events:none;transition:opacity .22s ease}:scope.is-opened .wedding-storybook-music{opacity:1;pointer-events:auto}.wedding-storybook-music-control{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--wedding-storybook-ink);border-radius:var(--wedding-radius-pill);color:var(--wedding-storybook-surface);background:var(--wedding-storybook-ink);cursor:pointer}.wedding-storybook-music-control.is-playing svg{animation:wedding-storybook-music-pulse 1.4s ease-in-out infinite}.wedding-status{right:auto;bottom:calc(18px + env(safe-area-inset-bottom));left:max(14px,calc((100vw - var(--wedding-mobile-width)) / 2 + 14px));max-width:330px;color:var(--wedding-storybook-surface);background:var(--wedding-storybook-ink);box-shadow:var(--wedding-shadow-none)}.wedding-storybook-reveal{opacity:0;transform:translateY(22px);transition:opacity .56s ease,transform .56s ease}.wedding-storybook-reveal.is-visible{opacity:1;transform:translateY(0)}.ant-btn:focus-visible,.ant-input-affix-wrapper:focus-visible,.ant-input:focus-visible,button:focus-visible{outline:2px solid var(--wedding-storybook-red);outline-offset:3px}@media (max-width:375px){.wedding-storybook-blessings,.wedding-storybook-date,.wedding-storybook-gifts,.wedding-storybook-letter,.wedding-storybook-ranking,.wedding-storybook-signature,.wedding-storybook-venue{margin-inline:12px}.wedding-storybook-hero{padding-inline:18px}.wedding-storybook-gift-grid{gap:7px}.wedding-storybook-gift-grid button{min-height:102px}}@media (prefers-reduced-motion:reduce){.wedding-storybook-music,.wedding-storybook-opening,.wedding-storybook-reveal{transition:none}.wedding-storybook-reveal{opacity:1;transform:none}.wedding-storybook-music-control.is-playing svg{animation:none}}}.wedding-storybook-gift-celebration{position:fixed;z-index:1400;inset:0;display:grid;place-items:center;overflow:hidden;color:var(--wedding-storybook-ink);background:var(--wedding-storybook-ink);overscroll-behavior:contain;animation:wedding-storybook-celebration-backdrop .18s ease-out both}.wedding-storybook-gift-celebration-sheet{position:relative;width:min(100%,var(--wedding-mobile-width));height:100%;min-height:100dvh;display:grid;place-items:center;overflow:hidden;padding:calc(76px + env(safe-area-inset-top)) 28px calc(62px + env(safe-area-inset-bottom));background:var(--wedding-storybook-paper)}.wedding-storybook-gift-celebration-botanical{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;pointer-events:none;animation:wedding-storybook-celebration-frame .72s ease-out both}.wedding-storybook-gift-celebration-close{position:absolute;z-index:4;top:calc(18px + env(safe-area-inset-top));right:18px;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--wedding-storybook-ink);border-radius:var(--wedding-radius-pill);color:var(--wedding-storybook-surface);background:var(--wedding-storybook-ink);cursor:pointer}.wedding-storybook-gift-celebration-core{position:relative;z-index:2;width:min(100%,320px);display:grid;justify-items:center;text-align:center}.wedding-storybook-gift-celebration-kicker{margin:0 0 18px;color:var(--wedding-storybook-red-deep);font-size:10px;font-weight:700;letter-spacing:.24em}.wedding-storybook-gift-celebration-asset{width:min(48vw,208px);height:min(48vw,208px);object-fit:contain;animation:wedding-storybook-celebration-gift-arrive .68s cubic-bezier(.18,.76,.28,1) both}.wedding-storybook-gift-celebration-core>strong{margin-top:10px;color:var(--wedding-storybook-ink);font-family:var(--wedding-font-display);font-size:clamp(34px,10vw,48px);font-weight:600;letter-spacing:.18em}.wedding-storybook-gift-celebration-core>span{margin-top:10px;color:var(--wedding-storybook-red-deep);font-family:var(--wedding-font-display);font-size:15px;letter-spacing:.1em}.wedding-storybook-gift-celebration-status{min-height:48px;display:grid;place-items:center;margin:26px 0 0;padding:10px 18px;border-top:1px solid var(--wedding-storybook-line);border-bottom:1px solid var(--wedding-storybook-line);color:var(--wedding-storybook-muted);font-size:13px;letter-spacing:.08em}.wedding-storybook-gift-celebration.is-sent .wedding-storybook-gift-celebration-status{color:var(--wedding-storybook-red-deep)}.wedding-storybook-gift-celebration.is-error .wedding-storybook-gift-celebration-status{color:var(--wedding-danger)}.wedding-storybook-gift-celebration-retry{min-width:126px;min-height:46px;margin-top:18px;padding-inline:20px;border:1px solid var(--wedding-storybook-ink);border-radius:var(--wedding-radius-pill);color:var(--wedding-storybook-surface);background:var(--wedding-storybook-ink);cursor:pointer}.wedding-storybook-gift-celebration-hint{position:absolute;z-index:2;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;color:var(--wedding-storybook-muted);font-size:10px;letter-spacing:.14em;white-space:nowrap;transform:translateX(-50%)}.wedding-storybook-gift-celebration-scatter{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.wedding-storybook-gift-celebration-scatter img{position:absolute;width:54px;height:54px;object-fit:contain;opacity:0;animation:wedding-storybook-celebration-scatter 1.5s ease-out both}.wedding-storybook-gift-celebration-scatter .is-slot-1{top:14%;left:9%;animation-delay:60ms}.wedding-storybook-gift-celebration-scatter .is-slot-2{top:24%;right:7%;animation-delay:.12s}.wedding-storybook-gift-celebration-scatter .is-slot-3{top:48%;left:4%;animation-delay:.18s}.wedding-storybook-gift-celebration-scatter .is-slot-4{right:5%;bottom:34%;animation-delay:.24s}.wedding-storybook-gift-celebration-scatter .is-slot-5{bottom:17%;left:13%;animation-delay:.3s}.wedding-storybook-gift-celebration-scatter .is-slot-6{right:15%;bottom:12%;animation-delay:.36s}.wedding-storybook-gift-celebration-close:focus-visible,.wedding-storybook-gift-celebration-retry:focus-visible{outline:2px solid var(--wedding-storybook-red);outline-offset:3px}@media (max-width:375px){.wedding-storybook-gift-celebration-sheet{padding-inline:20px}.wedding-storybook-gift-celebration-close{right:14px}.wedding-storybook-gift-celebration-scatter img{width:46px;height:46px}}@media (prefers-reduced-motion:reduce){.wedding-storybook-gift-celebration,.wedding-storybook-gift-celebration-asset,.wedding-storybook-gift-celebration-botanical,.wedding-storybook-gift-celebration-scatter img{animation:none}.wedding-storybook-gift-celebration-botanical,.wedding-storybook-gift-celebration-scatter img{opacity:.62}}@keyframes wedding-storybook-celebration-backdrop{0%{opacity:0}to{opacity:1}}@keyframes wedding-storybook-celebration-frame{0%{opacity:0;transform:scale(1.06)}to{opacity:.62;transform:scale(1)}}@keyframes wedding-storybook-celebration-gift-arrive{0%{opacity:0;transform:translateY(36px) scale(.62) rotate(-5deg)}62%{opacity:1;transform:translateY(-5px) scale(1.06) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}}@keyframes wedding-storybook-celebration-scatter{0%{opacity:0;transform:translateY(28px) scale(.54) rotate(-12deg)}38%{opacity:.72}to{opacity:0;transform:translateY(-42px) scale(1.06) rotate(10deg)}}@keyframes wedding-storybook-music-pulse{0%,to{transform:scale(.9)}50%{transform:scale(1.08)}}.hrd-wedding-admin-page{display:block;color:var(--hrd-text)}.hrd-wedding-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-wedding-settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:16px;align-items:start}.hrd-wedding-media-manager,.hrd-wedding-music-manager,.hrd-wedding-review-workspace,.hrd-wedding-settings-form{padding:18px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-wedding-music-manager{grid-column:1/-1}.hrd-wedding-music-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.hrd-wedding-music-heading h3,.hrd-wedding-music-heading p{margin:0}.hrd-wedding-music-heading p{margin-top:4px;color:var(--hrd-muted)}.hrd-wedding-music-list{display:grid;gap:12px;margin-top:16px}.hrd-wedding-music-list article{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-wedding-music-index{width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-primary);background:var(--hrd-panel)}.hrd-wedding-music-index span{color:var(--hrd-muted);font-size:var(--hrd-font-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hrd-wedding-music-details{min-width:0;display:grid;gap:9px}.hrd-wedding-music-title-row{min-width:0;display:flex;align-items:center;gap:8px}.hrd-wedding-music-title-row>span{min-width:0;overflow:hidden;color:var(--hrd-text);text-overflow:ellipsis;white-space:nowrap}.hrd-wedding-music-preview-error,.hrd-wedding-music-preview-loading,.hrd-wedding-music-title-row small{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-wedding-music-title-row small{flex:0 0 auto}.hrd-wedding-music-details audio{width:100%;height:40px}.hrd-wedding-music-actions{justify-content:flex-end}.hrd-wedding-wide-field{grid-column:1/-1}.hrd-wedding-media-upload-actions,.hrd-wedding-review-filter{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}.hrd-wedding-media-list{display:grid;gap:12px}.hrd-wedding-media-list article{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-wedding-media-list article>img,.hrd-wedding-media-placeholder{width:112px;height:84px;display:grid;place-items:center;object-fit:cover;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-muted);background:var(--hrd-panel)}.hrd-wedding-media-list article>div:nth-child(2){min-width:0;display:grid;gap:4px}.hrd-wedding-media-list article span,.hrd-wedding-media-list article strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-wedding-story-editor{display:grid;gap:8px;margin-top:8px}.hrd-wedding-story-editor .ant-input,.hrd-wedding-story-editor .ant-input-affix-wrapper{min-width:0}.hrd-wedding-story-editor .ant-input-data-count{overflow:visible;white-space:normal}.hrd-wedding-media-list article span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-wedding-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.hrd-wedding-stat-grid .ant-statistic{padding:16px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-wedding-review-workspace .ant-pagination{margin-top:16px}.hrd-wedding-draft-preview,.hrd-wedding-review-dialog{display:grid;gap:14px}.hrd-wedding-draft-preview>p{margin:0;white-space:pre-wrap}.hrd-wedding-preview-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hrd-wedding-preview-media-grid .hrd-wedding-media-placeholder,.hrd-wedding-preview-media-grid img{width:100%;height:180px;object-fit:cover;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}@media (max-width:1024px){.hrd-wedding-settings-grid{grid-template-columns:1fr}.hrd-wedding-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.hrd-wedding-admin-toolbar{align-items:stretch;flex-direction:column}.hrd-wedding-media-list article{grid-template-columns:84px minmax(0,1fr)}.hrd-wedding-media-list article>img,.hrd-wedding-media-placeholder{width:84px;height:72px}.hrd-wedding-media-list article>.ant-space{grid-column:1/-1;justify-content:flex-end}.hrd-wedding-music-heading{align-items:stretch;flex-direction:column}.hrd-wedding-music-list article{grid-template-columns:56px minmax(0,1fr)}.hrd-wedding-music-index{width:52px;height:52px}.hrd-wedding-music-actions{grid-column:1/-1}}@media (max-width:375px){.hrd-wedding-preview-media-grid,.hrd-wedding-stat-grid{grid-template-columns:1fr}.hrd-wedding-media-upload-actions .ant-btn,.hrd-wedding-media-upload-actions>*{width:100%}}.hrd-wedding-theme-selector{grid-column:1/-1}.hrd-wedding-theme-selector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.hrd-wedding-theme-selector-heading h3,.hrd-wedding-theme-selector-heading p,.hrd-wedding-theme-selector-heading span{margin:0}.hrd-wedding-theme-selector-heading span{color:var(--hrd-muted);font-size:var(--hrd-font-body)}.hrd-wedding-kicker{margin-bottom:5px!important;color:var(--hrd-primary);font-size:var(--hrd-font-small);letter-spacing:.16em}.hrd-wedding-theme-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.hrd-wedding-theme-card{min-width:0;display:grid;gap:6px;padding:9px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-text);text-align:left;background:var(--hrd-panel-strong);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.hrd-wedding-theme-card:hover{border-color:var(--hrd-border-strong);transform:translateY(-2px)}.hrd-wedding-theme-card.is-selected{border-color:var(--hrd-primary);box-shadow:var(--hrd-focus)}.hrd-wedding-theme-card:focus-visible{outline:none;box-shadow:var(--hrd-focus)}.hrd-wedding-theme-card strong{font-size:var(--hrd-font-body)}.hrd-wedding-theme-card small,.hrd-wedding-theme-card>span:last-child{color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.45}.hrd-wedding-theme-preview{position:relative;height:72px;overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel)}.hrd-wedding-theme-preview b,.hrd-wedding-theme-preview em,.hrd-wedding-theme-preview i{position:absolute;display:block;border:1px solid var(--hrd-primary);border-radius:var(--hrd-radius-round)}.hrd-wedding-theme-preview i{width:58px;height:58px;top:7px;left:calc(50% - 29px)}.hrd-wedding-theme-preview b{width:42px;height:8px;top:31px;left:calc(50% - 21px);border-radius:var(--hrd-radius-control);background:var(--hrd-primary-soft)}.hrd-wedding-theme-preview em{width:10px;height:10px;top:27px;left:calc(50% - 5px);border-color:var(--hrd-primary-hover);background:var(--hrd-panel)}.hrd-wedding-theme-preview-couture_monochrome{background:var(--hrd-text)}.hrd-wedding-theme-preview-couture_monochrome em,.hrd-wedding-theme-preview-couture_monochrome i{border-color:var(--hrd-panel)}.hrd-wedding-theme-preview-paper_theater b{width:66px;height:22px;top:42px;left:calc(50% - 33px)}.hrd-wedding-theme-preview-celestial_garden{background:var(--hrd-panel-strong)}.hrd-wedding-theme-preview-celestial_garden i{border-style:dashed}.hrd-wedding-theme-preview-eastern_void em{border-radius:var(--hrd-radius-control);transform:rotate(45deg)}.hrd-wedding-music-note{margin:0 0 14px;color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.55}.hrd-wedding-music-single{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:16px;padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-wedding-music-empty{margin-top:16px;padding:24px;border:1px dashed var(--hrd-border-strong);border-radius:var(--hrd-radius-control);color:var(--hrd-muted);text-align:center}.hrd-wedding-phone-preview{width:min(100%,390px);min-height:620px;margin:0 auto;overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-text);background:var(--hrd-panel-strong);box-shadow:var(--hrd-shadow)}.hrd-wedding-phone-preview-hero{position:relative;min-height:350px;overflow:hidden;background:var(--hrd-panel)}.hrd-wedding-phone-preview-hero img,.hrd-wedding-phone-preview-placeholder{width:100%;height:350px;display:block;object-fit:cover}.hrd-wedding-phone-preview-placeholder{display:grid;place-items:center;color:var(--hrd-muted);background:var(--hrd-panel-strong)}.hrd-wedding-phone-preview-hero>div:last-child{position:absolute;right:18px;bottom:18px;left:18px;padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel);box-shadow:var(--hrd-shadow)}.hrd-wedding-phone-preview-copy small,.hrd-wedding-phone-preview-hero span{color:var(--hrd-primary);font-size:var(--hrd-font-small);letter-spacing:.16em;text-transform:uppercase}.hrd-wedding-phone-preview-hero h2{margin:5px 0;font-size:var(--hrd-font-title);font-weight:500}.hrd-wedding-phone-preview-hero h2 i{color:var(--hrd-primary);font-style:normal}.hrd-wedding-phone-preview-copy p,.hrd-wedding-phone-preview-hero p{margin:0;color:var(--hrd-muted);font-size:var(--hrd-font-small);line-height:1.6}.hrd-wedding-phone-preview-copy{display:grid;gap:9px;padding:24px 20px}.hrd-wedding-phone-preview-copy h3{margin:0;font-size:var(--hrd-font-title);font-weight:500}.hrd-wedding-phone-preview-copy>div{display:grid;gap:4px;padding-top:12px;border-top:1px solid var(--hrd-border)}.hrd-wedding-phone-preview-copy>div span{color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-wedding-phone-preview-music{margin:0 20px 20px;padding:10px 12px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);color:var(--hrd-primary);font-size:var(--hrd-font-small)}.hrd-wedding-share-composer{display:grid;gap:16px;min-width:0}.hrd-wedding-share-card-preview{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:14px;min-width:0;padding:14px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel-strong)}.hrd-wedding-share-card-copy{display:grid;min-width:0;gap:8px}.hrd-wedding-share-card-copy span,.hrd-wedding-share-card-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.hrd-wedding-share-card-copy strong{color:var(--hrd-text);font-size:var(--hrd-font-section);font-weight:600;white-space:nowrap}.hrd-wedding-share-card-copy span{display:-webkit-box;color:var(--hrd-muted);font-size:var(--hrd-font-body);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.hrd-wedding-share-card-preview img{width:96px;height:96px;display:block;border-radius:var(--hrd-radius-control);object-fit:cover}.hrd-wedding-share-result{display:grid;gap:12px;padding-top:4px}@media (max-width:1024px){.hrd-wedding-theme-options{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.hrd-wedding-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}.hrd-wedding-music-single{grid-template-columns:56px minmax(0,1fr)}.hrd-wedding-music-single .hrd-wedding-music-actions{grid-column:1/-1}}@media (max-width:375px){.hrd-wedding-theme-options{grid-template-columns:1fr}.hrd-wedding-share-card-preview{grid-template-columns:minmax(0,1fr) 72px}.hrd-wedding-share-card-preview img{width:72px;height:72px}}.hrd-codex-preview-review{display:grid;min-width:0;gap:16px;overflow:hidden}.hrd-codex-preview-review__actions,.hrd-codex-preview-review__essence-header,.hrd-codex-preview-review__header,.hrd-codex-preview-review__status-row{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:12px}.hrd-codex-preview-review__essence-header>*,.hrd-codex-preview-review__header>div{min-width:0}.hrd-codex-preview-review__status-row,.hrd-codex-preview-review__style-item span,.hrd-codex-preview-review__summary,.hrd-codex-preview-review__variation-list span{color:var(--hrd-muted);font-size:var(--hrd-font-body)}.hrd-codex-preview-review__summary{margin:0}.hrd-codex-preview-review__loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:72px;color:var(--hrd-muted)}.hrd-codex-preview-review__alert{margin:0}.hrd-codex-preview-review__image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.hrd-codex-preview-review__figure{display:grid;min-width:0;gap:8px;margin:0}.hrd-codex-preview-review__figure figcaption{display:flex;justify-content:space-between;gap:8px;min-width:0;color:var(--hrd-muted);font-size:var(--hrd-font-small)}.hrd-codex-preview-review__figure figcaption span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrd-codex-preview-review__image-frame{display:grid;place-items:center;min-width:0;min-height:260px;overflow:hidden;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-codex-preview-review__image-frame img{display:block;width:100%;max-height:420px;object-fit:contain}.hrd-codex-preview-review__image-error{padding:16px;color:var(--hrd-danger);font-size:var(--hrd-font-body);text-align:center}.hrd-codex-preview-review__essence{display:grid;gap:12px;min-width:0}.hrd-codex-preview-review__essence-header h5{margin:0;color:var(--hrd-text);font-size:var(--hrd-font-body)}.hrd-codex-preview-review__anchor-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hrd-codex-preview-review__anchor-card{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-codex-preview-review__anchor-heading,.hrd-codex-preview-review__style-item{display:flex;align-items:flex-start;min-width:0;gap:8px}.hrd-codex-preview-review__anchor-heading strong,.hrd-codex-preview-review__style-item strong{min-width:0;color:var(--hrd-text);font-size:var(--hrd-font-body);line-height:1.5}.hrd-codex-preview-review__anchor-card p{margin:0;color:var(--hrd-soft);font-size:var(--hrd-font-small);line-height:1.55}.hrd-codex-preview-review__anchor-card p span{color:var(--hrd-muted)}.hrd-codex-preview-review__style-list,.hrd-codex-preview-review__variation-list{display:grid;gap:8px;min-width:0;padding-top:4px}.hrd-codex-preview-review__style-item{padding:8px 0;border-top:1px solid var(--hrd-border)}.hrd-codex-preview-review__style-item>div{display:grid;gap:3px;min-width:0}.hrd-codex-preview-review__variation-list span{line-height:1.6}.hrd-codex-preview-review__actions{justify-content:flex-start;flex-wrap:wrap;padding-top:4px}@media (max-width:768px){.hrd-codex-preview-review__anchor-list,.hrd-codex-preview-review__image-grid{grid-template-columns:minmax(0,1fr)}.hrd-codex-preview-review__image-frame{min-height:220px}}@media (max-width:375px){.hrd-codex-preview-review__actions,.hrd-codex-preview-review__header,.hrd-codex-preview-review__status-row{align-items:stretch;flex-direction:column}.hrd-codex-preview-review__actions .ant-btn{width:100%}}@font-face{font-family:"Wedding Noto Serif SC";src:url(/fonts/wedding/NotoSerifSC.woff2) format("woff2");font-display:swap}@font-face{font-family:Wedding LXGW WenKai;src:url(/fonts/wedding/LXGWWenKai.woff2) format("woff2");font-display:swap}@font-face{font-family:Wedding Smiley Sans;src:url(/fonts/wedding/SmileySans.woff2) format("woff2");font-display:swap}@font-face{font-family:Wedding Cormorant;src:url(/fonts/wedding/CormorantGaramond.woff2) format("woff2");font-display:swap}:root{--wedding-template-canvas:#f3eee4;--wedding-template-paper:#fffaf0;--wedding-template-paper-deep:#eadfc9;--wedding-template-ink:#171512;--wedding-template-muted:#6e6458;--wedding-template-red:#a92f2b;--wedding-template-red-deep:#7f211f;--wedding-template-olive:#687054;--wedding-template-gold:#b58a49;--wedding-template-blue:#315775;--wedding-template-yellow:#e5b85f;--wedding-template-pink:#d9908c;--wedding-template-film:#151411;--wedding-template-film-paper:#f1eadb;--wedding-template-canvas-warm:#d7b888;--wedding-template-sky:#d7e8ed;--wedding-template-line:rgba(23,21,18,0.22);--wedding-template-line-strong:rgba(23,21,18,0.48);--wedding-template-paper-glass:rgba(255,250,240,0.9);--wedding-template-film-glass:rgba(21,20,17,0.88);--wedding-template-shadow:0 18px 48px rgba(23,21,18,0.18);--wedding-template-shadow-soft:0 10px 28px rgba(23,21,18,0.12);--wedding-template-shadow-offset:8px 8px 0 #171512;--wedding-template-cartoon-shadow-small:5px 5px 0 #171512;--wedding-template-cartoon-shadow-tiny:4px 4px 0 #171512;--wedding-cartoon-modern-cream:#fffaf2;--wedding-cartoon-modern-cream-deep:#f3e7d7;--wedding-cartoon-modern-cherry:#a8323c;--wedding-cartoon-modern-cherry-deep:#76232c;--wedding-cartoon-modern-mist:#b9cfdd;--wedding-cartoon-modern-mist-deep:#5f7f95;--wedding-cartoon-modern-peach:#edb6ad;--wedding-cartoon-modern-blush-paper:#fff1ec;--wedding-cartoon-modern-gold:#bd8c45;--wedding-cartoon-modern-ink:#34272b;--wedding-cartoon-modern-muted:#7a6366;--wedding-cartoon-modern-line:rgba(118,35,44,0.2);--wedding-cartoon-modern-line-strong:rgba(118,35,44,0.46);--wedding-cartoon-modern-paper-glass:rgba(255,250,242,0.92);--wedding-cartoon-modern-reading-paper:url(/wedding/templates/cartoon-story-groom/reading-paper.webp);--wedding-cartoon-modern-shadow:0 18px 46px rgba(118,35,44,0.14);--wedding-cartoon-modern-shadow-soft:0 8px 24px rgba(118,35,44,0.11);--wedding-cartoon-modern-shadow-pressed:0 4px 12px rgba(118,35,44,0.12);--wedding-template-shadow-none:none;--wedding-template-record-shadow:0 5px 8px rgba(23,21,18,0.48);--wedding-template-copy-glow:0 2px 12px #fffaf0;--wedding-template-radius:22px;--wedding-template-radius-small:12px;--wedding-template-serif:"Wedding Noto Serif SC",serif;--wedding-template-hand:"Wedding LXGW WenKai",cursive;--wedding-template-display:"Wedding Smiley Sans",sans-serif;--wedding-template-latin:"Wedding Cormorant",serif}.wedding-template-experience{position:relative;width:min(100%,480px);min-height:100dvh;margin:0 auto;overflow-x:clip;background:var(--wedding-template-canvas);isolation:isolate}.wedding-template-page{min-height:100dvh;color:var(--template-ink,var(--wedding-template-ink));background:var(--template-page,var(--wedding-template-paper));font-family:var(--template-body-font,var(--wedding-template-serif))}.wedding-template-page *,.wedding-template-page :after,.wedding-template-page :before{box-sizing:border-box}.wedding-template-music button,.wedding-template-page button,.wedding-template-switcher button{font:inherit}.wedding-template-page img{display:block;max-width:100%;height:auto}.wedding-template-page dd,.wedding-template-page dl,.wedding-template-page figure,.wedding-template-page h1,.wedding-template-page h2,.wedding-template-page ol,.wedding-template-page p{margin:0}.wedding-template-page h1,.wedding-template-page h2{font-family:var(--template-heading-font,var(--wedding-template-serif));font-weight:600;line-height:1.25}.wedding-template-page small{font-family:var(--wedding-template-latin);letter-spacing:.18em}.wedding-template-reveal{opacity:0;transform:translateY(24px);transition:opacity .68s ease,transform .68s ease}.wedding-template-reveal.is-visible{opacity:1;transform:none}.wedding-template-media-fallback{display:grid;min-height:240px;place-items:center;border:1px solid var(--template-line,var(--wedding-template-line));color:var(--template-muted,var(--wedding-template-muted));background:var(--template-surface,var(--wedding-template-paper))}.wedding-template-page>:is(.wedding-chinese-opening,.wedding-cartoon-opening,.wedding-cartoon-modern-opening,.wedding-film-opening-ticket,.wedding-editorial-opening,.wedding-oil-opening-catalog,.wedding-anime-opening-card){position:fixed;z-index:100;inset:0;display:block;width:min(100vw,480px);height:100dvh;margin:auto;overflow:hidden;padding:0;border:0;color:inherit;background:var(--template-page,var(--wedding-template-paper));cursor:pointer;transition:opacity .52s ease,visibility .52s ease}.wedding-template-page.is-opened>:is(.wedding-chinese-opening,.wedding-cartoon-opening,.wedding-cartoon-modern-opening,.wedding-film-opening-ticket,.wedding-editorial-opening,.wedding-oil-opening-catalog,.wedding-anime-opening-card){visibility:hidden;opacity:0;pointer-events:none}.wedding-template-calendar-grid{padding:18px 14px;border:1px solid var(--template-line,var(--wedding-template-line));background:var(--template-surface,var(--wedding-template-paper))}.wedding-template-calendar-grid ol,.wedding-template-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;padding:0}.wedding-template-calendar-grid li,.wedding-template-weekdays span{display:grid;min-height:42px;place-items:center;font-size:14px}.wedding-template-weekdays span{color:var(--template-muted,var(--wedding-template-muted));font-family:var(--wedding-template-hand)}.wedding-template-wedding-day{position:relative;display:grid;width:40px;height:40px;place-items:center}.wedding-template-wedding-day img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.wedding-template-wedding-day strong{z-index:1;color:var(--template-heart-text,var(--wedding-template-paper))}.wedding-template-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}.wedding-template-countdown>div{display:grid;gap:4px;padding-block:12px;border-block:1px solid var(--template-line-strong,var(--wedding-template-line-strong));text-align:center}.wedding-template-countdown dd{font-family:var(--wedding-template-latin);font-size:clamp(24px,8vw,38px)}.wedding-template-countdown dt,.wedding-template-countdown-reached{color:var(--template-muted,var(--wedding-template-muted));font-size:13px}.wedding-template-letter-copy{display:grid;gap:12px;color:var(--template-muted,var(--wedding-template-muted));font-family:var(--wedding-template-hand);font-size:16px;line-height:1.95}.wedding-template-venue-content{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:18px;border:1px solid var(--template-line,var(--wedding-template-line));background:var(--template-surface,var(--wedding-template-paper))}.wedding-template-venue-content div{display:grid;gap:5px}.wedding-template-venue-content span{color:var(--template-muted,var(--wedding-template-muted));font-size:13px}.wedding-template-venue-content a{color:var(--template-accent,var(--wedding-template-red));text-decoration:none}.wedding-template-blessings,.wedding-template-gift-panel{display:grid;gap:18px}.wedding-template-gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wedding-template-gift-button{display:grid;min-width:0;min-height:126px;place-items:center;gap:3px;padding:12px 8px;border:1px solid var(--template-line,var(--wedding-template-line));border-radius:var(--template-radius-small,var(--wedding-template-radius-small));color:inherit;background:var(--template-surface,var(--wedding-template-paper));cursor:pointer}.wedding-template-gift-button img{width:62px;aspect-ratio:1;object-fit:contain;transition:transform .22s ease}.wedding-template-gift-button:focus-visible img,.wedding-template-gift-button:hover img{transform:translateY(-4px) scale(1.05)}.wedding-template-gift-button strong{font-size:14px}.wedding-template-gift-button span{color:var(--template-muted,var(--wedding-template-muted));font-family:var(--wedding-template-latin)}.wedding-template-blessing-form,.wedding-template-gift-name{display:grid;gap:12px;padding:16px;border:1px solid var(--template-line,var(--wedding-template-line));background:var(--template-surface,var(--wedding-template-paper))}.wedding-template-blessing-form label,.wedding-template-gift-name label{display:grid;gap:7px;color:var(--template-muted,var(--wedding-template-muted));font-size:13px}.wedding-template-gift-name>div{display:flex;justify-content:flex-end;gap:8px}.wedding-template-gift-feedback,.wedding-template-gift-summary,.wedding-template-own-gifts{display:flex;align-items:baseline;justify-content:center;gap:8px;color:var(--template-muted,var(--wedding-template-muted));text-align:center}.wedding-template-gift-summary strong{color:var(--template-accent,var(--wedding-template-red));font-family:var(--wedding-template-latin);font-size:34px}.wedding-template-gift-feedback,.wedding-template-own-gifts{flex-wrap:wrap;font-size:13px}.wedding-template-gift-feedback button{border:0;color:var(--template-accent,var(--wedding-template-red));background:transparent;text-decoration:underline;cursor:pointer}.wedding-template-ranking{border-block:1px solid var(--template-line,var(--wedding-template-line))}.wedding-template-ranking-toggle{display:flex;width:100%;min-height:54px;align-items:center;justify-content:space-between;padding:0 4px;border:0;color:inherit;background:transparent;cursor:pointer}.wedding-template-ranking-toggle small{color:var(--template-accent,var(--wedding-template-red))}.wedding-template-ranking ol{display:grid;gap:8px;padding:0 0 14px;list-style:none}.wedding-template-ranking li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;align-items:center}.wedding-template-ranking li>span{color:var(--template-accent,var(--wedding-template-red));font-family:var(--wedding-template-latin);font-size:22px}.wedding-template-ranking li small{color:var(--template-muted,var(--wedding-template-muted))}.wedding-blessing-carousel{position:fixed;z-index:35;top:calc(10px + env(safe-area-inset-top));left:50%;right:auto;transform:translateX(-50%);width:min(100%,480px);min-height:76px;padding:5px 0;overflow:hidden;color:var(--template-text,var(--wedding-template-ink));font-family:var(--wedding-template-serif);pointer-events:none}.wedding-blessing-carousel[hidden]{display:none}.wedding-blessing-marquee{display:grid;gap:4px}.wedding-blessing-marquee-lane{position:relative;height:31px;overflow:hidden}.wedding-blessing-marquee-lane:nth-child(2){transform:translateX(12px)}.wedding-blessing-marquee-track{display:flex;align-items:center;width:max-content;animation:wedding-blessing-marquee-loop var(--blessing-cycle-duration,36s) linear infinite;will-change:transform}.wedding-blessing-marquee-group,.wedding-blessing-marquee-sequence{display:flex;flex:0 0 auto;align-items:center}.wedding-blessing-marquee-group{min-width:min(100vw,480px);gap:60px;padding-inline-end:60px}.wedding-blessing-marquee-group[aria-hidden=true]{pointer-events:none}@keyframes wedding-blessing-marquee-loop{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.wedding-blessing-marquee-item{position:relative;display:inline-flex;flex:0 0 auto;width:max-content;max-width:none;pointer-events:auto}.wedding-blessing-marquee-ornament,.wedding-blessing-marquee-shape{position:relative;display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border:1px solid var(--template-line,var(--wedding-template-paper-deep));background:var(--template-surface,var(--wedding-template-paper));box-shadow:var(--wedding-template-shadow-none);white-space:nowrap}.wedding-blessing-marquee-ornament{gap:7px;border-radius:6px 14px 6px 14px}.wedding-blessing-marquee-ornament-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;color:var(--template-accent,var(--wedding-template-red))}.wedding-blessing-marquee-ornament-icon svg{display:block;width:20px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4}.wedding-blessing-marquee-message{display:inline-flex;align-items:baseline;gap:1px;font-family:var(--wedding-template-display);font-size:12px;line-height:1.35}.wedding-blessing-marquee-message b,.wedding-blessing-marquee-shape-content b{color:var(--template-accent,var(--wedding-template-red));font-weight:600}.wedding-blessing-marquee-shape{min-height:31px;box-sizing:border-box;min-width:156px;max-width:min(78vw,320px);justify-content:center;padding:4px 18px;border:1px solid var(--template-line,var(--wedding-template-paper-deep));border-radius:16px;background:var(--template-surface,var(--wedding-template-paper));box-shadow:var(--wedding-template-shadow-none)}.wedding-blessing-marquee-shape>svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--template-surface,var(--wedding-template-paper));stroke:var(--template-accent,var(--wedding-template-red));stroke-linejoin:round;stroke-width:.85}.wedding-blessing-marquee-shape-content{position:relative;z-index:1;display:inline-flex;width:100%;align-items:baseline;justify-content:center;gap:1px;max-width:100%;overflow-wrap:anywhere;font-family:var(--wedding-template-display);font-size:12px;line-height:1.35;text-align:center;white-space:normal}.wedding-blessing-marquee-shape--heart .wedding-blessing-marquee-shape-content{padding-inline:7px}.wedding-blessing-marquee-shape--heart{border-radius:20px 20px 13px 13px}.wedding-blessing-marquee-shape--ticket{border-radius:4px;border-style:dashed}.wedding-blessing-marquee-shape--medallion{border-radius:999px}.wedding-blessing-marquee-shape--banner{border-radius:5px 16px 5px 16px}.wedding-blessing-marquee-shape--scallop{border-radius:13px;border-style:dotted}.wedding-blessing-marquee-shape--petal{border-radius:22px 8px 22px 8px}.wedding-blessing-marquee-shape--ribbon{border-radius:4px 17px 4px 17px}.wedding-blessing-carousel[data-blessing-style=CHINESE_PAINTED]{--template-surface:var(--wedding-template-paper);--template-accent:var(--wedding-template-red);--template-line:var(--wedding-template-line-strong)}.wedding-blessing-carousel[data-blessing-style=CHINESE_PAINTED] .wedding-blessing-marquee-shape--medallion,.wedding-blessing-carousel[data-blessing-style=CHINESE_PAINTED] .wedding-blessing-marquee-shape--scallop{border-radius:3px 3px 17px 17px;border-style:double}.wedding-blessing-carousel[data-blessing-style=CARTOON_STORY]{--template-surface:var(--wedding-cartoon-modern-cream);--template-accent:var(--wedding-cartoon-modern-cherry);--template-line:var(--wedding-cartoon-modern-line-strong)}.wedding-blessing-carousel[data-blessing-style=CARTOON_STORY] .wedding-blessing-marquee-ornament{border-radius:6px 14px 6px 14px}.wedding-blessing-carousel[data-blessing-style=CARTOON_STORY] .wedding-blessing-marquee-shape--cloud,.wedding-blessing-carousel[data-blessing-style=CARTOON_STORY] .wedding-blessing-marquee-shape--heart{border-radius:22px 22px 13px 13px}.wedding-blessing-carousel[data-blessing-style=CINEMATIC_FILM]{--template-surface:var(--wedding-template-film-paper);--template-accent:var(--wedding-template-film);--template-line:var(--wedding-template-line-strong)}.wedding-blessing-carousel[data-blessing-style=CINEMATIC_FILM] .wedding-blessing-marquee-ornament{border-radius:2px;border-style:dashed}.wedding-blessing-carousel[data-blessing-style=CINEMATIC_FILM] .wedding-blessing-marquee-shape--banner,.wedding-blessing-carousel[data-blessing-style=CINEMATIC_FILM] .wedding-blessing-marquee-shape--ticket{border-radius:3px;border-style:dashed}.wedding-blessing-carousel[data-blessing-style=EDITORIAL_ILLUSTRATION]{--template-surface:var(--wedding-template-paper);--template-accent:var(--wedding-template-red);--template-line:var(--wedding-template-line-strong)}.wedding-blessing-carousel[data-blessing-style=EDITORIAL_ILLUSTRATION] .wedding-blessing-marquee-ornament{border-radius:2px 12px 2px 12px}.wedding-blessing-carousel[data-blessing-style=EDITORIAL_ILLUSTRATION] .wedding-blessing-marquee-shape--petal,.wedding-blessing-carousel[data-blessing-style=EDITORIAL_ILLUSTRATION] .wedding-blessing-marquee-shape--scallop{border-radius:22px 4px 22px 4px}.wedding-blessing-carousel[data-blessing-style=OIL_PORTRAIT]{--template-surface:var(--wedding-template-canvas-warm);--template-accent:var(--wedding-template-olive);--template-line:var(--wedding-template-line-strong)}.wedding-blessing-carousel[data-blessing-style=OIL_PORTRAIT] .wedding-blessing-marquee-ornament{border-radius:3px}.wedding-blessing-carousel[data-blessing-style=OIL_PORTRAIT] .wedding-blessing-marquee-shape--medallion{border-radius:6px;border-style:double}.wedding-blessing-carousel[data-blessing-style=ORIENTAL_ANIME]{--template-surface:var(--wedding-template-paper);--template-accent:var(--wedding-template-olive);--template-line:var(--wedding-template-line-strong)}.wedding-blessing-carousel[data-blessing-style=ORIENTAL_ANIME] .wedding-blessing-marquee-ornament{border-radius:999px 6px 999px 6px}.wedding-blessing-carousel[data-blessing-style=ORIENTAL_ANIME] .wedding-blessing-marquee-shape--cloud,.wedding-blessing-carousel[data-blessing-style=ORIENTAL_ANIME] .wedding-blessing-marquee-shape--petal{border-radius:999px 18px 999px 18px}.wedding-blessing-carousel[data-blessing-style=CHINESE_PAINTED] .wedding-blessing-marquee-ornament{border-inline-start:2px solid var(--template-accent,var(--wedding-template-red));border-radius:0}@media (prefers-reduced-motion:reduce){.wedding-blessing-marquee-track{animation:none;transform:none}.wedding-blessing-marquee-sequence[aria-hidden=true]{display:none}}@media (max-width:375px){.wedding-blessing-carousel{min-height:70px}.wedding-blessing-marquee-lane{height:28px}.wedding-blessing-marquee-message,.wedding-blessing-marquee-shape-content{font-size:12px}}.wedding-template-blessing-wall{display:grid;gap:10px}.wedding-template-blessing-wall article{padding:16px;border:1px solid var(--template-line,var(--wedding-template-line));background:var(--template-surface,var(--wedding-template-paper))}.wedding-template-blessing-wall p{line-height:1.75}.wedding-template-blessing-wall footer{margin-top:8px;color:var(--template-muted,var(--wedding-template-muted));font-family:var(--wedding-template-hand);text-align:right}.wedding-chinese-painted{--template-page:var(--wedding-template-canvas);--template-surface:var(--wedding-template-paper);--template-ink:var(--wedding-template-ink);--template-muted:var(--wedding-template-muted);--template-accent:var(--wedding-template-red-deep);--template-line:var(--wedding-template-line);--template-line-strong:var(--wedding-template-line-strong);--template-heart-text:var(--wedding-template-paper);--template-body-font:var(--wedding-template-serif);--template-heading-font:var(--wedding-template-serif)}.wedding-chinese-opening-photo{width:100%;height:100dvh!important;object-fit:contain;object-position:center}.wedding-chinese-scroll>footer,.wedding-chinese-scroll>section{padding:72px 28px}.wedding-chinese-hero{display:grid;min-height:100dvh;align-content:center;gap:34px}.wedding-chinese-hero header{display:grid;justify-items:center}.wedding-chinese-blessings>small,.wedding-chinese-date header small,.wedding-chinese-gifts>small,.wedding-chinese-hero header small,.wedding-chinese-letter>p,.wedding-chinese-story header small,.wedding-chinese-venue>small{color:var(--wedding-template-red-deep)}.wedding-chinese-hero h1{font-size:clamp(40px,12vw,58px);font-weight:500}.wedding-chinese-hero header i{color:var(--wedding-template-red);font-family:var(--wedding-template-latin);font-size:28px}.wedding-chinese-hero figure{padding:10px;border:1px solid var(--wedding-template-line);background:var(--wedding-template-paper);transform:rotate(-1deg)}.wedding-chinese-hero-photo{width:100%;max-height:61dvh;object-fit:contain}.wedding-chinese-hero figcaption{padding:12px 4px 3px;color:var(--wedding-template-muted);font-family:var(--wedding-template-hand);text-align:center}.wedding-chinese-letter{position:relative;display:grid;gap:18px;border:1px solid var(--wedding-template-line);background:var(--wedding-template-paper)}.wedding-chinese-blessings h2,.wedding-chinese-date h2,.wedding-chinese-gifts h2,.wedding-chinese-letter h2,.wedding-chinese-story h2,.wedding-chinese-venue h2{font-size:clamp(28px,8vw,38px)}.wedding-chinese-letter>img{justify-self:end;width:52%;margin-top:12px}.wedding-chinese-story{display:grid;gap:46px}.wedding-chinese-story header{text-align:center}.wedding-chinese-story figure{display:grid;gap:14px;padding:10px;background:var(--wedding-template-paper);box-shadow:var(--wedding-template-shadow-soft)}.wedding-chinese-story figure:nth-of-type(2n){transform:rotate(1.5deg)}.wedding-chinese-story-photo{width:100%;object-fit:contain}.wedding-chinese-story figcaption{display:grid;gap:6px;padding:0 8px 10px}.wedding-chinese-story figcaption p,.wedding-chinese-story figcaption small{color:var(--wedding-template-muted)}.wedding-chinese-blessings,.wedding-chinese-date,.wedding-chinese-gifts,.wedding-chinese-venue{display:grid;gap:22px}.wedding-chinese-calendar-card{padding:12px;border:1px solid var(--wedding-template-line);background:var(--wedding-template-paper)}.wedding-chinese-calendar-heading{display:flex;justify-content:space-between;padding:8px 8px 14px}.wedding-chinese-date>p{color:var(--wedding-template-muted);text-align:center}.wedding-chinese-ending{position:relative;min-height:100dvh;display:grid;align-content:center;gap:26px;text-align:center}.wedding-chinese-ending-photo{width:100%;max-height:58dvh;object-fit:contain}.wedding-chinese-ending>div{display:grid;justify-items:center;gap:7px}.wedding-chinese-ending>div strong{font-size:34px}.wedding-chinese-ending>img{width:72px;margin:0 auto}.wedding-cartoon-story{--template-page:var(--wedding-template-yellow);--template-surface:var(--wedding-template-paper);--template-ink:var(--wedding-template-ink);--template-muted:var(--wedding-template-blue);--template-accent:var(--wedding-template-red);--template-line:var(--wedding-template-line-strong);--template-line-strong:var(--wedding-template-ink);--template-heart-text:var(--wedding-template-paper);--template-body-font:var(--wedding-template-display);--template-heading-font:var(--wedding-template-display);--template-radius-small:var(--wedding-template-radius)}.wedding-cartoon-opening-art{width:100%;height:100%!important;object-fit:cover;object-position:center}.wedding-cartoon-opening>img[aria-hidden=true]{display:none}.wedding-cartoon-opening-copy{position:absolute;z-index:2;inset:max(5dvh,34px) 24px auto;display:grid;justify-items:center;gap:8px;padding:18px 16px 16px;border:2px solid var(--wedding-template-ink);border-radius:var(--wedding-template-radius);background:var(--wedding-template-paper-glass);box-shadow:var(--wedding-template-shadow-offset);text-align:center;transform:rotate(-1deg)}.wedding-cartoon-opening-copy small{color:var(--wedding-template-red-deep);font-size:12px;font-weight:700}.wedding-cartoon-opening-copy strong{font-size:clamp(28px,8vw,38px);line-height:1.2}.wedding-cartoon-opening-ticket{position:absolute;z-index:3;inset:30dvh 24px auto auto;display:grid;gap:2px;min-width:126px;padding:10px 16px;border:2px dashed var(--wedding-template-ink);border-radius:var(--wedding-template-radius-small);background:var(--wedding-template-paper);box-shadow:var(--wedding-template-shadow-offset);text-align:center;transform:rotate(-4deg)}.wedding-cartoon-opening-ticket small{color:var(--wedding-template-red-deep);font-size:9px;font-weight:700}.wedding-cartoon-book>footer,.wedding-cartoon-book>section{padding:64px 24px}.wedding-cartoon-cover{position:relative;min-height:100dvh;display:grid;align-content:center;gap:18px}.wedding-cartoon-title-card{z-index:1;display:grid;justify-items:center;margin:0 18px -48px;padding:16px;border:2px solid var(--wedding-template-ink);border-radius:var(--wedding-template-radius);background:var(--wedding-template-paper);transform:rotate(-2deg)}.wedding-cartoon-title-card h1{font-size:38px}.wedding-cartoon-title-card b{color:var(--wedding-template-red)}.wedding-cartoon-hero-art{width:100%;max-height:72dvh;object-fit:contain;border:3px solid var(--wedding-template-ink);border-radius:var(--wedding-template-radius)}.wedding-cartoon-route-sticker{position:absolute;z-index:2;inset:auto 8px 24px auto;width:min(46%,190px);max-height:142px;object-fit:contain;pointer-events:none}.wedding-cartoon-date-page,.wedding-cartoon-gift-page,.wedding-cartoon-map-card,.wedding-cartoon-message-page,.wedding-cartoon-note{display:grid;gap:20px;margin:28px 18px;border:2px solid var(--wedding-template-ink);border-radius:var(--wedding-template-radius);background:var(--wedding-template-paper);box-shadow:var(--wedding-template-shadow-offset)}.wedding-cartoon-map-card,.wedding-cartoon-message-page,.wedding-cartoon-note{transform:rotate(-.6deg)}.wedding-cartoon-date-page,.wedding-cartoon-gift-page{transform:rotate(.6deg)}.wedding-cartoon-date-page small,.wedding-cartoon-gift-page small,.wedding-cartoon-map-card small,.wedding-cartoon-message-page small,.wedding-cartoon-note>span,.wedding-cartoon-panels small{color:var(--wedding-template-red-deep)}.wedding-cartoon-panels{display:grid;gap:22px}.wedding-cartoon-panels>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wedding-cartoon-panels figure{padding:8px;border:2px solid var(--wedding-template-ink);border-radius:var(--wedding-template-radius-small);background:var(--wedding-template-paper)}.wedding-cartoon-panels figure:first-child{grid-column:1/-1}.wedding-cartoon-story-art{width:100%;object-fit:contain;border-radius:calc(var(--wedding-template-radius-small) - 4px)}.wedding-cartoon-panels figcaption{padding:10px 4px 4px}.wedding-cartoon-ending{min-height:100dvh;display:grid;place-content:center;gap:20px;text-align:center}.wedding-cartoon-ending-art{max-height:65dvh;object-fit:contain;border:3px solid var(--wedding-template-ink);border-radius:var(--wedding-template-radius)}.wedding-cartoon-gift-page{position:relative;overflow:hidden}.wedding-cartoon-gift-page>header{position:relative;z-index:1;display:grid;gap:4px}.wedding-cartoon-gift-page>header h2{max-width:82%;font-size:clamp(25px,7vw,34px)}.wedding-cartoon-gift-sticker{position:absolute;inset:18px 18px auto auto;width:66px;transform:rotate(9deg)}.wedding-cartoon-story .wedding-template-gift-grid{gap:12px}.wedding-cartoon-story .wedding-template-gift-button{min-height:148px;gap:5px;border-width:2px;border-radius:var(--wedding-template-radius);box-shadow:var(--wedding-template-cartoon-shadow-small)}.wedding-cartoon-story .wedding-template-gift-button:nth-child(odd){transform:rotate(-.8deg)}.wedding-cartoon-story .wedding-template-gift-button:nth-child(2n){transform:rotate(.8deg)}.wedding-cartoon-story .wedding-template-gift-button img{width:78px}.wedding-cartoon-story .wedding-template-gift-button strong{font-size:16px}.wedding-cartoon-story .wedding-template-gift-button span{font-size:18px}.wedding-cartoon-ending-seal{width:76px;margin:2px auto 0}.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-music-control,.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-switcher-tab{border:2px solid var(--wedding-template-ink);background:var(--wedding-template-yellow);box-shadow:var(--wedding-template-cartoon-shadow-tiny)}.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-switcher-tab{border-radius:var(--wedding-template-radius-small) 0 0 var(--wedding-template-radius-small);color:var(--wedding-template-ink)}.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect img:not(.wedding-template-gift-effect-aura){width:clamp(64px,20vw,108px)}.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect img.is-slot-1{z-index:4;width:clamp(132px,38vw,184px)}.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect .wedding-template-gift-effect-copy>span,.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect .wedding-template-gift-effect-copy>strong{padding:5px 14px;border:2px solid var(--wedding-template-ink);border-radius:var(--wedding-template-radius-small);color:var(--wedding-template-ink);background:var(--wedding-template-yellow);box-shadow:var(--wedding-template-cartoon-shadow-tiny);font-family:var(--wedding-template-display);font-weight:700}.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect .wedding-template-gift-effect-copy>span{color:var(--wedding-template-paper);background:var(--wedding-template-red)}.wedding-cartoon-modern{--template-page:var(--wedding-cartoon-modern-cream);--template-surface:var(--wedding-cartoon-modern-cream);--template-ink:var(--wedding-cartoon-modern-ink);--template-muted:var(--wedding-cartoon-modern-muted);--template-accent:var(--wedding-cartoon-modern-cherry);--template-line:var(--wedding-cartoon-modern-line);--template-line-strong:var(--wedding-cartoon-modern-line-strong);--template-heart-text:var(--wedding-cartoon-modern-cherry-deep);--template-body-font:var(--wedding-template-serif);--template-heading-font:var(--wedding-template-hand);overflow:hidden}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false]{position:fixed;inset:0;width:min(100vw,480px);margin:auto;overflow:hidden}.wedding-cartoon-modern-opening{position:relative;display:grid!important;height:100dvh;min-height:0;align-content:start;overflow-x:hidden;overflow-y:auto;padding:0;color:var(--wedding-cartoon-modern-ink);text-align:center;background:var(--wedding-cartoon-modern-cream)}.wedding-cartoon-modern-opening-stage{position:relative;display:block;width:100%;aspect-ratio:941/1672;container-type:inline-size;overflow:hidden}.wedding-cartoon-modern-opening-art{position:absolute;inset:0;display:block;width:100%;height:100%!important;object-fit:fill}.wedding-cartoon-modern-opening-copy{position:absolute;z-index:2;inset:18.15% auto auto 51.03%;display:grid;grid-template-columns:auto auto auto;align-items:center;justify-items:center;justify-content:center;column-gap:3cqw;color:var(--wedding-cartoon-modern-cherry-deep);transform:translateX(-50%);white-space:nowrap}.wedding-cartoon-modern-opening-copy strong{font-family:var(--wedding-template-hand);font-size:6.2cqw;font-weight:400;line-height:1.18;letter-spacing:.045em}.wedding-cartoon-modern-opening-copy strong:last-of-type{transform:scaleX(1.065);transform-origin:left center}.wedding-cartoon-modern-opening-copy b{margin-inline-start:.7cqw;color:var(--wedding-cartoon-modern-cherry);font-family:var(--wedding-template-hand);font-size:4.45cqw;font-weight:500;line-height:1}.wedding-cartoon-modern-opening-copy time{grid-column:1/-1;margin-top:10.75cqw;color:var(--wedding-cartoon-modern-cherry-deep);font-family:var(--wedding-template-hand);font-size:2.55cqw;font-weight:400;letter-spacing:.075em}.wedding-cartoon-modern-book{background-color:var(--wedding-cartoon-modern-cream);background-image:var(--wedding-cartoon-modern-reading-paper);background-repeat:repeat;background-size:512px 512px}.wedding-cartoon-modern-book>footer,.wedding-cartoon-modern-book>section{position:relative;padding:72px 24px}.wedding-cartoon-modern-book>:is(.wedding-cartoon-modern-hero,.wedding-cartoon-modern-letter,.wedding-cartoon-modern-story,.wedding-cartoon-modern-date,.wedding-cartoon-modern-venue,.wedding-cartoon-modern-gifts,.wedding-cartoon-modern-blessings,.wedding-cartoon-modern-ending){margin:18px 14px 28px;border:1px dashed var(--wedding-cartoon-modern-line-strong);border-radius:44px 16px 44px 16px;background-color:var(--wedding-cartoon-modern-paper-glass);background-image:var(--wedding-cartoon-modern-reading-paper);background-repeat:repeat;background-size:512px 512px;box-shadow:var(--wedding-cartoon-modern-shadow-soft)}.wedding-cartoon-modern-book>footer>div,.wedding-cartoon-modern-book>section>header{display:grid;gap:8px}.wedding-cartoon-modern-book>footer small,.wedding-cartoon-modern-book>section>header small{color:var(--wedding-cartoon-modern-cherry-deep);font-size:11px;font-weight:700}.wedding-cartoon-modern-book h2{font-size:clamp(28px,8vw,40px);font-weight:500}.wedding-cartoon-modern-hero{min-height:calc(100dvh - 36px);display:grid;align-content:center;gap:24px}.wedding-cartoon-modern-hero header{position:relative;z-index:1;justify-items:center;text-align:center}.wedding-cartoon-modern-hero h1{display:grid;justify-items:center;gap:1px;font-size:clamp(34px,10vw,48px);font-weight:500}.wedding-cartoon-modern-hero h1 b{color:var(--wedding-cartoon-modern-cherry);font-family:var(--wedding-template-latin);font-size:28px}.wedding-cartoon-modern-hero header>p{color:var(--wedding-cartoon-modern-muted);font-family:var(--wedding-template-latin);font-size:16px}.wedding-cartoon-modern-hero-art{width:100%;max-height:67dvh;object-fit:contain;filter:drop-shadow(var(--wedding-cartoon-modern-shadow-soft))}.wedding-cartoon-modern-caption{justify-self:center;padding:9px 18px;border-block:1px solid var(--wedding-cartoon-modern-line-strong);color:var(--wedding-cartoon-modern-muted);font-size:14px;letter-spacing:.08em}.wedding-cartoon-modern-letter{min-height:86dvh;display:grid;align-content:center;gap:20px;margin-block:34px!important;border-style:solid!important}.wedding-cartoon-modern-letter-tab{position:relative;display:flex;align-items:center;justify-content:center;justify-self:start;width:220px;max-width:100%;min-height:82px;margin:-74px 0 18px;padding:18px 28px 18px 42px;border:1px solid var(--wedding-cartoon-modern-line-strong);color:var(--wedding-cartoon-modern-cherry-deep);background:var(--wedding-cartoon-modern-cream);box-shadow:var(--wedding-cartoon-modern-shadow-pressed);font-family:var(--wedding-template-display);font-size:18px;letter-spacing:.08em}.wedding-cartoon-modern-letter-tab:before{content:"";position:absolute;inset:5px;border:1px solid var(--wedding-cartoon-modern-line);pointer-events:none}.wedding-cartoon-modern-letter-tab:after{content:"";position:absolute;top:-1px;right:-1px;width:16px;height:16px;background:var(--wedding-cartoon-modern-cream-deep);clip-path:polygon(0 0,100% 100%,0 100%);pointer-events:none}.wedding-cartoon-modern-letter-sprig{position:absolute;left:10px;width:30px;height:54px;stroke:var(--wedding-cartoon-modern-line-strong);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.wedding-cartoon-modern-letter-seal{position:absolute;right:9px;bottom:-17px;width:34px;height:41px;fill:var(--wedding-cartoon-modern-cherry);stroke:var(--wedding-cartoon-modern-cherry-deep);stroke-width:.8}.wedding-cartoon-modern-letter-seal circle{fill:none;stroke:var(--wedding-cartoon-modern-peach)}.wedding-cartoon-modern-letter-seal .wedding-cartoon-modern-letter-ribbon{fill:var(--wedding-cartoon-modern-peach);stroke:var(--wedding-cartoon-modern-line-strong)}.wedding-cartoon-modern-letter-seal .wedding-cartoon-modern-letter-heart{fill:var(--wedding-cartoon-modern-cream);stroke:none}.wedding-cartoon-modern-letter>small{color:var(--wedding-cartoon-modern-mist-deep);font-weight:700}.wedding-cartoon-modern-letter h2{max-width:92%}.wedding-cartoon-modern-letter>img{width:86px;margin:6px 0 -38px auto;transform:rotate(7deg)}.wedding-cartoon-modern-story{display:grid;gap:34px}.wedding-cartoon-modern-story>header{padding-inline:4px}.wedding-cartoon-modern-story-spread{display:grid;overflow:hidden;border:1px solid var(--wedding-cartoon-modern-line);border-radius:34px 12px 34px 12px;background:var(--wedding-cartoon-modern-cream);box-shadow:var(--wedding-cartoon-modern-shadow)}.wedding-cartoon-modern-story-spread.is-second{border-radius:12px 34px 12px 34px}.wedding-cartoon-modern-story-art{width:100%;aspect-ratio:3/2;object-fit:contain}.wedding-cartoon-modern-story-spread figcaption{position:relative;display:grid;gap:6px;padding:20px 22px 24px}.wedding-cartoon-modern-story-spread figcaption>span{position:absolute;inset:14px 18px auto auto;color:var(--wedding-cartoon-modern-mist-deep);font-family:var(--wedding-template-latin);font-size:30px}.wedding-cartoon-modern-story-spread figcaption strong{max-width:74%;color:var(--wedding-cartoon-modern-cherry-deep);font-family:var(--wedding-template-hand);font-size:20px;font-weight:500}.wedding-cartoon-modern-story-spread figcaption p{color:var(--wedding-cartoon-modern-muted);line-height:1.75}.wedding-cartoon-modern-date{display:grid;gap:26px;min-height:100dvh;align-content:center}.wedding-cartoon-modern-date>header{text-align:center}.wedding-cartoon-modern-date>header p{color:var(--wedding-cartoon-modern-muted)}.wedding-cartoon-modern-calendar-sheet{padding:12px;border:1px solid var(--wedding-cartoon-modern-line);border-radius:28px 28px 12px 12px;background:var(--wedding-cartoon-modern-cream-deep);box-shadow:var(--wedding-cartoon-modern-shadow-soft)}.wedding-cartoon-modern .wedding-template-calendar-grid{border:0;border-radius:18px 18px 8px 8px}.wedding-cartoon-modern .wedding-template-wedding-day{width:46px;height:42px}.wedding-cartoon-modern .wedding-template-wedding-day strong{font-family:var(--wedding-template-latin);font-size:15px}.wedding-cartoon-modern .wedding-template-countdown>div{border-color:var(--wedding-cartoon-modern-mist-deep)}.wedding-cartoon-modern-venue{display:grid;align-content:center}.wedding-cartoon-modern-venue-stub{display:grid;gap:10px;padding:12px 4px}.wedding-cartoon-modern-venue-stub>small{color:var(--wedding-cartoon-modern-cherry-deep);font-weight:700}.wedding-cartoon-modern-venue-stub>strong{margin-top:12px;font-family:var(--wedding-template-serif);font-size:22px}.wedding-cartoon-modern-venue-stub>p{color:var(--wedding-cartoon-modern-muted);line-height:1.7}.wedding-cartoon-modern-venue-stub>a{display:flex;justify-self:start;align-items:center;min-height:44px;max-width:100%;gap:18px;margin-top:6px;padding:6px 0;border:0;border-bottom:1px solid var(--wedding-cartoon-modern-line-strong);color:var(--wedding-cartoon-modern-cherry-deep);background:transparent;font-family:var(--wedding-template-display);font-size:15px;letter-spacing:.16em;text-align:left;text-decoration:none}.wedding-cartoon-modern-venue-stub>a svg{width:32px;height:16px;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.wedding-cartoon-modern-venue-stub>a:focus-visible{outline:2px solid var(--wedding-cartoon-modern-cherry);outline-offset:4px}.wedding-cartoon-modern-venue-stub>a:hover{border-color:var(--wedding-cartoon-modern-cherry)}.wedding-cartoon-modern-gifts{display:grid;gap:28px;background-color:var(--wedding-cartoon-modern-blush-paper)!important}.wedding-cartoon-modern-gifts>header p{color:var(--wedding-cartoon-modern-muted);font-size:14px}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-button{min-height:178px;gap:7px;padding:16px 10px 13px;border:1px dashed var(--wedding-cartoon-modern-line-strong);border-radius:30px 12px 30px 12px;color:var(--wedding-cartoon-modern-ink);background-color:var(--wedding-cartoon-modern-cream-deep);background-image:var(--wedding-cartoon-modern-reading-paper);background-repeat:repeat;background-size:512px 512px;box-shadow:var(--wedding-cartoon-modern-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-button:nth-child(2n){border-radius:12px 30px 12px 30px}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-button:active{box-shadow:var(--wedding-cartoon-modern-shadow-pressed);transform:translateY(3px) scale(.98)}.wedding-cartoon-modern :is(a,button,input,textarea):focus-visible,.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-button:focus-visible{outline:2px solid var(--wedding-cartoon-modern-mist-deep);outline-offset:3px}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-button img{width:106px;height:94px;object-fit:contain;filter:drop-shadow(var(--wedding-cartoon-modern-shadow-soft))}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-button strong{font-family:var(--wedding-template-hand);font-size:17px;font-weight:500}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-button span{color:var(--wedding-cartoon-modern-cherry-deep);font-size:18px}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-form,.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-name{padding:22px;border:1px solid var(--wedding-cartoon-modern-line);border-radius:32px 10px 32px 10px;background:var(--wedding-cartoon-modern-cream-deep);box-shadow:var(--wedding-cartoon-modern-shadow-soft)}.wedding-template-blessings.is-modern-cartoon :is(input,textarea,button),.wedding-template-gift-panel.is-modern-cartoon :is(input,button){font:inherit}.wedding-template-blessings.is-modern-cartoon :is(input,textarea),.wedding-template-gift-panel.is-modern-cartoon input{width:100%;border:0;border-bottom:1px solid var(--wedding-cartoon-modern-line-strong);border-radius:0;color:var(--wedding-cartoon-modern-ink);background:transparent;outline:0}.wedding-template-gift-panel.is-modern-cartoon input{min-height:44px}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-name button,.wedding-template-letter-seal,.wedding-template-more-ribbon{min-height:44px;padding:10px 16px;border:1px solid var(--wedding-cartoon-modern-line-strong);border-radius:16px 5px 16px 5px;color:var(--wedding-cartoon-modern-cherry-deep);background:var(--wedding-cartoon-modern-cream);cursor:pointer}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-name button.is-primary,.wedding-template-letter-seal{color:var(--wedding-cartoon-modern-cream);background:var(--wedding-cartoon-modern-cherry)}.wedding-cartoon-modern-ranking{padding-block:24px!important}.wedding-template-ranking.is-modern-cartoon{border:1px solid var(--wedding-cartoon-modern-line);border-radius:12px 28px 12px 28px;background:var(--wedding-cartoon-modern-cream-deep);box-shadow:var(--wedding-cartoon-modern-shadow-soft)}.wedding-template-ranking.is-modern-cartoon .wedding-template-ranking-toggle{min-height:72px;padding:0 22px}.wedding-template-ranking.is-modern-cartoon .wedding-template-ranking-toggle span{font-family:var(--wedding-template-display);font-size:18px}.wedding-template-ranking.is-modern-cartoon>div{padding:0 22px 20px}.wedding-template-ranking.is-modern-cartoon .wedding-template-ranking-list{margin:0;padding-bottom:14px}.wedding-template-ranking.is-modern-cartoon .wedding-template-ranking-overflow{max-height:clamp(180px,36dvh,320px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-top:1px solid var(--wedding-cartoon-modern-line);padding:12px 8px 4px 0}.wedding-template-ranking.is-modern-cartoon .wedding-template-ranking-overflow .wedding-template-ranking-list{padding-bottom:8px}.wedding-template-inline-state{padding-block:18px;color:var(--wedding-cartoon-modern-muted);text-align:center}.wedding-template-inline-state.is-error{color:var(--wedding-cartoon-modern-cherry-deep)}.wedding-cartoon-modern-blessings{display:grid;gap:24px;background-color:var(--wedding-cartoon-modern-blush-paper)!important}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-form label{color:var(--wedding-cartoon-modern-muted)}.wedding-template-blessings.is-modern-cartoon textarea{min-height:112px;padding:10px 0;resize:vertical}.wedding-template-textarea-wrap{position:relative;display:block}.wedding-template-textarea-wrap>small{position:absolute;inset:auto 0 4px auto;color:var(--wedding-cartoon-modern-muted);font-family:var(--wedding-template-latin);font-size:11px}.wedding-template-letter-seal{justify-self:end;min-width:154px;font-family:var(--wedding-template-hand)!important}.wedding-template-letter-seal:disabled{opacity:.66;cursor:wait}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-wall article{border:1px solid var(--wedding-cartoon-modern-line);border-radius:24px 8px 24px 8px;background:var(--wedding-cartoon-modern-cream);box-shadow:var(--wedding-cartoon-modern-shadow-soft)}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-carousel{--wedding-blessing-carousel-card-height:104px;--wedding-blessing-carousel-gap:12px;height:calc(var(--wedding-blessing-carousel-card-height) * 3 + var(--wedding-blessing-carousel-gap) * 2);overflow:hidden;pointer-events:none;touch-action:none}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-carousel-track{display:grid;gap:var(--wedding-blessing-carousel-gap);transform:translate3d(0,calc(-1 * (var(--wedding-blessing-carousel-card-height) + var(--wedding-blessing-carousel-gap)) * var(--wedding-blessing-carousel-index)),0);transition:transform .56s cubic-bezier(.22,.61,.36,1);will-change:transform}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-carousel-track.is-resetting{transition:none}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-carousel-card{box-sizing:border-box;height:var(--wedding-blessing-carousel-card-height);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:6px;overflow:hidden;padding:14px 16px;border:1px solid var(--wedding-cartoon-modern-line);border-radius:24px 8px 24px 8px;color:var(--wedding-cartoon-modern-ink);background:var(--wedding-cartoon-modern-cream);box-shadow:var(--wedding-cartoon-modern-shadow-soft)}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-carousel-card p{display:-webkit-box;overflow:hidden;margin:0;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-carousel-card footer{margin:0;color:var(--wedding-cartoon-modern-muted);font-family:var(--wedding-template-hand);text-align:right}@media (prefers-reduced-motion:reduce){.wedding-template-blessings.is-modern-cartoon .wedding-template-blessing-carousel-track{transition:none}}.wedding-cartoon-modern-ending{min-height:100dvh;display:grid;align-content:center;gap:24px}.wedding-cartoon-modern-ending-art{width:100%;max-height:58dvh;object-fit:contain;border-radius:34px 10px 34px 10px;box-shadow:var(--wedding-cartoon-modern-shadow)}.wedding-cartoon-modern-ending>div{justify-items:center;text-align:center}.wedding-cartoon-modern-ending>div p{color:var(--wedding-cartoon-modern-muted)}.wedding-cartoon-modern-ending>div strong{color:var(--wedding-cartoon-modern-cherry-deep);font-family:var(--wedding-template-hand);font-size:28px;font-weight:500}.wedding-cartoon-modern-ending>div strong b{color:var(--wedding-cartoon-modern-mist-deep);font-family:var(--wedding-template-latin)}.wedding-cartoon-modern-ending>div span{font-family:var(--wedding-template-hand)}.wedding-template-switcher[data-wedding-switcher-edition=GROOM][data-wedding-switcher-template=CARTOON_STORY] .wedding-template-switcher-tab{width:min(14.15vw,67.9px);min-height:0;aspect-ratio:133/370;overflow:hidden;padding:0;border:0;border-radius:0;color:transparent;background:transparent;box-shadow:var(--wedding-template-shadow-none)}.wedding-template-switcher-cartoon-tab-art{display:block;width:100%;height:100%;object-fit:cover}.wedding-template-switcher[data-wedding-switcher-edition=GROOM][data-wedding-switcher-template=CARTOON_STORY] .wedding-template-switcher-panel{gap:12px;padding:16px;border:1px solid var(--wedding-cartoon-modern-line-strong);border-radius:30px 10px 30px 10px;background:var(--wedding-cartoon-modern-cream-deep);box-shadow:var(--wedding-cartoon-modern-shadow)}.wedding-template-switcher[data-wedding-switcher-edition=GROOM][data-wedding-switcher-template=CARTOON_STORY] .wedding-template-switcher-panel>button{border:1px dashed var(--wedding-cartoon-modern-line-strong);border-radius:20px 8px 20px 8px;color:var(--wedding-cartoon-modern-ink);background:var(--wedding-cartoon-modern-cream);box-shadow:var(--wedding-cartoon-modern-shadow-soft)}.wedding-template-switcher[data-wedding-switcher-edition=GROOM][data-wedding-switcher-template=CARTOON_STORY] .wedding-template-switcher-panel>button[aria-pressed=true]{border-color:var(--wedding-cartoon-modern-cherry);background:var(--wedding-cartoon-modern-peach)}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false] .wedding-template-switcher{inset:min(13.3vw,63.8px) auto auto calc(50% + min(35.85vw, 172.1px))}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false] .wedding-template-switcher-tab{width:min(14.15vw,67.9px);opacity:0}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-music{width:52px;height:52px;inset-inline-start:calc(50% + 172px)}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-music-control{width:52px;height:52px;border:0;border-radius:0;background:transparent;box-shadow:var(--wedding-template-shadow-none)}.wedding-template-cartoon-cover-record-label{display:none}.wedding-template-cartoon-player{position:absolute;inset:0;width:52px;height:52px;object-fit:contain;filter:drop-shadow(var(--wedding-cartoon-modern-shadow-soft))}.wedding-template-cartoon-record{position:absolute;z-index:2;inset:25px auto auto 9px;width:28px;height:28px;object-fit:contain}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-notes{inset:-23px 0 auto auto;width:30px}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-live-status{position:fixed;width:1px;height:1px;overflow:hidden;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-music-control.is-playing .wedding-template-cartoon-record{animation:wedding-template-record-spin 4.8s linear infinite}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false] .wedding-template-music{inset:min(139.8vw,671px) auto auto calc(50% - min(39.4vw, 189px));width:min(27.65vw,132.7px);height:min(28.7vw,137.8px)}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false] .wedding-template-music-control{width:100%;height:100%}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false] :is(.wedding-template-cartoon-player,.wedding-template-cartoon-record){display:none}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false] .wedding-template-cartoon-cover-record-label{position:fixed;z-index:2;inset:calc(min(100vw, 480px) * 1472 / 941) auto auto calc(50% - min(50vw, 240px) + min(100vw, 480px) * 205 / 941);display:block;width:calc(min(100vw, 480px) * 60 / 941);height:calc(min(100vw, 480px) * 38 / 941);overflow:hidden;border-radius:50%;pointer-events:none}.wedding-template-cartoon-cover-record-label>.wedding-template-cartoon-cover-record-rotor{position:absolute;inset:calc(-100% * 1472 / 38) auto auto calc(-100% * 205 / 60);display:block;width:calc(100% * 941 / 60);max-width:none;height:calc(100% * 1672 / 38);object-fit:fill;transform-origin:calc(100% * 235 / 941) calc(100% * 1491 / 1672);animation:wedding-cartoon-cover-label-spin 4.8s linear infinite paused}@keyframes wedding-cartoon-cover-label-spin{0%{transform:scaleY(calc(38 / 60)) rotate(0turn) scaleY(calc(60 / 38))}to{transform:scaleY(calc(38 / 60)) rotate(1turn) scaleY(calc(60 / 38))}}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false] .wedding-template-notes{inset:-8% -8% auto auto;width:42%}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=false] .wedding-template-music-control.is-playing .wedding-template-cartoon-cover-record-rotor{animation-play-state:running}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect img:not(.wedding-template-gift-effect-aura){width:clamp(72px,22vw,118px);filter:drop-shadow(var(--wedding-cartoon-modern-shadow-soft))}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect img.is-slot-1{width:clamp(150px,42vw,206px)}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect .wedding-template-gift-effect-copy>span,.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect .wedding-template-gift-effect-copy>strong{padding:8px 18px;border:1px solid var(--wedding-cartoon-modern-line-strong);border-radius:18px 5px 18px 5px;color:var(--wedding-cartoon-modern-cherry-deep);background:var(--wedding-cartoon-modern-cream-deep);box-shadow:var(--wedding-cartoon-modern-shadow-soft);font-family:var(--wedding-template-display);font-weight:650}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect .wedding-template-gift-effect-copy>span{color:var(--wedding-cartoon-modern-cream);background:var(--wedding-cartoon-modern-cherry);font-size:40px}@media (max-width:430px){.wedding-cartoon-modern-book>footer,.wedding-cartoon-modern-book>section{padding-inline:20px}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY][data-wedding-opened=true] .wedding-template-music{inset-inline-start:auto;inset-inline-end:4px}.wedding-template-gift-panel.is-modern-cartoon .wedding-template-gift-button{min-height:164px}}.wedding-cinematic-film{--template-page:var(--wedding-template-film);--template-surface:var(--wedding-template-film-paper);--template-ink:var(--wedding-template-film-paper);--template-muted:var(--wedding-template-canvas-warm);--template-accent:var(--wedding-template-red);--template-line:var(--wedding-template-canvas-warm);--template-line-strong:var(--wedding-template-film-paper);--template-heart-text:var(--wedding-template-film-paper);--template-body-font:var(--wedding-template-serif);--template-heading-font:var(--wedding-template-latin)}.wedding-film-opening-ticket{color:var(--wedding-template-film-paper)!important;background:var(--wedding-template-film)!important}.wedding-film-opening-ticket>header{position:absolute;z-index:2;inset:22px 20px auto;display:flex;justify-content:space-between;color:var(--wedding-template-canvas-warm);font-family:var(--wedding-template-latin);letter-spacing:.12em}.wedding-film-opening-still{width:100%;height:100dvh!important;object-fit:contain}.wedding-film-opening-ticket>div{position:absolute;inset:auto 22px 14dvh;display:grid;padding:22px;border-block:1px solid var(--wedding-template-canvas-warm);background:var(--wedding-template-film-glass);text-align:left}.wedding-film-opening-ticket>div strong{font-family:var(--wedding-template-latin);font-size:36px}.wedding-film-opening-admit{position:absolute;inset:auto 22px 6dvh;color:var(--wedding-template-canvas-warm);font-family:var(--wedding-template-latin);letter-spacing:.18em}.wedding-film-reel>footer,.wedding-film-reel>section{padding:76px 22px}.wedding-film-premiere{min-height:100dvh;display:grid;align-content:center;gap:20px}.wedding-film-audience-notes header,.wedding-film-gift-scene header,.wedding-film-premiere header,.wedding-film-story-reel header{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid var(--wedding-template-canvas-warm);padding-bottom:10px}.wedding-film-premiere h1,.wedding-film-story-reel h2{font-size:30px}.wedding-film-premiere figure{padding-block:16px;border-block:12px solid var(--wedding-template-film-paper)}.wedding-film-hero-still{width:100%;max-height:66dvh;object-fit:contain}.wedding-film-premiere figcaption{margin-top:12px;color:var(--wedding-template-canvas-warm);text-align:center}.wedding-film-audience-notes,.wedding-film-date-card,.wedding-film-gift-scene,.wedding-film-location-card,.wedding-film-subtitle-card{display:grid;gap:22px}.wedding-cinematic-film .wedding-template-countdown dt,.wedding-cinematic-film .wedding-template-countdown-reached,.wedding-cinematic-film .wedding-template-gift-feedback,.wedding-cinematic-film .wedding-template-gift-summary,.wedding-cinematic-film .wedding-template-letter-copy,.wedding-cinematic-film .wedding-template-own-gifts{color:var(--wedding-template-canvas-warm)}.wedding-film-story-reel{display:grid;gap:28px}.wedding-film-story-reel>div{display:grid;gap:20px}.wedding-film-story-reel figure{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;padding-block:10px;border-block:1px solid var(--wedding-template-canvas-warm)}.wedding-film-story-reel figure>span{font-family:var(--wedding-template-latin);font-size:25px}.wedding-film-story-reel figcaption,.wedding-film-story-still{grid-column:2;width:100%}.wedding-film-story-still{object-fit:contain}.wedding-film-story-reel figcaption{padding-top:8px}.wedding-film-ending-credits{min-height:100dvh;display:grid;align-content:center;gap:24px;text-align:center}.wedding-film-ending-still{width:100%;max-height:62dvh;object-fit:contain;border-block:10px solid var(--wedding-template-film-paper)}.wedding-film-ending-credits>div{display:grid}.wedding-film-ending-credits strong{font-family:var(--wedding-template-latin);font-size:36px}.wedding-editorial-illustration{--template-page:var(--wedding-template-paper);--template-surface:var(--wedding-template-paper-deep);--template-ink:var(--wedding-template-ink);--template-muted:var(--wedding-template-blue);--template-accent:var(--wedding-template-red);--template-line:var(--wedding-template-blue);--template-line-strong:var(--wedding-template-red);--template-heart-text:var(--wedding-template-paper);--template-body-font:var(--wedding-template-display);--template-heading-font:var(--wedding-template-serif)}.wedding-editorial-opening-portrait{width:100%;height:100dvh!important;object-fit:contain}.wedding-editorial-opening>div{position:absolute;inset:8dvh 22px auto;display:grid;gap:8px;padding:18px;border-left:7px solid var(--wedding-template-red);background:var(--wedding-template-paper-glass);text-align:left}.wedding-editorial-opening h1{display:grid;font-size:40px}.wedding-editorial-opening h1 i{color:var(--wedding-template-red)}.wedding-editorial-opening>img[aria-hidden=true]{position:absolute;inset:auto 0 0 auto;width:65%;height:auto;pointer-events:none}.wedding-editorial-opening>span{position:absolute;inset:auto auto 7dvh 22px;padding:10px 16px;border:1px solid var(--wedding-template-blue);background:var(--wedding-template-paper);transform:rotate(-3deg)}.wedding-editorial-spreads>footer,.wedding-editorial-spreads>section{padding:68px 22px}.wedding-editorial-hero-spread{min-height:100dvh;display:grid;grid-template-columns:.72fr 1.28fr;align-content:center;gap:12px}.wedding-editorial-hero-spread>div{z-index:1;align-self:center;margin-right:-56px;padding:18px;border-left:7px solid var(--wedding-template-red);background:var(--wedding-template-paper)}.wedding-editorial-hero-spread h1{font-size:42px}.wedding-editorial-hero-spread i{color:var(--wedding-template-red);font-size:28px}.wedding-editorial-hero-portrait{width:100%;max-height:76dvh;object-fit:contain}.wedding-editorial-letter-spread,.wedding-editorial-venue-note{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px}.wedding-editorial-letter-spread>span,.wedding-editorial-venue-note>span{color:var(--wedding-template-red);font-family:var(--wedding-template-latin);font-size:50px}.wedding-editorial-gift-collage,.wedding-editorial-letter-spread>div,.wedding-editorial-message-spread,.wedding-editorial-venue-note>div{display:grid;gap:18px}.wedding-editorial-collage{display:grid;gap:36px}.wedding-editorial-collage article{display:grid;grid-template-columns:1.25fr .75fr;align-items:center}.wedding-editorial-collage article:nth-child(odd){grid-template-columns:.75fr 1.25fr}.wedding-editorial-collage article:nth-child(odd)>img{grid-column:2}.wedding-editorial-collage article:nth-child(odd)>div{grid-row:1}.wedding-editorial-story-image{width:100%;object-fit:contain;box-shadow:var(--wedding-template-shadow-soft)}.wedding-editorial-collage article>div{z-index:1;display:grid;gap:5px;margin-inline:-18px 0;padding:14px;background:var(--wedding-template-paper-deep)}.wedding-editorial-calendar-spread{display:grid;grid-template-columns:.58fr 1.42fr;gap:12px}.wedding-editorial-calendar-spread aside h2{color:var(--wedding-template-red);font-family:var(--wedding-template-latin);font-size:76px}.wedding-editorial-ending-spread{position:relative;min-height:100dvh;display:grid;align-content:center;gap:24px}.wedding-editorial-ending-image{width:86%;max-height:66dvh;object-fit:contain;transform:rotate(-2deg)}.wedding-editorial-ending-spread>div{z-index:1;justify-self:end;margin-top:-64px;padding:20px;border-left:7px solid var(--wedding-template-red);background:var(--wedding-template-paper)}.wedding-editorial-ending-spread>img:last-child{justify-self:end;width:48%}.wedding-oil-portrait{--template-page:var(--wedding-template-paper-deep);--template-surface:var(--wedding-template-paper);--template-ink:var(--wedding-template-ink);--template-muted:var(--wedding-template-muted);--template-accent:var(--wedding-template-gold);--template-line:var(--wedding-template-gold);--template-line-strong:var(--wedding-template-ink);--template-heart-text:var(--wedding-template-paper);--template-body-font:var(--wedding-template-serif);--template-heading-font:var(--wedding-template-latin)}.wedding-oil-opening-painting{width:100%;height:100dvh!important;object-fit:contain}.wedding-oil-opening-catalog>div{position:absolute;inset:auto 24px 10dvh;display:grid;padding:22px;border:1px solid var(--wedding-template-gold);background:var(--wedding-template-paper-glass);text-align:center}.wedding-oil-opening-catalog h1{font-size:42px}.wedding-oil-opening-catalog>span{position:absolute;inset:auto auto 4dvh 50%;transform:translateX(-50%);color:var(--wedding-template-gold);letter-spacing:.16em}.wedding-oil-gallery>footer,.wedding-oil-gallery>section{padding:72px 26px}.wedding-oil-portrait-hall{min-height:100dvh;display:grid;align-content:center;gap:24px;text-align:center}.wedding-oil-final-portrait>.wedding-oil-ending-painting,.wedding-oil-portrait-hall figure,.wedding-oil-salon-wall figure{padding:10px;border:8px double var(--wedding-template-gold);background:var(--wedding-template-paper);box-shadow:var(--wedding-template-shadow)}.wedding-oil-hero-painting{width:100%;max-height:66dvh;object-fit:contain}.wedding-oil-portrait-hall figcaption{display:flex;justify-content:space-between;padding:12px 4px 2px}.wedding-oil-curator-note,.wedding-oil-date-plaque,.wedding-oil-gift-cabinet,.wedding-oil-guestbook,.wedding-oil-venue-plaque{display:grid;gap:20px}.wedding-oil-curator-note,.wedding-oil-date-plaque,.wedding-oil-venue-plaque{margin:26px;border:1px solid var(--wedding-template-gold);background:var(--wedding-template-paper)}.wedding-oil-salon-wall{display:grid;gap:32px}.wedding-oil-salon-wall>div{display:grid;gap:34px}.wedding-oil-salon-wall figure:nth-child(2n){width:82%;justify-self:end}.wedding-oil-story-painting{width:100%;object-fit:contain}.wedding-oil-salon-wall figcaption{display:grid;gap:5px;padding:12px 4px 2px}.wedding-oil-final-portrait{min-height:100dvh;display:grid;align-content:center;gap:22px;text-align:center}.wedding-oil-ending-painting{width:100%;max-height:62dvh;object-fit:contain}.wedding-oil-final-portrait>img:last-child{width:68px;margin:0 auto}.wedding-oriental-anime{--template-page:var(--wedding-template-sky);--template-surface:var(--wedding-template-paper);--template-ink:var(--wedding-template-blue);--template-muted:var(--wedding-template-muted);--template-accent:var(--wedding-template-red);--template-line:var(--wedding-template-blue);--template-line-strong:var(--wedding-template-red);--template-heart-text:var(--wedding-template-paper);--template-body-font:var(--wedding-template-display);--template-heading-font:var(--wedding-template-serif)}.wedding-anime-opening-keyart{width:100%;height:100dvh!important;object-fit:contain}.wedding-anime-opening-card>div{position:absolute;inset:8dvh 20px auto;display:grid;gap:8px;padding:18px;border:2px solid var(--wedding-template-blue);background:var(--wedding-template-paper-glass);text-align:left}.wedding-anime-opening-card h1{display:grid;font-size:38px}.wedding-anime-opening-card h1 i{color:var(--wedding-template-red)}.wedding-anime-opening-card>img[aria-hidden=true]{position:absolute;inset:auto 0 0 auto;width:55%;height:auto;pointer-events:none}.wedding-anime-opening-card>span{position:absolute;inset:auto 22px 6dvh auto;padding:10px 16px;border:2px solid var(--wedding-template-blue);border-radius:var(--wedding-template-radius);background:var(--wedding-template-paper)}.wedding-anime-chapters>footer,.wedding-anime-chapters>section{padding:68px 22px}.wedding-anime-key-visual{position:relative;min-height:100dvh;display:grid;align-content:center}.wedding-anime-hero-keyart{width:100%;max-height:82dvh;object-fit:contain}.wedding-anime-key-visual>div{z-index:1;display:grid;justify-self:start;margin-top:-120px;padding:16px 20px;border-left:6px solid var(--wedding-template-red);background:var(--wedding-template-paper-glass)}.wedding-anime-key-visual h1{font-size:38px}.wedding-anime-date-chapter,.wedding-anime-destination-card,.wedding-anime-dialogue-page,.wedding-anime-gift-chapter,.wedding-anime-letter-chapter{display:grid;gap:20px}.wedding-anime-destination-card,.wedding-anime-dialogue-page{margin:22px;border:2px solid var(--wedding-template-blue);border-radius:var(--wedding-template-radius);background:var(--wedding-template-paper)}.wedding-anime-storyboard{display:grid;gap:26px}.wedding-anime-storyboard>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wedding-anime-storyboard article{position:relative;overflow:hidden;border:2px solid var(--wedding-template-blue);background:var(--wedding-template-paper)}.wedding-anime-storyboard article:first-child{grid-column:1/-1}.wedding-anime-story-shot{width:100%;object-fit:contain}.wedding-anime-storyboard article>div{display:grid;gap:4px;padding:10px}.wedding-anime-storyboard article span{color:var(--wedding-template-red);font-family:var(--wedding-template-latin);font-size:24px}.wedding-anime-final-frame{min-height:100dvh;display:grid;align-content:center;gap:20px;text-align:center}.wedding-anime-ending-keyart{width:100%;max-height:64dvh;object-fit:contain;border:2px solid var(--wedding-template-blue)}.wedding-anime-final-frame>img:last-child{width:72px;margin:0 auto}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-opened=false] .wedding-template-page>button{transition:none}.wedding-template-reading-switcher{--reading-panel:var(--wedding-template-paper);--reading-ink:var(--wedding-template-ink);--reading-line:var(--wedding-template-line);--reading-accent:var(--wedding-template-red-deep);--reading-font:var(--wedding-template-serif);position:fixed;z-index:120;inset:auto auto max(14px,env(safe-area-inset-bottom)) calc(50% - min(50%, 240px) + 12px);color:var(--reading-ink);font-family:var(--reading-font)}.wedding-template-reading-switcher[data-wedding-switcher-template=CARTOON_STORY]{--reading-panel:var(--wedding-cartoon-modern-cream);--reading-ink:var(--wedding-cartoon-modern-cherry);--reading-line:var(--wedding-cartoon-modern-line);--reading-accent:var(--wedding-cartoon-modern-cherry-deep);--reading-font:var(--wedding-template-hand)}.wedding-template-reading-switcher[data-wedding-switcher-template=CINEMATIC_FILM]{--reading-panel:var(--wedding-template-film-paper);--reading-ink:var(--wedding-template-film);--reading-line:var(--wedding-template-canvas-warm)}.wedding-template-reading-switcher[data-wedding-switcher-template=EDITORIAL_ILLUSTRATION]{--reading-panel:var(--wedding-template-paper-deep);--reading-line:var(--wedding-template-blue);--reading-font:var(--wedding-template-display)}.wedding-template-reading-switcher[data-wedding-switcher-template=OIL_PORTRAIT]{--reading-line:var(--wedding-template-gold);--reading-accent:var(--wedding-template-ink)}.wedding-template-reading-switcher[data-wedding-switcher-template=ORIENTAL_ANIME]{--reading-ink:var(--wedding-template-blue);--reading-line:var(--wedding-template-blue);--reading-font:var(--wedding-template-display)}.wedding-template-reading-switcher[hidden]{display:none}.wedding-template-reading-panel>button,.wedding-template-reading-trigger{box-sizing:border-box;border:1px solid var(--reading-line);border-radius:var(--wedding-template-radius-small);color:var(--reading-ink);background:var(--reading-panel);font:inherit;font-size:14px;line-height:1.4;cursor:pointer}.wedding-template-reading-trigger{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;width:96px;height:44px;padding:0;isolation:isolate;border:0;background:transparent}.wedding-template-reading-trigger:after,.wedding-template-reading-trigger:before{content:"";position:absolute;z-index:-1;pointer-events:none;border:1px solid var(--reading-line);border-radius:calc(var(--wedding-template-radius-small) / 4)}.wedding-template-reading-trigger:before{inset:5px 0;background:var(--reading-panel)}.wedding-template-reading-trigger:after{inset:8px 3px}.wedding-template-reading-trigger[aria-expanded=true]:before{border-color:var(--reading-accent)}.wedding-reading-letter-icon{width:22px;height:22px;fill:var(--reading-panel);stroke:currentColor;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round}.wedding-template-reading-panel{position:absolute;inset:auto auto calc(100% + 16px) 0;box-sizing:border-box;display:grid;width:min(300px,calc(100vw - 24px));max-height:60dvh;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;overscroll-behavior:contain;padding:10px;border:1px solid var(--reading-line);border-radius:var(--wedding-template-radius-small);background:var(--reading-panel)}.wedding-template-reading-panel>button{display:grid;min-width:0;grid-template-rows:94px auto;gap:6px;padding:6px}.wedding-template-reading-panel>button[aria-pressed=true]{border-color:var(--reading-accent);color:var(--reading-accent);font-weight:700}.wedding-template-reading-panel>button:focus-visible,.wedding-template-reading-trigger:focus-visible{outline:2px solid var(--reading-accent);outline-offset:2px}.wedding-template-switcher{position:fixed;z-index:120;inset:18dvh auto auto calc(50% + 192px);display:flex;align-items:flex-start;color:var(--wedding-template-ink);font-family:var(--wedding-template-display)}.wedding-template-switcher-tab{width:40px;min-height:82px;padding:9px;border:1px solid var(--wedding-template-line-strong);border-radius:var(--wedding-template-radius-small) 0 0 var(--wedding-template-radius-small);color:var(--wedding-template-red-deep);background:var(--wedding-template-paper);box-shadow:var(--wedding-template-shadow-soft);writing-mode:vertical-rl;cursor:pointer}.wedding-template-switcher-panel{position:absolute;inset:0 calc(100% + 8px) auto auto;display:grid;width:250px;max-height:min(72dvh,560px);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow-y:auto;padding:12px;border:1px solid var(--wedding-template-line-strong);border-radius:var(--wedding-template-radius-small) 0 var(--wedding-template-radius-small) var(--wedding-template-radius-small);background:var(--wedding-template-paper);box-shadow:var(--wedding-template-shadow)}.wedding-template-switcher-panel>button{display:grid;grid-template-rows:94px auto;gap:5px;align-content:start;padding:5px;border:1px solid var(--wedding-template-line);border-radius:var(--wedding-template-radius-small);color:var(--wedding-template-ink);background:var(--wedding-template-paper);cursor:pointer}.wedding-template-switcher-panel>button[aria-pressed=true]{border-color:var(--wedding-template-red)}.wedding-template-switcher-thumbnail{width:100%;height:94px!important;aspect-ratio:1;object-fit:contain;border-radius:calc(var(--wedding-template-radius-small) - 4px)}.wedding-template-switcher-panel span{font-size:12px}[data-wedding-switcher-edition=GROOM] .wedding-template-switcher-thumbnail{width:53px;height:94px!important;aspect-ratio:9/16;justify-self:center;object-fit:contain}[data-wedding-switcher-edition=GROOM] :is(.wedding-template-switcher-panel,.wedding-template-reading-panel)>button{color:inherit;font-family:inherit;font-weight:400}[data-wedding-switcher-edition=GROOM] :is(.wedding-template-switcher-panel,.wedding-template-reading-panel)>button>span{font-family:inherit;font-size:14px;font-weight:400}.wedding-template-experience[data-wedding-template-active=CHINESE_PAINTED][data-wedding-opened=false] .wedding-template-switcher{inset:6.8dvh auto auto calc(50% + min(43vw, 19.9dvh, 206px))}.wedding-template-experience[data-wedding-template-active=CHINESE_PAINTED][data-wedding-opened=false] .wedding-template-switcher-tab{width:min(30px,3.3dvh);min-height:72px;padding:0;border-color:transparent;color:transparent;background:transparent;box-shadow:var(--wedding-template-shadow-none)}.wedding-template-music{position:fixed;z-index:125;inset:auto auto max(14px,env(safe-area-inset-bottom)) calc(50% + 172px);width:58px;height:58px;pointer-events:none}.wedding-template-music-control{position:relative;width:58px;height:58px;overflow:visible;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;pointer-events:auto}.wedding-template-music-control:focus-visible,.wedding-template-switcher-tab:focus-visible{outline:2px solid var(--wedding-template-red-deep);outline-offset:3px}.wedding-template-record{position:absolute;inset:3px;width:52px;height:52px;object-fit:contain;filter:drop-shadow(var(--wedding-template-record-shadow))}.wedding-template-tonearm{position:absolute;z-index:2;inset:-1px -2px auto auto;width:28px;transform-origin:80% 20%;transition:transform .26s ease}.wedding-template-notes{position:absolute;z-index:3;inset:-34px -5px auto auto;width:38px;opacity:0;pointer-events:none}.wedding-template-music-control.is-playing .wedding-template-record{animation:wedding-template-record-spin 4.8s linear infinite}.wedding-template-music-control.is-playing .wedding-template-tonearm{transform:rotate(13deg)}.wedding-template-music-control.is-playing .wedding-template-notes{animation:wedding-template-note-float 2.2s ease-out infinite}.wedding-template-experience[data-wedding-template-active=CHINESE_PAINTED][data-wedding-opened=false] .wedding-template-music{inset:auto auto max(calc(8dvh - 29px),env(safe-area-inset-bottom)) calc(50% - min(31.2vw, 14.4dvh, 150px) - 29px)}.wedding-template-experience[data-wedding-template-active=CHINESE_PAINTED][data-wedding-opened=false] :is(.wedding-template-record,.wedding-template-tonearm){opacity:0}.wedding-turntable-audio{display:none}@keyframes wedding-template-record-spin{to{transform:rotate(1turn)}}@keyframes wedding-template-note-float{0%{opacity:0;transform:translateY(8px) scale(.86)}25%{opacity:1}to{opacity:0;transform:translate(-8px,-22px) scale(1.05)}}.wedding-template-gift-effect{--gift-duration:1.75s;--gift-easing:cubic-bezier(0.16,0.8,0.3,1);--gift-origin-x:0px;--gift-origin-y-offset:0px;--gift-origin-y:120px;--gift-start-scale:0.35;--gift-start-rotate:-14deg;--gift-end-rotate:9deg;--gift-end-scale:1.05;position:fixed;z-index:118;inset:0;width:min(100vw,480px);height:100dvh;margin:auto;overflow:hidden;pointer-events:none}.wedding-template-gift-effect-pulse{position:absolute;inset:0;pointer-events:none}.wedding-template-gift-effect-pulse>img:not(.wedding-template-gift-effect-aura){position:absolute;z-index:2;inset:42% auto auto 50%;width:clamp(62px,18vw,96px);transform:translate(-50%,-50%);animation:wedding-template-gift-flight var(--gift-duration) var(--gift-easing) both}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect-pulse{--gift-stage-x:0px;--gift-stage-y:0px;--gift-stage-angle:0deg;--gift-stage-counter-angle:0deg;transition:opacity .16s ease}.wedding-template-gift-effect-stage{position:absolute;inset:0;transform:translate(var(--gift-stage-x),var(--gift-stage-y)) rotate(var(--gift-stage-angle));transform-origin:50% 42%}.wedding-template-gift-effect-particle{position:absolute;z-index:2;inset:42% auto auto 50%;display:block;width:clamp(58px,17vw,88px);transform:translate(-50%,-50%);animation:wedding-template-gift-flight var(--gift-duration) var(--gift-easing) both}.wedding-template-gift-effect-particle>img{display:block;width:100%;height:auto;transform:rotate(var(--gift-stage-counter-angle))}.wedding-template-gift-effect-stage>.wedding-template-gift-effect-aura{inset-block-start:42%}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect-pulse[data-gift-effect-age="0"]{z-index:4;opacity:1}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect-pulse[data-gift-effect-age="1"]{z-index:3;opacity:.52}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect-pulse[data-gift-effect-age="2"]{z-index:2;opacity:.24}.wedding-template-experience[data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY] .wedding-template-gift-effect-pulse[data-gift-effect-age="3"]{z-index:1;opacity:.1}.wedding-template-gift-effect-pulse[data-gift-effect-zone=upper-left]{--gift-stage-x:clamp(-120px,-24vw,-84px);--gift-stage-y:clamp(-160px,-18dvh,-108px)}.wedding-template-gift-effect-pulse[data-gift-effect-zone=upper-right]{--gift-stage-x:clamp(84px,24vw,120px);--gift-stage-y:clamp(-160px,-18dvh,-108px)}.wedding-template-gift-effect-pulse[data-gift-effect-zone=middle-left]{--gift-stage-x:clamp(-128px,-26vw,-90px);--gift-stage-y:0px}.wedding-template-gift-effect-pulse[data-gift-effect-zone=middle-right]{--gift-stage-x:clamp(90px,26vw,128px);--gift-stage-y:0px}.wedding-template-gift-effect-pulse[data-gift-effect-zone=lower-left]{--gift-stage-x:clamp(-120px,-24vw,-84px);--gift-stage-y:clamp(108px,18dvh,160px)}.wedding-template-gift-effect-pulse[data-gift-effect-zone=lower-right]{--gift-stage-x:clamp(84px,24vw,120px);--gift-stage-y:clamp(108px,18dvh,160px)}.wedding-template-gift-effect-pulse[data-gift-effect-direction=north]{--gift-stage-angle:0deg;--gift-stage-counter-angle:0deg}.wedding-template-gift-effect-pulse[data-gift-effect-direction=north-east]{--gift-stage-angle:45deg;--gift-stage-counter-angle:-45deg}.wedding-template-gift-effect-pulse[data-gift-effect-direction=east]{--gift-stage-angle:90deg;--gift-stage-counter-angle:-90deg}.wedding-template-gift-effect-pulse[data-gift-effect-direction=south-east]{--gift-stage-angle:135deg;--gift-stage-counter-angle:-135deg}.wedding-template-gift-effect-pulse[data-gift-effect-direction=south]{--gift-stage-angle:180deg;--gift-stage-counter-angle:-180deg}.wedding-template-gift-effect-pulse[data-gift-effect-direction=south-west]{--gift-stage-angle:-135deg;--gift-stage-counter-angle:135deg}.wedding-template-gift-effect-pulse[data-gift-effect-direction=west]{--gift-stage-angle:-90deg;--gift-stage-counter-angle:90deg}.wedding-template-gift-effect-pulse[data-gift-effect-direction=north-west]{--gift-stage-angle:-45deg;--gift-stage-counter-angle:45deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal]{--gift-easing:cubic-bezier(0.18,0.76,0.24,1);--gift-origin-x:-52px;--gift-origin-y-offset:34px}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-1{--gift-x:-55px;--gift-y:-175px;--gift-end-scale:1.15;--gift-end-rotate:-18deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-2{--gift-x:20px;--gift-y:-145px;--gift-end-scale:0.92;--gift-end-rotate:14deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-3{--gift-x:-15px;--gift-y:-110px;--gift-end-scale:0.78;--gift-end-rotate:-8deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-4{--gift-x:60px;--gift-y:-205px;--gift-end-scale:0.72;--gift-end-rotate:25deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-5{--gift-x:-85px;--gift-y:-120px;--gift-end-scale:0.68;--gift-end-rotate:-25deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-6{--gift-x:95px;--gift-y:-155px;--gift-end-scale:0.62;--gift-end-rotate:34deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-7{--gift-x:-115px;--gift-y:-200px;--gift-end-scale:0.58;--gift-end-rotate:-32deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-8{--gift-x:40px;--gift-y:-240px;--gift-end-scale:0.55;--gift-end-rotate:15deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .is-slot-9{--gift-x:-30px;--gift-y:-260px;--gift-end-scale:0.5;--gift-end-rotate:-12deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom]{--gift-easing:cubic-bezier(0.12,0.78,0.2,1)}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-1{--gift-x:0px;--gift-y:-65px;--gift-end-scale:1.25}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-2{--gift-x:-80px;--gift-y:-110px}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-3{--gift-x:80px;--gift-y:-110px}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-4{--gift-x:-135px;--gift-y:-160px;--gift-end-scale:0.82}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-5{--gift-x:135px;--gift-y:-160px;--gift-end-scale:0.82}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-6{--gift-x:-55px;--gift-y:-210px;--gift-end-scale:0.72}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-7{--gift-x:55px;--gift-y:-220px;--gift-end-scale:0.72}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-8{--gift-x:-175px;--gift-y:-220px;--gift-end-scale:0.62}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .is-slot-9{--gift-x:175px;--gift-y:-225px;--gift-end-scale:0.62}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop]{--gift-easing:cubic-bezier(0.18,1.24,0.34,1);--gift-origin-y-offset:-70px}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-1{--gift-x:0px;--gift-y:-25px;--gift-end-scale:1.45;--gift-end-rotate:0deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-2{--gift-x:-65px;--gift-y:-50px}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-3{--gift-x:65px;--gift-y:-50px}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-4{--gift-x:-105px;--gift-y:-80px;--gift-end-scale:0.82}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-5{--gift-x:105px;--gift-y:-80px;--gift-end-scale:0.82}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-6{--gift-x:-40px;--gift-y:-125px;--gift-end-scale:0.74}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-7{--gift-x:40px;--gift-y:-135px;--gift-end-scale:0.74}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-8{--gift-x:-140px;--gift-y:-120px;--gift-end-scale:0.65}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .is-slot-9{--gift-x:140px;--gift-y:-125px;--gift-end-scale:0.65}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit]{--gift-easing:cubic-bezier(0.2,0.7,0.24,1);--gift-origin-y-offset:-20px}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-1{--gift-x:0px;--gift-y:-55px;--gift-end-scale:1.2;--gift-end-rotate:0deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-2{--gift-x:-75px;--gift-y:-80px;--gift-end-rotate:-60deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-3{--gift-x:75px;--gift-y:-100px;--gift-end-rotate:60deg}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-4{--gift-x:120px;--gift-y:-160px;--gift-end-rotate:120deg;--gift-end-scale:0.82}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-5{--gift-x:-125px;--gift-y:-155px;--gift-end-rotate:-120deg;--gift-end-scale:0.78}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-6{--gift-x:-70px;--gift-y:-215px;--gift-end-rotate:-60deg;--gift-end-scale:0.7}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-7{--gift-x:70px;--gift-y:-225px;--gift-end-rotate:70deg;--gift-end-scale:0.7}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-8{--gift-x:145px;--gift-y:-245px;--gift-end-rotate:140deg;--gift-end-scale:0.6}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .is-slot-9{--gift-x:-150px;--gift-y:-250px;--gift-end-rotate:-140deg;--gift-end-scale:0.6}.wedding-template-gift-effect-pulse[data-gift-effect-density="5"] :is(.is-slot-6,.is-slot-7,.is-slot-8,.is-slot-9),.wedding-template-gift-effect-pulse[data-gift-effect-density="6"] :is(.is-slot-7,.is-slot-8,.is-slot-9),.wedding-template-gift-effect-pulse[data-gift-effect-density="7"] :is(.is-slot-8,.is-slot-9),.wedding-template-gift-effect-pulse[data-gift-effect-density="8"] .is-slot-9{display:none}.wedding-template-gift-effect-pulse[data-gift-effect-density="9"] .wedding-template-gift-effect-particle{display:block}.wedding-template-gift-effect-pulse[data-gift-effect-scale=balanced] .wedding-template-gift-effect-particle{--gift-end-scale:0.9}.wedding-template-gift-effect-pulse[data-gift-effect-scale=hero] .is-slot-1{--gift-end-scale:1.55}.wedding-template-gift-effect-pulse[data-gift-effect-scale=hero] :is(.is-slot-2,.is-slot-3,.is-slot-4,.is-slot-5,.is-slot-6,.is-slot-7,.is-slot-8,.is-slot-9){--gift-end-scale:0.68}.wedding-template-gift-effect-pulse[data-gift-effect-scale=scattered] :is(.is-slot-1,.is-slot-4,.is-slot-7){--gift-end-scale:1.18}.wedding-template-gift-effect-pulse[data-gift-effect-scale=scattered] :is(.is-slot-2,.is-slot-5,.is-slot-8){--gift-end-scale:0.78}.wedding-template-gift-effect-pulse[data-gift-effect-scale=scattered] :is(.is-slot-3,.is-slot-6,.is-slot-9){--gift-end-scale:0.56}.wedding-template-gift-effect-pulse[data-gift-effect-delay=burst] .wedding-template-gift-effect-particle{animation-delay:0s}.wedding-template-gift-effect-pulse[data-gift-effect-delay=cascade] .is-slot-2{animation-delay:45ms}.wedding-template-gift-effect-pulse[data-gift-effect-delay=cascade] .is-slot-3{animation-delay:90ms}.wedding-template-gift-effect-pulse[data-gift-effect-delay=cascade] .is-slot-4{animation-delay:135ms}.wedding-template-gift-effect-pulse[data-gift-effect-delay=cascade] .is-slot-5{animation-delay:.18s}.wedding-template-gift-effect-pulse[data-gift-effect-delay=cascade] .is-slot-6{animation-delay:225ms}.wedding-template-gift-effect-pulse[data-gift-effect-delay=cascade] .is-slot-7{animation-delay:.27s}.wedding-template-gift-effect-pulse[data-gift-effect-delay=cascade] .is-slot-8{animation-delay:315ms}.wedding-template-gift-effect-pulse[data-gift-effect-delay=cascade] .is-slot-9{animation-delay:.36s}.wedding-template-gift-effect-pulse[data-gift-effect-delay=staggered] .is-slot-2,.wedding-template-gift-effect-pulse[data-gift-effect-delay=staggered] .is-slot-7{animation-delay:.17s}.wedding-template-gift-effect-pulse[data-gift-effect-delay=staggered] .is-slot-3,.wedding-template-gift-effect-pulse[data-gift-effect-delay=staggered] .is-slot-8{animation-delay:55ms}.wedding-template-gift-effect-pulse[data-gift-effect-delay=staggered] .is-slot-4,.wedding-template-gift-effect-pulse[data-gift-effect-delay=staggered] .is-slot-9{animation-delay:.26s}.wedding-template-gift-effect-pulse[data-gift-effect-delay=staggered] .is-slot-5{animation-delay:.11s}.wedding-template-gift-effect-pulse[data-gift-effect-delay=staggered] .is-slot-6{animation-delay:.33s}.wedding-template-gift-effect-pulse[data-gift-effect-variant=diagonal] .wedding-template-gift-effect-aura{width:64%}.wedding-template-gift-effect-pulse[data-gift-effect-variant=bloom] .wedding-template-gift-effect-aura{width:78%}.wedding-template-gift-effect-pulse[data-gift-effect-variant=pop] .wedding-template-gift-effect-aura{width:58%}.wedding-template-gift-effect-pulse[data-gift-effect-variant=orbit] .wedding-template-gift-effect-aura{width:72%}.wedding-template-gift-effect.is-heart{--gift-duration:1.65s;--gift-origin-y:150px;--gift-start-scale:0.28}.wedding-template-gift-effect.is-flower{--gift-duration:1.95s;--gift-origin-y:72px;--gift-start-rotate:-28deg;--gift-end-rotate:18deg}.wedding-template-gift-effect.is-candy{--gift-duration:1.45s;--gift-origin-y:-96px;--gift-start-scale:0.5;--gift-start-rotate:24deg}.wedding-template-gift-effect.is-cake{--gift-duration:2.1s;--gift-origin-y:190px;--gift-start-scale:0.2;--gift-end-rotate:0deg}.wedding-template-gift-effect.is-firework{--gift-duration:1.35s;--gift-origin-y:220px;--gift-start-scale:0.12;--gift-start-rotate:-8deg;--gift-end-rotate:26deg}.wedding-template-gift-effect.is-champagne{--gift-duration:2.25s;--gift-origin-y:138px;--gift-start-scale:0.4;--gift-start-rotate:32deg;--gift-end-rotate:-12deg}.wedding-template-gift-effect img.is-slot-2{animation-delay:80ms;--gift-x:-128px;--gift-y:-90px}.wedding-template-gift-effect img.is-slot-3{animation-delay:.16s;--gift-x:122px;--gift-y:-112px}.wedding-template-gift-effect img.is-slot-4{animation-delay:.24s;--gift-x:-142px;--gift-y:82px}.wedding-template-gift-effect img.is-slot-5{animation-delay:.32s;--gift-x:136px;--gift-y:98px}.wedding-template-gift-effect img.is-slot-6{animation-delay:.4s;--gift-x:-34px;--gift-y:-168px}.wedding-template-gift-effect img.is-slot-7{animation-delay:.48s;--gift-x:44px;--gift-y:150px}.wedding-template-gift-effect-aura{position:absolute;z-index:1;inset:50% auto auto 50%;width:78%;max-height:72dvh;object-fit:contain;transform:translate(-50%,-50%);animation:wedding-template-aura 1.9s ease-out both}.wedding-template-experience[data-wedding-template-active=CINEMATIC_FILM] .wedding-template-gift-effect-aura{mix-blend-mode:screen}.wedding-template-gift-effect-copy{position:absolute;z-index:3;inset:61% auto auto 50%;display:grid;justify-items:center;gap:7px;white-space:nowrap;transform:translateX(-50%)}.wedding-template-gift-effect-copy>span,.wedding-template-gift-effect-copy>strong{color:var(--wedding-template-red-deep);font-family:var(--wedding-template-serif);font-size:28px;text-shadow:var(--wedding-template-copy-glow)}.wedding-template-gift-effect-copy>span{font-family:var(--wedding-template-latin);font-size:36px}@keyframes wedding-template-gift-flight{0%{opacity:0;transform:translate(calc(-50% + var(--gift-origin-x)),calc(var(--gift-origin-y) + var(--gift-origin-y-offset))) scale(var(--gift-start-scale)) rotate(var(--gift-start-rotate))}35%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--gift-x, 0px)),var(--gift-y,-20px)) scale(var(--gift-end-scale)) rotate(var(--gift-end-rotate))}}@keyframes wedding-template-aura{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}34%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}.wedding-template-live-status{position:fixed;z-index:119;inset:auto auto max(12px,env(safe-area-inset-bottom)) 50%;max-width:min(300px,calc(100vw - 140px));padding:9px 14px;border-radius:var(--wedding-template-radius);color:var(--wedding-template-paper);background:var(--wedding-template-film-glass);font-size:13px;transform:translateX(-50%)}.wedding-template-live-status:empty{display:none}.wedding-template-experience[data-wedding-template-active=CARTOON_STORY] .wedding-template-live-status{border:2px solid var(--wedding-template-ink);border-radius:var(--wedding-template-radius-small);color:var(--wedding-template-ink);background:var(--wedding-template-yellow);box-shadow:var(--wedding-template-cartoon-shadow-tiny);font-family:var(--wedding-template-display);font-weight:700}.hrd-wedding-template-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hrd-wedding-template-card{position:relative;min-width:0;border:1px solid var(--hrd-border);border-radius:var(--hrd-radius-card);background:var(--hrd-panel)}.hrd-wedding-template-card.is-selected{border-color:var(--hrd-border-strong)}.hrd-wedding-template-select{display:grid;width:100%;gap:8px;padding:10px;border:0;color:var(--hrd-text);background:transparent;text-align:left;cursor:pointer}.hrd-wedding-template-preview{display:grid;aspect-ratio:1;overflow:hidden;place-items:center;border-radius:var(--hrd-radius-control);background:var(--hrd-panel-strong)}.hrd-wedding-template-preview img{display:block;width:100%;height:100%;object-fit:contain}@media (max-width:768px){.hrd-wedding-template-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.wedding-template-experience:not([data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY]) .wedding-template-switcher{inset-inline:auto 0}.wedding-template-switcher-panel{position:absolute;inset:0 40px auto auto}.wedding-template-experience:not([data-wedding-edition=GROOM][data-wedding-template-active=CARTOON_STORY]) .wedding-template-music{inset-inline:auto 12px}.wedding-editorial-calendar-spread{grid-template-columns:minmax(0,1fr)}.wedding-editorial-calendar-spread aside{display:flex;align-items:end;justify-content:space-between;gap:12px}}@media (max-width:375px){.wedding-template-gift-grid{gap:7px}.wedding-template-gift-button{min-height:112px;padding-inline:5px}.wedding-template-gift-button img{width:52px}.wedding-template-switcher-panel{width:224px}.wedding-anime-storyboard>div,.wedding-cartoon-panels>div{grid-template-columns:minmax(0,1fr)}.wedding-anime-storyboard article:first-child,.wedding-cartoon-panels figure:first-child{grid-column:auto}.hrd-wedding-template-options{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.wedding-template-gift-button img,.wedding-template-page>:is(.wedding-chinese-opening,.wedding-cartoon-opening,.wedding-cartoon-modern-opening,.wedding-film-opening-ticket,.wedding-editorial-opening,.wedding-oil-opening-catalog,.wedding-anime-opening-card),.wedding-template-reveal,.wedding-template-tonearm{transition:none}.wedding-template-cartoon-cover-record-label>.wedding-template-cartoon-cover-record-rotor,.wedding-template-gift-effect *,.wedding-template-gift-effect-copy,.wedding-template-music-control.is-playing .wedding-template-cartoon-record,.wedding-template-music-control.is-playing .wedding-template-notes,.wedding-template-music-control.is-playing .wedding-template-record{animation:none!important}.wedding-template-gift-effect-pulse:not(.is-latest){display:none}.wedding-template-gift-effect-particle,.wedding-template-gift-effect-pulse>img:not(.wedding-template-gift-effect-aura){opacity:0}.wedding-template-gift-effect-copy,.wedding-template-gift-effect-pulse.is-latest .wedding-template-gift-effect-aura,.wedding-template-gift-effect-pulse.is-latest .wedding-template-gift-effect-particle.is-slot-1,.wedding-template-gift-effect-pulse.is-latest img.is-slot-1{opacity:1}.wedding-template-gift-effect-pulse.is-latest .wedding-template-gift-effect-stage{transform:none}.wedding-template-gift-effect-pulse.is-latest .wedding-template-gift-effect-particle.is-slot-1{display:block;transform:translate(-50%,-50%)}.wedding-template-gift-effect-pulse.is-latest .wedding-template-gift-effect-particle.is-slot-1>img{transform:none}}.wedding-cover-content{display:contents}.wedding-cover-content[data-cover-ready=false]{visibility:hidden;pointer-events:none}.wedding-cover-content[data-cover-ready=false] *{visibility:hidden!important}.wedding-cover-content[data-cover-ready=true]>.wedding-template-page{animation:wedding-cover-arrive .24s ease-out}.wedding-cover-content>.wedding-template-page:not(.is-opened)>button{transition:none}.wedding-cover-loading{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));color:var(--wedding-template-red);background:var(--wedding-template-paper);font-family:system-ui,sans-serif}.wedding-cover-loading[data-preset=CARTOON_STORY]{background:var(--wedding-cartoon-modern-cream);color:var(--wedding-cartoon-modern-cherry)}.wedding-cover-loading[data-preset=CINEMATIC_FILM]{background:var(--wedding-template-film);color:var(--wedding-template-film-paper)}.wedding-cover-loading[data-preset=OIL_PORTRAIT]{background:var(--wedding-template-canvas-warm);color:var(--wedding-template-ink)}.wedding-cover-loading[data-preset=ORIENTAL_ANIME]{background:var(--wedding-template-sky);color:var(--wedding-template-blue)}.wedding-cover-loading-recovery{text-align:center;font-size:14px}.wedding-cover-loading-recovery button{min-height:44px;padding:8px 24px;color:inherit;background:transparent;border:1px solid;border-radius:var(--wedding-template-radius-small);cursor:pointer}@keyframes wedding-cover-arrive{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.wedding-cover-content[data-cover-ready=true]>.wedding-template-page{animation:none!important}}.wedding-loading-progress-arc{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:58 175;transform-origin:153px 180px;animation:wedding-loading-progress-turn 1.6s linear infinite}.wedding-loading-caption{margin:0;font:inherit;font-size:13px;letter-spacing:.12em;text-align:center}@keyframes wedding-loading-progress-turn{to{transform:rotate(1turn)}}.wedding-cover-loading{transition:opacity .28s ease,visibility 0s linear .28s}.wedding-cover-loading[data-ready=true]{opacity:0;visibility:hidden;pointer-events:none}.wedding-cover-loading[data-ready=false]{opacity:1;visibility:visible;transition:none}.wedding-loading-artwork{width:min(220px,60vw);height:auto;overflow:visible;flex:0 0 auto;transition:transform .28s ease}.wedding-cover-loading[data-ready=true] .wedding-loading-artwork{transform:translateY(-8px)}.wedding-loading-paper{fill:var(--wedding-template-paper);stroke:var(--wedding-template-paper-deep);stroke-width:.8}.wedding-loading-paper-back{fill:var(--wedding-template-paper-deep);opacity:.65}.wedding-loading-fiber{fill:none;stroke:var(--wedding-template-muted);stroke-width:.6;opacity:.11}.wedding-loading-emboss{fill:none;stroke:var(--wedding-template-paper-deep);stroke-width:1.4}.wedding-loading-hairline{fill:none;stroke:currentColor;stroke-width:.8;opacity:.44}.wedding-loading-fold{fill:none;stroke:var(--wedding-template-paper-deep);stroke-width:1}.wedding-loading-branch{fill:none;stroke:var(--wedding-template-olive);stroke-width:1.1;stroke-linecap:round}.wedding-loading-leaf{fill:var(--wedding-template-olive);opacity:.36}.wedding-loading-blossom{fill:var(--wedding-cartoon-modern-blush-paper);stroke:var(--wedding-cartoon-modern-peach);stroke-width:.9}.wedding-loading-veins{fill:none;stroke:var(--wedding-cartoon-modern-peach);stroke-width:.75}.wedding-loading-pollen{fill:var(--wedding-template-gold);stroke:none}.wedding-loading-ribbon,.wedding-loading-wax{fill:var(--wedding-cartoon-modern-cherry)}.wedding-loading-wax-shadow{fill:var(--wedding-cartoon-modern-cherry-deep);opacity:.2}.wedding-loading-ribbon-light,.wedding-loading-wax-rim{fill:none;stroke:var(--wedding-cartoon-modern-peach);stroke-width:.9;opacity:.65}.wedding-loading-wax-engraving{fill:none;stroke:var(--wedding-cartoon-modern-peach);stroke-width:.8;opacity:.8}.wedding-loading-glint{fill:none;stroke:var(--wedding-template-paper);stroke-width:1.3;stroke-linecap:round;opacity:.3;animation:wedding-letter-glint 3.6s ease-in-out infinite}.wedding-loading-floating-petal,.wedding-loading-petal{fill:var(--wedding-template-pink);opacity:.45}.wedding-loading-drawing{stroke-dasharray:420;stroke-dashoffset:0;animation:wedding-letter-ink 4.8s ease-in-out infinite}.wedding-loading-ticket{fill:var(--wedding-template-film-paper);stroke:var(--wedding-template-gold);stroke-width:.9}.wedding-loading-reel-hole,.wedding-loading-sprocket{fill:var(--wedding-template-film);opacity:.65}.wedding-loading-perforation{fill:none;stroke:var(--wedding-template-film);stroke-width:.8;stroke-dasharray:2 4;opacity:.45}.wedding-loading-cinema-light{stroke:var(--wedding-template-paper);stroke-width:36;opacity:.35;animation:wedding-letter-light 5s ease-in-out infinite}.wedding-loading-artwork[data-artwork=CINEMATIC_FILM]{color:var(--wedding-template-film)}.wedding-loading-tape{fill:var(--wedding-template-pink);opacity:.45}.wedding-loading-frame{fill:var(--wedding-template-canvas-warm);stroke:var(--wedding-template-gold);stroke-width:3}.wedding-loading-brush{fill:none;stroke:var(--wedding-template-olive);stroke-width:4;stroke-linecap:round;opacity:.65}.wedding-loading-floating-petal{animation:wedding-letter-petal 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.wedding-loading-floating-petal.is-1{animation-delay:-1.6s}.wedding-loading-floating-petal.is-2{animation-delay:-3.2s}@keyframes wedding-letter-ink{0%{stroke-dashoffset:420;opacity:.3}65%,to{stroke-dashoffset:0;opacity:1}}@keyframes wedding-letter-glint{0%,to{opacity:.15}50%{opacity:.65}}@keyframes wedding-letter-light{0%,15%{transform:translateX(-60px);opacity:0}55%{opacity:.4}90%,to{transform:translateX(290px);opacity:0}}@keyframes wedding-letter-petal{0%,to{translate:0 0;rotate:-8deg}50%{translate:3px 9px;rotate:8deg}}@media (prefers-reduced-motion:reduce){.wedding-cover-loading,.wedding-loading-artwork{transition:none}.wedding-cover-loading[data-ready=true] .wedding-loading-artwork{transform:none}.wedding-loading-artwork *{animation:none!important}}@media (max-width:767px){.hrd-workbench :is(.hrd-admin-metric-grid,.hrd-summary-grid,.hrd-mini-admin-metrics){grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hrd-space-region)}.hrd-workbench .hrd-admin-metric-card{min-width:0;padding:12px;gap:8px}.hrd-workbench .hrd-admin-metric-card>.anticon{flex-shrink:0}}