.memory-page{--memory-paper:#f7f2e9;--memory-paper-deep:#eee5d7;--memory-ink:#20242a;--memory-muted:#746f68;--memory-gold:#b68a53;--memory-gold-dark:#8d673d;--memory-sage:#64776b;--memory-line:rgba(109,87,60,0.2);min-height:100svh;color:var(--memory-ink);background:var(--memory-paper);font-family:var(--font-sans),sans-serif}.memory-hero{position:relative;isolation:isolate;min-height:min(47svh,520px);display:grid;place-items:center;overflow:hidden;color:#f6efe4;background:linear-gradient(rgba(17,23,34,.64),rgba(17,23,34,.82)),url(/opened-invitation-card-bg.png) center 18% /cover no-repeat,#111722}.memory-hero:after,.memory-hero:before{content:"";position:absolute;pointer-events:none}.memory-hero:before{inset:22px;border:1px solid rgba(197,160,113,.38)}.memory-hero:after{width:min(760px,86vw);height:1px;left:50%;bottom:36px;translate:-50% 0;background:rgba(197,160,113,.42)}.memory-hero-inner{width:min(760px,calc(100% - 48px));display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:clamp(20px,4vw,42px);gap:clamp(20px,4vw,42px);padding:48px 0 58px}.memory-hero-inner>img{width:clamp(98px,15vw,154px);height:clamp(98px,15vw,154px);object-fit:contain;filter:drop-shadow(0 12px 30px rgba(0,0,0,.34))}.memory-kicker{margin:0;color:var(--memory-gold);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.memory-hero h1{margin:6px 0 10px;color:#f6efe4;font:500 clamp(3.25rem,8vw,6.2rem)/.88 var(--font-script),cursive}.memory-welcome{max-width:520px;margin:0;color:rgba(246,239,228,.76);font:500 clamp(1.12rem,2.5vw,1.42rem)/1.45 var(--font-serif),serif}.memory-workspace{width:min(920px,calc(100% - 40px));margin:0 auto;padding:clamp(46px,8vw,84px) 0 92px}.memory-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:30px}.memory-intro>div{max-width:620px}.memory-name-field{display:grid;grid-gap:8px;gap:8px;margin:0 0 22px;padding:18px 20px;border:1px solid rgba(173,137,80,.28);background:rgba(255,253,248,.68)}.memory-name-field>span{font:600 1rem var(--font-serif),serif;color:#171d26}.memory-name-field>span b{color:#8a7251;font:500 .72rem var(--font-sans),sans-serif}.memory-name-field input{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(23,29,38,.18);border-radius:4px;color:#171d26;background:#fffdf8;outline:none}.memory-name-field input:focus{border-color:#ad8950;box-shadow:0 0 0 3px rgba(173,137,80,.1)}.memory-name-field small{color:#7d786f;font-size:.72rem}.memory-intro h2{margin:8px 0 0;font:500 clamp(2.1rem,5.4vw,4.25rem)/.98 var(--font-serif),serif}.memory-intro>span{max-width:255px;display:flex;align-items:flex-start;gap:8px;padding-bottom:7px;color:var(--memory-muted);font-size:.76rem;line-height:1.45}.memory-intro>span svg{width:18px;flex:0 0 18px;color:var(--memory-sage)}.memory-dropzone{min-height:282px;display:grid;place-items:center;align-content:center;grid-gap:10px;gap:10px;padding:clamp(30px,7vw,58px);border:1px dashed rgba(141,103,61,.48);background:linear-gradient(rgba(255,253,248,.92),rgba(255,253,248,.92)),url(/botanical-paper.png) 50% /cover no-repeat;text-align:center;transition:border-color .25s ease,background-color .25s ease,transform .25s ease}.memory-dropzone.dragging{border-color:var(--memory-gold-dark);background-color:#fffdf8;transform:translateY(-2px)}.memory-dropzone>svg{width:42px;height:42px;margin-bottom:4px;color:var(--memory-gold-dark);stroke-width:1.25}.memory-dropzone h3{margin:0;font:600 clamp(1.55rem,3.5vw,2.15rem) var(--font-serif),serif}.memory-dropzone p{margin:0;color:var(--memory-muted);font-size:.84rem}.memory-picker-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:16px}.memory-picker-actions button,.memory-submit>button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 19px;border:1px solid var(--memory-line);border-radius:4px;color:var(--memory-ink);background:rgba(255,253,248,.88);font-size:.78rem;font-weight:700;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.memory-picker-actions button:hover{color:#fff;border-color:var(--memory-gold-dark);background:var(--memory-gold-dark);transform:translateY(-1px)}.memory-picker-actions button:disabled{cursor:default;opacity:.5}.memory-picker-actions svg,.memory-submit svg{width:18px}.memory-dropzone small{margin-top:10px;color:#90887e;font-size:.67rem}.memory-error{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;color:#9c4f4a;font-size:.78rem;line-height:1.45}.memory-error svg{width:17px;flex:0 0 17px}.memory-selection{margin-top:34px;padding-top:27px;border-top:1px solid var(--memory-line)}.memory-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.memory-selection-heading>div{display:flex;align-items:baseline;gap:11px}.memory-selection-heading strong{font:600 1.2rem var(--font-serif),serif}.memory-selection-heading b,.memory-selection-heading span{color:var(--memory-muted);font-size:.72rem}.memory-selection-heading b{color:var(--memory-gold-dark)}.memory-file-progress,.memory-total-progress{position:relative;height:4px;overflow:hidden;background:rgba(116,111,104,.14)}.memory-total-progress{margin:14px 0 22px}.memory-file-progress i,.memory-total-progress i{position:absolute;inset:0;transform-origin:left;background:var(--memory-gold);transition:transform .25s ease}.memory-file-list{display:grid}.memory-file-list article{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;grid-gap:15px;gap:15px;min-height:94px;padding:12px 0;border-bottom:1px solid var(--memory-line)}.memory-thumb{position:relative;width:70px;aspect-ratio:1;overflow:hidden;background:var(--memory-paper-deep)}.memory-thumb img,.memory-thumb video{width:100%;height:100%;display:block;object-fit:cover}.memory-thumb>span{position:absolute;right:5px;bottom:5px;width:22px;height:22px;display:grid;place-items:center;color:#fff;background:rgba(32,36,42,.74)}.memory-thumb svg{width:12px}.memory-file-copy{min-width:0;display:grid;grid-gap:5px;gap:5px}.memory-file-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.memory-file-copy>span{color:var(--memory-muted);font-size:.68rem}.memory-file-copy small{color:#9c4f4a;font-size:.68rem}.memory-file-progress{width:min(280px,100%);height:3px;margin-top:3px}.memory-file-state{min-width:42px;display:flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--memory-muted);font-size:.68rem}.memory-file-state button svg,.memory-file-state>svg{width:18px}.memory-file-state.done{color:var(--memory-sage)}.memory-file-state.error{color:#9c4f4a}.memory-file-state button{width:36px;height:36px;display:grid;place-items:center;border:0;color:var(--memory-muted);background:transparent;cursor:pointer}.memory-submit{display:flex;justify-content:flex-end;margin-top:24px}.memory-submit>button{min-width:230px;color:#fff;border-color:var(--memory-ink);background:var(--memory-ink)}.memory-submit>button:hover{border-color:var(--memory-gold-dark);background:var(--memory-gold-dark)}.memory-submit>button:disabled{cursor:wait;opacity:.72}.memory-submit.success{justify-content:stretch}.memory-submit.success>div{width:100%;display:flex;align-items:center;gap:13px;padding:18px 20px;color:#355344;border-left:3px solid var(--memory-sage);background:#e8efe9}.memory-submit.success>div>svg{flex:0 0 22px}.memory-submit.success span{display:grid;grid-gap:3px;gap:3px}.memory-submit.success small{color:#627269;font-size:.71rem}.memory-footer{min-height:124px;display:flex;align-items:center;justify-content:center;gap:12px;color:rgba(246,239,228,.64);background:#111722;font:600 .72rem var(--font-serif),serif;letter-spacing:.12em;text-transform:uppercase}.memory-footer img{width:52px;height:52px;object-fit:contain}.memory-state{display:grid;place-items:center;align-content:center;grid-gap:16px;gap:16px;padding:32px;text-align:center}.memory-state>img{width:104px}.memory-state>svg{width:30px;color:var(--memory-gold-dark)}.memory-state h1{margin:0;font:500 2.5rem var(--font-serif),serif}.memory-state p{max-width:420px;margin:0;color:var(--memory-muted)}.spin{animation:memory-spin .9s linear infinite}@keyframes memory-spin{to{transform:rotate(1turn)}}@media (max-width:700px){.memory-hero{min-height:42svh}.memory-hero:before{inset:12px}.memory-hero:after{bottom:22px}.memory-hero-inner{width:calc(100% - 38px);grid-template-columns:1fr;justify-items:center;gap:4px;padding:36px 0 42px;text-align:center}.memory-hero-inner>img{width:88px;height:88px}.memory-hero h1{margin:0 0 7px;font-size:clamp(3.2rem,18vw,4.7rem)}.memory-welcome{font-size:1.08rem}.memory-workspace{width:calc(100% - 28px);padding:40px 0 72px}.memory-intro{display:grid;grid-gap:16px;gap:16px}.memory-intro h2{font-size:clamp(2.05rem,11vw,3rem)}.memory-intro>span{max-width:none}.memory-dropzone{min-height:0;padding:34px 18px 28px}.memory-dropzone>svg{width:36px}.memory-picker-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.memory-picker-actions button{padding:0 12px}.memory-picker-actions button:last-child{grid-column:1/-1}.memory-file-list article{grid-template-columns:58px minmax(0,1fr) auto;gap:11px}.memory-thumb{width:58px}.memory-submit{position:-webkit-sticky;position:sticky;z-index:4;bottom:max(10px,env(safe-area-inset-bottom))}.memory-submit>button{width:100%;min-height:54px;box-shadow:0 12px 32px rgba(32,36,42,.2)}.memory-submit.success{position:static}}@media (prefers-reduced-motion:reduce){.memory-page *,.memory-page :after,.memory-page :before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}