@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/nunito-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/nunito-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #fff7f2;--bg-warm: #fff1ea;--surface: #fffdfb;--surface-2: #fff2ec;--surface-3: #ffe9e1;--ink: #4a3634;--ink-soft: #5d4642;--muted: #7b615c;--line: #f3d9d1;--line-soft: #f9e8e2;--rose: #ee6d8d;--rose-deep: #a82f4d;--rose-ink: #7f1f36;--rose-soft: #ffd9e2;--rose-pale: #ffedf2;--rose-btn: #d04063;--rose-btn-deep: #b73352;--lavender: #d8d0f5;--lavender-pale: #f0ecfc;--lavender-deep: #8b77c7;--lavender-ink: #5f4d96;--butter: #ffe7ae;--butter-deep: #c7922e;--mint: #cdeadd;--success: #3f7d63;--success-bg: #e6f3ec;--danger: #b3263f;--danger-bg: #fdecef;--warning: #8f6416;--warning-bg: #fff3d9;--night: #1e1715;--night-2: #2a201d;--night-3: #3a2c27;--night-ink: #f7ede9;--night-muted: #c4b1a9;--font-sans: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-hand: "Caveat", "Comic Sans MS", cursive;--text-xs: 11px;--text-sm: 13px;--text-md: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 28px;--text-3xl: 40px;--text-4xl: 56px;--leading-tight: 1.05;--leading-title: 1.15;--leading-body: 1.6;--leading-small: 1.45;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 999px;--shadow-card: 0 24px 48px -34px rgba(168, 47, 77, .42), 0 2px 8px -6px rgba(168, 47, 77, .16), inset 0 1px 0 #fff;--shadow-soft: 0 12px 24px -18px rgba(168, 47, 77, .35);--shadow-float: 0 16px 30px -16px rgba(168, 47, 77, .5);--shadow-key: 0 3px 0 #f0cfc5;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .22s;--safe-top: max(env(safe-area-inset-top, 0px), var(--tg-safe-top, 0px));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-bottom, 0px), 8px);--status-h: var(--safe-top);--tab-h: calc(62px + var(--safe-bottom));--gutter: 20px}@media(prefers-reduced-motion:reduce){:root{--dur: 0ms}}*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-user-select:none;user-select:none}body{margin:0;min-height:100dvh;overflow-x:hidden;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-body);color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img{display:block;max-width:100%}figure{margin:0}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea{font:inherit}::selection{background:var(--rose-soft);color:var(--ink)}:focus-visible{outline:3px solid var(--lavender-deep);outline-offset:3px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{position:relative;z-index:1;min-height:var(--tg-viewport-stable-height, 100dvh);padding-top:var(--status-h)}.statusbar{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;height:var(--status-h);padding:0 24px 0 28px;background:var(--bg);color:var(--ink);font-size:13px;font-weight:800;letter-spacing:.01em}.statusbar__time{padding-top:2px;font-variant-numeric:tabular-nums}.statusbar__icons{display:flex;align-items:center;gap:6px;padding-top:2px}.statusbar__icons svg{display:block;fill:currentColor}.topbar{position:sticky;top:var(--status-h);z-index:40;display:flex;align-items:center;justify-content:space-between;padding:8px var(--gutter) 10px;background:var(--bg)}.brand{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:5px 0;color:var(--rose-deep)}.brand__hand{font-family:var(--font-hand);font-size:30px;font-weight:600;line-height:1;letter-spacing:.01em;padding-top:1px}.brand__heart{width:13px;height:13px;fill:var(--rose);stroke:none;transform:rotate(8deg);margin-top:2px}.topbar .icon--fill{color:var(--rose);fill:currentColor}.topbar__right{display:flex;align-items:center;gap:7px}.couple-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;border:2px solid var(--surface);box-shadow:var(--shadow-soft);flex:0 0 auto;background:var(--rose-pale)}.icon-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--ink);transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.icon-btn:hover{background:var(--surface-2)}.icon-btn:active{transform:scale(.94)}.icon-btn .icon{width:22px;height:22px}.topbar--secondary{justify-content:flex-start;gap:2px}.topbar--secondary .icon-btn{margin-left:-8px}.topbar__title{font-size:var(--text-md);font-weight:800;letter-spacing:-.01em}.topbar__spacer{flex:1}.app-main{padding:4px var(--gutter) calc(var(--tab-h) + 24px)}.screen--plain .app-main{padding-bottom:calc(var(--safe-bottom) + 18px)}.eyebrow{margin:0;font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.script{font-family:var(--font-hand);font-weight:600;line-height:1.12;color:var(--rose-deep)}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.tiny{font-size:var(--text-xs)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:6px 0 14px}.page-head h1{margin:2px 0 0;font-size:var(--text-2xl);font-weight:800;line-height:var(--leading-tight);letter-spacing:-.03em}.page-head__aside{padding-bottom:3px;color:var(--muted);font-size:13px;font-weight:800;white-space:nowrap}.icon{display:inline-block;width:24px;height:24px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon--fill{fill:currentColor;stroke:none}.icon--sm{width:18px;height:18px}.icon--xs{width:14px;height:14px}.card{position:relative;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.soft-card{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border:1px solid transparent;border-radius:var(--radius-lg);font-size:15px;font-weight:800;line-height:1;letter-spacing:.01em;text-align:center;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}.btn .icon{width:19px;height:19px}.btn--primary{background:var(--rose-btn);color:#fff;box-shadow:0 3px 0 var(--rose-btn-deep),0 14px 24px -16px #b73352b3}.btn--primary:hover{background:#d84a6c}.btn--primary:active{transform:translateY(2px);box-shadow:0 1px 0 var(--rose-btn-deep),0 8px 16px -12px #b7335299}.btn--soft{background:var(--rose-pale);border-color:var(--rose-soft);color:var(--rose-deep)}.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn--quiet{min-height:44px;padding:0 12px;color:var(--muted);font-size:13px}.btn--danger{background:transparent;color:var(--danger);font-size:13px;min-height:44px}.btn--block{width:100%}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-full);background:var(--surface);color:var(--muted);font-size:13px;font-weight:800;line-height:1;white-space:nowrap;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.chip .icon{width:15px;height:15px}.chip.is-active{background:var(--rose-btn);border-color:var(--rose-btn);color:#fff;box-shadow:0 8px 18px -12px #b7335299}.chip--soft{background:var(--rose-pale);border-color:transparent;color:var(--rose-deep)}.chip--dashed{border-style:dashed;background:transparent;color:var(--muted)}.chip:active{transform:scale(.97)}.scroll-x{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.scroll-x::-webkit-scrollbar{display:none}.field label,.field__label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.field input,.field textarea{display:block;width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:16px;font-weight:600;line-height:1.45;padding:14px 15px;outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input{height:52px}.field textarea{min-height:108px;resize:none}.field input::placeholder,.field textarea::placeholder{color:#a78c86;font-weight:500}.field input:focus,.field textarea:focus{border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-pale)}.field__hint{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.4}.field__count{margin-top:6px;color:var(--muted);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.segmented{display:flex;gap:3px;padding:3px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-2)}.segmented button{flex:1;min-width:0;height:44px;border-radius:10px;color:var(--muted);font-size:12px;font-weight:800;line-height:1;white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.segmented button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px #4a363414}.toggle-hit{display:grid;place-items:center;min-width:44px;min-height:44px}.toggle{position:relative;width:48px;height:28px;border-radius:var(--radius-full);background:var(--line);flex:0 0 auto;transition:background-color var(--dur) var(--ease)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #4a363438;transition:transform var(--dur) var(--ease)}.toggle.is-on{background:var(--rose-btn)}.toggle.is-on:after{transform:translate(20px)}.avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border:2px solid var(--surface);border-radius:50%;background:var(--rose-pale);box-shadow:var(--shadow-soft);color:var(--rose-deep);font-size:15px;font-weight:800;line-height:1}.avatar--you{background:var(--lavender-pale);color:var(--lavender-ink)}.avatar--sm{width:32px;height:32px;font-size:12px}.avatar--lg{width:56px;height:56px;font-size:20px}.avatar--photo{overflow:hidden;padding:0}.avatar--photo img{width:100%;height:100%;object-fit:cover}.list{display:flex;flex-direction:column}.list-row{display:flex;text-align:left;align-items:center;gap:13px;min-height:64px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.list-row:last-child{border-bottom:0}.list-row__icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:12px;background:var(--surface-2);color:var(--rose-deep)}.list-row__icon .icon{width:20px;height:20px}.list-row__body{flex:1;min-width:0}.list-row__title{display:block;font-size:15px;font-weight:800;line-height:1.25}.list-row__meta{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.35}.list-row__end{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.list-row__end .icon{width:17px;height:17px}.empty{padding:28px 12px 24px;text-align:center}.empty__mascot{width:104px;margin:0 auto 6px}.empty h2{margin-top:8px;font-size:var(--text-xl);font-weight:800;line-height:1.15;letter-spacing:-.02em}.empty p{max-width:270px;margin:7px auto 18px;color:var(--muted);font-size:14px;line-height:1.6}.mascot{display:block;width:76px;margin:0 auto;filter:drop-shadow(0 12px 14px rgba(210,90,110,.18));animation:bob 5s ease-in-out infinite}.mascot__svg{display:block;width:100%;height:auto;overflow:visible}.mascot__eyes{transform-box:fill-box;transform-origin:center;animation:blink 6.5s infinite}.upload-bar{position:fixed;inset:auto 0 0;z-index:44;padding:12px 20px calc(var(--safe-bottom) + 12px);border-top:1px solid var(--line-soft);background:#fff7f2f7;box-shadow:0 -12px 30px -28px #a82f4d80}.upload-bar .btn{width:100%}.upload-bar--split{display:flex;align-items:center;gap:9px}.upload-bar--split .btn{flex:1}.upload-bar--split .btn--ghost{flex:0 0 96px}.fab{position:fixed;right:18px;bottom:calc(var(--tab-h) + 16px);z-index:44;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--rose-btn);color:#fff;box-shadow:0 5px 0 var(--rose-btn-deep),0 18px 30px -14px #b73352a6;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.fab .icon{width:26px;height:26px}.fab:hover{transform:translateY(-1px)}.fab:active{transform:translateY(3px);box-shadow:0 2px 0 var(--rose-btn-deep),0 10px 18px -12px #b7335299}.tabbar{position:fixed;inset:auto 0 0;z-index:45;display:flex;justify-content:space-around;align-items:flex-start;height:var(--tab-h);padding:5px 20px var(--safe-bottom);border-top:1px solid var(--line-soft);background:#fffdfbf7;box-shadow:0 -12px 30px -28px #a82f4d80}.tabbar__item{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 88px;padding-top:4px;color:var(--muted);font-size:11px;font-weight:800;line-height:1;letter-spacing:.05em;transition:color var(--dur) var(--ease),transform var(--dur) var(--ease)}.tabbar__icon{display:grid;place-items:center;width:42px;height:27px;border-radius:var(--radius-full);transition:background-color var(--dur) var(--ease)}.tabbar__item .icon{width:23px;height:23px}.tabbar__item.is-active{color:var(--rose-deep)}.tabbar__item.is-active .tabbar__icon{background:var(--rose-pale)}.tabbar__item:active{transform:scale(.96)}.screen--viewer{height:100dvh;overflow:hidden;background:var(--night);color:var(--night-ink)}.screen--viewer .statusbar{background:var(--night);color:var(--night-ink)}.screen--viewer .app{height:100dvh;min-height:var(--tg-viewport-stable-height, 100dvh);padding-top:var(--status-h);display:flex;flex-direction:column}.screen--viewer .app-main{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}.viewer-bar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 10px;flex:0 0 auto;color:var(--night-ink)}.viewer-bar__btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:inherit;transition:background-color var(--dur) var(--ease)}.viewer-bar__btn:hover{background:#ffffff14}.viewer-bar__btn .icon{width:22px;height:22px;fill:none;stroke:currentColor}.viewer-bar__count{color:var(--night-muted);font-size:11px;font-weight:800;letter-spacing:.16em;font-variant-numeric:tabular-nums}.viewer-stage{display:grid;place-items:center;flex:1;min-height:0;padding:4px 0 0}.viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:5px;box-shadow:0 30px 60px -30px #000000d9}.viewer-sheet{position:relative;flex:0 0 auto;background:var(--surface);color:var(--ink);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:10px var(--gutter) calc(var(--safe-bottom) + 14px);box-shadow:0 -20px 40px -30px #0000008c}.grabber{width:38px;height:4px;margin:0 auto 12px;border-radius:var(--radius-full);background:var(--line)}@keyframes bob{0%,to{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-5px) rotate(1.2deg)}}@keyframes blink{0%,91%,to{transform:scaleY(1)}93%,95%{transform:scaleY(.12)}}@keyframes pulseRing{0%{opacity:.55;transform:scale(.92)}70%{opacity:0;transform:scale(1.18)}to{opacity:0;transform:scale(1.18)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}html,body,#root{min-height:100%}body{overscroll-behavior-y:none;touch-action:manipulation}.app{width:100%;max-width:620px;margin:0 auto}.tabbar,.upload-bar{left:0;right:0;width:min(100%,620px);max-width:620px;margin-inline:auto;transform:none}.topbar{padding-top:8px}.screen-enter{animation:screenIn .26s var(--ease) both}@media(hover:none){.btn:active,.chip:active,.icon-btn:active,.reaction:active,.action-chip:active,.tabbar__item:active,.tile:active,.list-row:active,.date-field:active,.date-all:active{transform:scale(.975)}.tile:active{opacity:.92}.couple-avatar:active{transform:scale(.94)}}.couple-avatar{display:grid;place-items:center;color:var(--rose-deep);font-size:13px;font-weight:800;padding:0;transition:transform var(--dur) var(--ease)}.couple-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}.couple-avatar--empty{background:radial-gradient(circle at 50% 35%,#fff 0%,var(--rose-pale) 70%)}.profile__avatar--button{display:grid;place-items:center;padding:0;color:var(--rose-deep);font-size:15px;font-weight:800}.profile__avatar--button img{width:100%;height:100%;object-fit:cover}.hug-burst{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.hug-burst span{position:absolute;left:50%;top:50%;width:18px;height:18px;color:var(--rose);fill:currentColor;animation:heartFly .9s var(--ease) forwards}@keyframes heartFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.15) rotate(var(--rot))}}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.94)}60%{transform:scale(1.03)}to{transform:scale(1)}}.is-sent{animation:pop .34s var(--ease)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.shake{animation:shake .36s ease-in-out}@media(prefers-reduced-motion:reduce){.screen-enter,.is-sent,.shake,.hug-burst span{animation:none!important}}.sheet-overlay{position:fixed;inset:0;z-index:100;background:#1e17156b;backdrop-filter:blur(2px)}.sheet-content{position:fixed;inset:auto 0 0;z-index:101;max-height:min(88dvh,760px);overflow-y:auto;padding:10px var(--gutter) calc(var(--safe-bottom) + 16px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);color:var(--ink);box-shadow:0 -24px 50px -30px #00000080;outline:none}.sheet-title{margin:2px 0 10px;font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.025em}.sheet-subtitle{margin:-4px 0 14px;color:var(--muted);font-size:13px;line-height:1.45}.sheet-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.toast-host{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 18px);z-index:200;display:flex;flex-direction:column;gap:7px;width:min(360px,calc(100% - 32px));transform:translate(-50%);pointer-events:none}.toast{padding:12px 14px;border:1px solid var(--line-soft);border-radius:14px;background:#4a3634f0;color:#fff;box-shadow:0 16px 30px -18px #0000008c;font-size:13px;font-weight:700;line-height:1.35;text-align:center;animation:screenIn .2s var(--ease) both;pointer-events:auto}.toast--error{background:#b3263ff5}.toast--success{background:#3f7d63f5}.confirm-backdrop{isolation:isolate;position:fixed;inset:0;z-index:210;display:grid;place-items:center;padding:20px;background:#1e17157a;backdrop-filter:blur(2px)}.confirm-backdrop__hit{position:absolute;inset:0;z-index:-1;border:0;background:transparent}.confirm-card{width:min(340px,100%);padding:20px;border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-card)}.confirm-card h2{font-size:22px;font-weight:800;line-height:1.15;letter-spacing:-.02em}.confirm-card p{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.5}.confirm-card__actions{display:flex;gap:8px;margin-top:16px}.confirm-card__actions .btn{flex:1;min-height:46px}.empty-center{padding:40px 12px;text-align:center}.empty-center .mascot{width:94px;margin-bottom:8px}.empty-center h2{margin-top:8px;font-size:22px;font-weight:800;line-height:1.15}.empty-center p{max-width:280px;margin:7px auto 16px;color:var(--muted);font-size:13px;line-height:1.55}.photo-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.photo-picker__item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:10px;background:var(--surface-2)}.photo-picker__item img{width:100%;height:100%;object-fit:cover}.photo-picker__item.is-current{outline:3px solid var(--rose);outline-offset:-3px}.photo-picker__check{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--rose-btn);color:#fff}.photo-picker__check .icon{width:12px;height:12px}.field-error{margin-top:6px;color:var(--danger);font-size:12px;font-weight:700;line-height:1.35}.btn[disabled],.chip[disabled],.reaction[disabled],.action-chip[disabled]{opacity:.5;pointer-events:none}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:360px){:root{--gutter: 16px}.tabbar{padding-left:10px;padding-right:10px}.tabbar__item{flex-basis:76px}}.trash-card{padding:0 15px;border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-soft)}.trash-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.trash-row:last-child{border-bottom:0}.trash-row__thumb{width:60px;height:60px;flex:0 0 auto;overflow:hidden;border-radius:12px;background:var(--surface-2)}.trash-row__thumb img{width:100%;height:100%;object-fit:cover}.trash-row__body{flex:1;min-width:0}.trash-row__title{display:block;font-size:13px;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trash-row__meta{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.3}.trash-row__actions{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto}.trash-row__restore{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:var(--rose-deep);font-size:11px;font-weight:800}.trash-row__purge{display:inline-flex;align-items:center;min-height:36px;padding:0 8px;color:var(--danger);font-size:10px;font-weight:800}.screen--home{background:var(--bg)}.screen--home .app-main{position:relative}.screen--home .app-main:before{content:"";position:absolute;top:-70px;right:0;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#ffcedd85,#ffcedd00 68%);pointer-events:none;z-index:0}.home{position:relative}.home>*{position:relative;z-index:1}.counter{padding:16px 0 22px}.counter__line{display:flex;align-items:baseline;gap:9px;margin-top:12px}.counter__num{color:var(--rose-deep);font-size:56px;font-weight:800;line-height:1.1;letter-spacing:-.045em;font-variant-numeric:tabular-nums;white-space:nowrap}.counter__unit{padding-bottom:5px;color:var(--muted);font-size:13px;font-weight:800}.counter__since{margin-top:7px;color:var(--muted);font-size:13px;font-weight:700}.counter__note{margin-top:9px;font-size:24px;color:var(--rose-deep)}.counter__spark{position:absolute;top:22px;right:4px;width:22px;height:22px;color:var(--butter-deep);opacity:.9;transform:rotate(8deg)}.hug-card{position:relative;overflow:hidden;padding:18px;border:1px solid #ffdfe7;border-radius:var(--radius-xl);background:radial-gradient(110% 80% at 10% 0%,#fff7f9,#fff7f900 58%),linear-gradient(150deg,#fff1f4,#ffe7ee 56%,#fff3e9);box-shadow:var(--shadow-card)}.hug-card:after{content:"";position:absolute;right:-28px;bottom:-52px;width:150px;height:150px;border-radius:50%;background:#ffffff57;pointer-events:none}.hug-card__top{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.mascot-btn{position:relative;display:grid;place-items:center;width:86px;height:86px;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff,#fff2f6 72%);box-shadow:0 10px 22px -14px #b7335294,inset 0 1px #fff;transition:transform var(--dur) var(--ease)}.mascot-btn:before{content:"";position:absolute;inset:-7px;border:2px solid rgba(238,109,141,.3);border-radius:50%;animation:pulseRing 3.8s ease-out infinite}.mascot-btn:active{transform:scale(.96)}.mascot-btn .mascot{width:72px;margin:0}.hug-card__copy{flex:1;min-width:0}.hug-card__eyebrow{font-size:20px;line-height:1;margin-bottom:2px}.hug-card h2{font-size:24px;font-weight:800;line-height:1.12;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}.hug-card__sub{margin-top:4px;color:var(--muted);font-size:13px;font-weight:600}.hug-card .reactions{position:relative;z-index:1;display:flex;gap:7px;margin-top:15px}.reaction{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 2px 7px;border:1px solid rgba(255,255,255,.92);border-radius:14px;background:#ffffff9e;color:var(--rose-deep);font-size:11px;font-weight:800;line-height:1.12;text-align:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.reaction:hover{background:#ffffffe6}.reaction:active{transform:scale(.96)}.reaction__icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--rose-pale);color:var(--rose-deep)}.reaction__icon .icon{width:15px;height:15px}.reaction--lips .reaction__icon{background:#ffe4ea;color:#b32f50}.reaction--heart .reaction__icon{background:#ffe8ef;color:#d04063}.reaction--miss .reaction__icon{background:var(--lavender-pale);color:var(--lavender-ink)}.hug-card__last{position:relative;z-index:1;display:flex;align-items:center;gap:6px;margin-top:11px;color:var(--muted);font-size:11px;font-weight:700}.hug-card__last:before{content:"";width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:var(--rose);box-shadow:0 0 0 3px #ee6d8d24}.memory{margin-top:24px}.memory__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.memory__head h2{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.025em}.memory__head a{gap:3px;color:var(--rose-deep);font-size:13px;font-weight:800;min-height:44px;display:inline-flex;align-items:center}.memory__head .icon{width:14px;height:14px}.polaroid{position:relative;display:block;padding:8px 8px 11px;border-radius:5px;background:#fff;box-shadow:0 22px 34px -26px #783e3a94,0 3px 8px -5px #783e3a40;transform:rotate(-1.4deg);transition:transform var(--dur) var(--ease)}.polaroid:hover{transform:rotate(0) translateY(-2px)}.tape{position:absolute;top:-9px;left:50%;z-index:2;width:78px;height:19px;border-radius:2px;background:#ffbccb85;box-shadow:0 2px 5px #c8788c1f;transform:translate(-50%) rotate(2deg)}.polaroid img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:3px;background:var(--surface-2)}.polaroid__caption{display:block;margin-top:9px;font-family:var(--font-hand);font-size:24px;font-weight:600;line-height:1;color:var(--ink);text-align:center}.memory__hint{margin-top:10px;color:var(--muted);font-size:11px;text-align:center}.memory__hint .icon{width:12px;height:12px;vertical-align:-2px;margin-right:3px}.home__foot{margin:24px 0 2px;color:var(--muted);font-family:var(--font-hand);font-size:20px;line-height:1.1;text-align:center}.screen--album .app-main{position:relative;padding-bottom:calc(var(--tab-h) + 92px)}.screen--album .app-main:before{content:"";position:absolute;top:-90px;right:0;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,#ffd6e16b,#ffd6e100 68%);pointer-events:none;z-index:0}.album{position:relative}.album>*{position:relative;z-index:1}.filters{margin:0 -20px 4px;padding:0 20px 4px}.groups{margin-top:18px}.group+.group{margin-top:26px}.group__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.group__head h2{font-family:var(--font-hand);font-size:24px;font-weight:600;line-height:1;color:var(--ink)}.group__count{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.grid{display:block;columns:2;column-gap:8px}.tile{position:relative;display:block;width:100%;margin:0 0 8px;break-inside:avoid;-webkit-column-break-inside:avoid;border-radius:14px;overflow:hidden;background:var(--surface-2);box-shadow:0 1px #fffc inset,0 8px 18px -16px #783e3a80;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.tile:hover{transform:translateY(-2px);box-shadow:0 1px #fffc inset,0 16px 26px -18px #783e3a8c}.tile img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}.group--undated{padding:14px 12px 12px;border:1px solid rgba(216,208,245,.58);border-radius:var(--radius-xl);background:radial-gradient(80% 60% at 100% 0%,#ffffff8c,#fff0 70%),#d8d0f52b}.group--undated .group__head{padding:0 2px}.group--undated .group__head h2{color:var(--lavender-ink)}.group--undated .group__count{color:var(--lavender-ink);opacity:.72;font-family:var(--font-hand);font-size:20px;font-weight:600;letter-spacing:0}.undated-note{display:flex;align-items:center;gap:6px;margin:0 2px 10px;color:var(--lavender-ink);font-size:11px;font-weight:700;opacity:.82}.undated-note .icon{width:13px;height:13px}.album-end{margin:26px 0 4px;color:var(--muted);font-family:var(--font-hand);font-size:20px;line-height:1.1;text-align:center}.album-empty-page{padding-bottom:calc(var(--tab-h) + 24px)}.page-head h1{font-size:28px}.empty-album{display:flex;flex-direction:column;align-items:center;margin-top:12px;padding:38px 22px 30px;border:1px dashed #e9dcd6;border-radius:var(--radius-xl);background:radial-gradient(90% 65% at 50% 0%,#fff8fa,#fff8fa00 70%),var(--surface);text-align:center}.empty-album .mascot{width:104px;margin-bottom:4px}.empty-album h2{margin-top:10px;font-size:24px;font-weight:800;line-height:1.12;letter-spacing:-.025em}.empty-album p{max-width:260px;margin:7px auto 18px;color:var(--muted);font-size:13px;line-height:1.6}.empty-album .btn{width:100%;max-width:250px}.empty-album__hint{margin-top:16px;color:var(--muted);font-family:var(--font-hand);font-size:20px;line-height:1.12;text-align:center}.empty-album__hint .heart{display:inline-block;width:12px;height:12px;margin:0 2px;fill:var(--rose);vertical-align:-1px}.viewer-stage{padding-top:2px}.viewer-sheet{padding-top:12px}.viewer-caption{margin-top:2px;font-family:var(--font-hand);font-size:24px;font-weight:600;line-height:1.08;color:var(--ink)}.viewer-date strong{color:var(--rose-deep);font-weight:800}.viewer-date__add{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;color:var(--rose-deep);font-size:12px;font-weight:800;white-space:nowrap}.viewer-meta{margin-top:-4px;color:var(--muted);font-size:11px;font-weight:600}.viewer-author{display:flex;align-items:center;gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line-soft)}.screen--viewer .viewer-stage img{max-height:calc(100dvh - var(--status-h) - 56px - 224px)}.edit-stage{position:relative;flex:0 0 190px;overflow:hidden;background:var(--night-2)}.screen--edit{overflow:hidden}.screen--edit .app{display:flex;flex-direction:column;height:100dvh}.screen--edit .app-main{display:flex;flex-direction:column;flex:1;min-height:0}.edit-stage{position:relative;flex:0 0 150px;overflow:hidden;background:var(--night-2)}.edit-stage>img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.9)}.edit-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#1e17152e,#1e17159e)}.edit-bar{position:absolute;inset:0 0 auto;z-index:2;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 10px;color:var(--night-ink)}.edit-bar__btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:inherit}.edit-bar__btn .icon{width:21px;height:21px}.edit-bar__title{font-size:13px;font-weight:800;letter-spacing:.01em}.edit-sheet{position:relative;z-index:3;flex:1;min-height:0;overflow-y:auto;margin-top:-24px;padding:10px var(--gutter) calc(var(--safe-bottom) + 16px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);color:var(--ink);box-shadow:0 -20px 40px -30px #0000008c}.edit-sheet .field{margin-top:10px}.edit-section{margin-top:18px}.edit-section__label{margin-bottom:8px;color:var(--muted);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.date-field{display:flex;align-items:center;gap:9px;width:100%;min-height:52px;margin-top:10px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:left}.date-field .icon{width:18px;height:18px;color:var(--rose-deep)}.date-field__value{flex:1;color:var(--ink);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.date-field__hint{color:var(--muted);font-size:11px;font-weight:700}.edit-note{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.edit-actions{margin-top:20px;display:flex;flex-direction:column;gap:4px}.edit-danger{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;color:var(--danger);font-size:12px;font-weight:800}.edit-danger .icon{width:16px;height:16px}.conflict__icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#ffe9c9;color:#8f6416}.conflict__icon .icon{width:17px;height:17px}.conflict__body{flex:1;min-width:0;padding-top:1px}.conflict__title{font-size:12px;font-weight:800;line-height:1.3}.conflict__meta{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}.conflict__actions{display:flex;gap:7px;margin-top:10px}.conflict__actions .btn{flex:1;min-height:44px;padding:0 8px;font-size:11px}@media(max-height:720px){.edit-stage{flex-basis:150px}}.upload-start{padding-bottom:calc(var(--safe-bottom) + 24px)}.upload-intro{padding:4px 0 18px}.upload-intro h1{margin-top:3px;font-size:28px;font-weight:800;line-height:1.08;letter-spacing:-.03em}.upload-intro p{max-width:300px;margin-top:7px;color:var(--muted);font-size:13px;line-height:1.55}.dropzone{display:flex;flex-direction:column;align-items:center;padding:30px 18px 20px;border:1px dashed #e9dcd6;border-radius:var(--radius-xl);background:radial-gradient(90% 70% at 50% 0%,#fff8fa,#fff8fa00 68%),var(--surface);box-shadow:var(--shadow-soft);text-align:center}.dropzone__icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:12px;border-radius:50%;background:var(--rose-pale);color:var(--rose-deep);box-shadow:0 8px 18px -14px #b733528c}.dropzone__icon .icon{width:28px;height:28px}.dropzone h2{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.025em}.dropzone p{max-width:250px;margin:6px auto 16px;color:var(--muted);font-size:13px;line-height:1.55}.dropzone .btn{width:100%;max-width:260px}.dropzone .btn+.btn{margin-top:8px}.upload-start__hint{margin:14px 4px 0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.upload-start__hint .icon{width:12px;height:12px;margin-right:3px;vertical-align:-2px}.screen--plain .app-main.upload{padding-bottom:210px}.upload-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 0 12px}.upload-summary p{color:var(--muted);font-size:13px;font-weight:700}.upload-summary strong{color:var(--ink);font-size:15px;font-weight:800}.upload-summary .btn--quiet{margin-right:-12px}.previews{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview{position:relative;overflow:hidden;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface-2)}.preview img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.preview__remove{position:absolute;top:1px;right:1px;display:grid;place-items:center;width:44px;height:44px;color:#fff}.preview__remove span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1e17156b;box-shadow:0 2px 6px #00000029}.preview__remove .icon{width:13px;height:13px}.preview__date{position:absolute;left:7px;bottom:7px;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 14px);height:24px;padding:0 8px;border-radius:var(--radius-full);background:#fffdfbf0;box-shadow:0 2px 6px #4a363424;color:var(--rose-deep);font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview__date .icon{width:11px;height:11px;flex:0 0 auto}.preview__date--exif{color:var(--success)}.preview__date--empty{border:1px dashed rgba(255,255,255,.8);background:#1e171542;color:#fff;box-shadow:none}.preview--add{grid-column:span 2;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-height:64px;border-style:dashed;border-color:var(--line);background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:800}.preview--add span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface);color:var(--rose-deep);box-shadow:var(--shadow-soft)}.preview--add .icon{width:20px;height:20px}.date-all{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;margin-top:16px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface);text-align:left;transition:background-color var(--dur) var(--ease)}.date-all:hover{background:var(--surface-2)}.date-all__icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:11px;background:var(--rose-pale);color:var(--rose-deep)}.date-all__icon .icon{width:18px;height:18px}.date-all__body{flex:1;min-width:0}.date-all__title{display:block;font-size:13px;font-weight:800;line-height:1.2}.date-all__meta{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.3}.date-all>.icon{width:16px;height:16px;color:var(--muted)}.date-hint{margin:6px 0 18px 4px;color:var(--muted);font-size:11px;line-height:1.4}.upload .field{margin-top:2px}.field__label-row{display:flex;align-items:center;gap:7px;margin-bottom:8px}.field__label-row label{margin:0;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.optional{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:var(--radius-full);background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:none}.upload-note{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.4;text-align:center}.screen--plain .app-main.progress-page{padding-bottom:210px}.progress-head{padding:4px 0 16px}.progress-head h1{margin-top:3px;font-size:24px;font-weight:800;line-height:1.12;letter-spacing:-.025em}.progress-head p{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}.progress-list{border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.progress-row{display:flex;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.progress-row:last-child{border-bottom:0}.progress-row__thumb{width:46px;height:46px;flex:0 0 auto;overflow:hidden;border-radius:12px;background:var(--surface-2)}.progress-row__thumb img{width:100%;height:100%;object-fit:cover}.progress-row__body{flex:1;min-width:0}.progress-row__title{font-size:12px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-row__meta{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.3}.bar{height:5px;margin-top:8px;border-radius:var(--radius-full);background:var(--surface-2);overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:var(--rose);transition:width var(--dur) var(--ease)}.bar--done span{background:var(--success)}.bar--error span{background:var(--danger)}.progress-row__state{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.progress-row__state--done{color:var(--success)}.progress-row__state--error{color:var(--danger)}.state-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #ee6d8d1f}.progress-row--error{background:linear-gradient(90deg,#fdecef99,#fdecef00)}.retry{display:inline-flex;align-items:center;gap:3px;min-height:44px;padding:0 2px;color:var(--danger);font-size:11px;font-weight:800}.progress-foot{margin:14px 2px 0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}@media(prefers-reduced-motion:reduce){.bar span{transition:none}}.hugs-page{padding-bottom:calc(var(--safe-bottom) + 24px)}.hugs-hero{position:relative;overflow:hidden;padding:17px 16px 16px;border:1px solid #ffdfe7;border-radius:var(--radius-xl);background:radial-gradient(100% 70% at 0% 0%,#fff8fa,#fff8fa00 58%),linear-gradient(150deg,#fff1f4,#ffe7ee 58%,#fff3e9);box-shadow:var(--shadow-card)}.hugs-hero:after{content:"";position:absolute;right:-40px;top:-50px;width:160px;height:160px;border-radius:50%;background:#ffffff52}.hugs-hero__top{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.hugs-hero .mascot-btn{position:relative;display:grid;place-items:center;width:78px;height:78px;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff,#fff2f6 72%);box-shadow:0 10px 22px -14px #b7335294,inset 0 1px #fff}.hugs-hero .mascot-btn .mascot{width:66px;margin:0}.hugs-hero__copy{min-width:0}.hugs-hero h1{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.025em}.hugs-hero__copy p{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.4}.action-chips{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.action-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:1 0 calc(33.333% - 5px);min-height:44px;padding:0 7px;border:1px solid rgba(255,255,255,.92);border-radius:14px;background:#ffffff9e;color:var(--rose-deep);font-size:11px;font-weight:800;line-height:1;white-space:nowrap;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.action-chip:hover{background:#ffffffe6}.action-chip:active{transform:scale(.97)}.action-chip .icon{width:15px;height:15px}.action-chip--note{color:var(--lavender-ink)}.action-chip--note .icon{color:var(--lavender-deep)}.history{margin-top:24px}.history__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.history__head h2{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.025em}.history__head span{color:var(--muted);font-size:11px;font-weight:800}.history-card{padding:2px 15px;border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-soft)}.history-day{padding:12px 1px 2px}.history-day:first-child{padding-top:10px}.history-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.history-row:last-child{border-bottom:0}.history-row__body{flex:1;min-width:0;padding-top:1px}.history-row__title{font-size:13px;font-weight:800;line-height:1.3}.history-row__meta{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}.history-row__quote{margin-top:6px;color:var(--lavender-ink);font-family:var(--font-hand);font-size:20px;font-weight:600;line-height:1.15}.reply-pill{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 10px;border-radius:var(--radius-full);background:var(--rose-pale);color:var(--rose-deep);font-size:11px;font-weight:800;line-height:1;white-space:nowrap}.reply-pill .icon{width:13px;height:13px}.delivered{display:inline-flex;align-items:center;gap:3px;color:var(--success);font-size:10px;font-weight:800;white-space:nowrap}.delivered .icon{width:12px;height:12px}.history-row--sent .avatar--you .icon{width:14px;height:14px}.history-empty{padding:26px 20px 24px;border:1px dashed #e9dcd6;border-radius:var(--radius-xl);background:radial-gradient(85% 65% at 50% 0%,#fff8fa,#fff8fa00 70%),var(--surface);text-align:center}.history-empty__icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border-radius:50%;background:var(--rose-pale);color:var(--rose-deep)}.history-empty__icon .icon{width:22px;height:22px}.history-empty h3{font-size:20px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.history-empty p{max-width:250px;margin:6px auto 0;color:var(--muted);font-size:13px;line-height:1.55}.hugs-foot{margin:22px 0 0;color:var(--muted);font-family:var(--font-hand);font-size:20px;line-height:1.1;text-align:center}.settings-page{padding-bottom:calc(var(--safe-bottom) + 24px)}.profile{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid #ffdfe7;border-radius:var(--radius-xl);background:radial-gradient(90% 70% at 100% 0%,#fff8fa,#fff8fa00 60%),linear-gradient(150deg,#fff1f4,#ffe7ee 58%,#fff3e9);box-shadow:var(--shadow-soft)}.profile__avatar{width:56px;height:56px;flex:0 0 auto;overflow:hidden;border:2px solid #fff;border-radius:50%;box-shadow:var(--shadow-soft)}.profile__avatar img{width:100%;height:100%;object-fit:cover}.profile__body{flex:1;min-width:0}.profile__title{font-size:16px;font-weight:800;line-height:1.2}.profile__meta{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.profile__heart{width:25px;height:25px;flex:0 0 auto;color:var(--rose);fill:currentColor;transform:rotate(8deg)}.settings-section{margin-top:22px}.settings-section h2{margin:0 4px 6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.settings-card{padding:0 15px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.settings-card .list-row{min-height:62px}.settings-action{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:44px;padding:0 10px;border:1px solid var(--rose-soft);border-radius:var(--radius-full);background:var(--rose-pale);color:var(--rose-deep);font-size:11px;font-weight:800;white-space:nowrap}.settings-action .icon{width:13px;height:13px}.settings-card .avatar{width:38px;height:38px;font-size:14px}.settings-about{margin:24px 4px 0;color:var(--muted);font-size:11px;line-height:1.65;text-align:center}.settings-version{display:block;margin-bottom:2px;color:var(--rose-deep);font-family:var(--font-hand);font-size:20px;line-height:1.1}.settings-logout{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:10px;color:var(--danger);font-size:12px;font-weight:800}.settings-note{margin:12px 4px 0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.screen--gate{background:radial-gradient(62% 40% at 10% 0%,#ffe4d6,#ffe4d600 62%),radial-gradient(52% 36% at 100% 4%,#ffe3ee,#ffe3ee00 64%),var(--bg)}.gate{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:calc(var(--status-h) + 20px) 20px calc(var(--safe-bottom) + 10px);overflow:hidden}.gate-brand{display:inline-flex;align-items:center;gap:5px;margin-bottom:13px;color:var(--rose-deep)}.gate-brand__hand{font-family:var(--font-hand);font-size:28px;font-weight:600;line-height:1}.gate-brand .icon{width:12px;height:12px;fill:var(--rose);stroke:none}.gate-card{position:relative;z-index:1;width:100%;max-width:348px;padding:19px 18px 15px;border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(120% 68% at 50% 0%,#fff2ec,#fff2ec00 62%),var(--surface);box-shadow:var(--shadow-card);text-align:center;overflow:hidden}.gate-card .mascot{width:70px;margin-bottom:1px}.gate-eyebrow{font-size:20px;line-height:1;margin-top:1px}.gate h1{margin:3px 0 2px;font-size:30px;font-weight:800;line-height:1.05;letter-spacing:-.035em}.gate-sub{color:var(--muted);font-size:13px;font-weight:600;line-height:1.45}.slots{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:15px}.slot{display:grid;place-items:center;width:25px;height:36px;border:1px solid #ffe2e9;border-radius:9px;background:#fff0f4;color:var(--ink);font-size:18px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.slot.is-filled{border-color:#ffcad6;background:var(--rose-soft);color:var(--rose-deep)}.slot.is-active{box-shadow:inset 0 0 0 2px #f3a9bc}.slot-sep{width:5px;height:5px;margin:0 1px;border-radius:50%;background:#f2c3cf}.gate-meta{margin-top:6px;color:var(--muted);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(240px,100%);margin:13px auto 0}.key{height:52px;border:1px solid #f7dad2;border-radius:16px;background:#fff9f6;box-shadow:var(--shadow-key);color:var(--ink);font-size:20px;font-weight:800;line-height:1;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}.key:hover{background:#fff2ed}.key:active{transform:translateY(2px);box-shadow:0 1px #f1d3c9}.key--empty{visibility:hidden;pointer-events:none}.key--icon{display:grid;place-items:center}.key--icon .icon{width:22px;height:22px;color:var(--rose-deep)}.gate-status{min-height:18px;margin-top:7px;color:var(--rose-deep);font-size:11px;font-weight:700;line-height:1.35}.gate-note{margin-top:1px;color:var(--muted);font-size:11px;line-height:1.4}.gate-heart{position:absolute;color:#ffc8d4;fill:currentColor;opacity:.62;pointer-events:none;animation:floatA 9s ease-in-out infinite alternate}.gate-heart--a{width:26px;top:13%;left:8%;transform:rotate(-14deg)}.gate-heart--b{width:36px;top:8%;right:9%;color:#ffd2dd;animation-duration:11s}.gate-heart--c{width:17px;bottom:16%;left:12%;color:var(--lavender);animation-duration:10s}.gate-spark{position:absolute;width:18px;color:var(--butter-deep);fill:none;stroke:currentColor;opacity:.8;animation:twinkle 5s ease-in-out infinite}.gate-spark--a{top:20%;right:13%}.gate-spark--b{bottom:22%;right:9%;width:13px;animation-delay:1s}@keyframes floatA{0%{transform:translateY(0) rotate(-10deg)}to{transform:translateY(-14px) rotate(6deg)}}@keyframes twinkle{0%,to{opacity:.4;transform:scale(.9) rotate(0)}50%{opacity:.9;transform:scale(1.12) rotate(16deg)}}.screen--name{background:radial-gradient(60% 40% at 12% 0%,#ffe4d6,#ffe4d600 62%),radial-gradient(54% 38% at 100% 4%,#ffe3ee,#ffe3ee00 64%),var(--bg)}.name-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:calc(var(--status-h) + 10px) 20px calc(var(--safe-bottom) + 12px)}.name-brand{display:inline-flex;align-items:center;gap:5px;margin-bottom:13px;color:var(--rose-deep)}.name-brand__hand{font-family:var(--font-hand);font-size:28px;font-weight:600;line-height:1}.name-brand .icon{width:12px;height:12px;fill:var(--rose);stroke:none}.name-card{width:100%;max-width:348px;padding:19px 18px 15px;border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(120% 65% at 50% 0%,#fff2ec,#fff2ec00 62%),var(--surface);box-shadow:var(--shadow-card);text-align:center}.name-card .mascot{width:68px;margin-bottom:2px}.name-eyebrow{font-size:20px;line-height:1}.name-card h1{margin:3px 0 2px;font-size:28px;font-weight:800;line-height:1.08;letter-spacing:-.03em;text-wrap:balance}.name-sub{color:var(--muted);font-size:13px;font-weight:600;line-height:1.45}.name-field{margin-top:15px;text-align:left}.name-field label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.name-field input{width:100%;height:52px;padding:0 15px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:16px;font-weight:700;outline:none}.name-field input:focus{border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-pale)}.name-hint{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}.name-actions{margin-top:15px;display:flex;flex-direction:column;gap:2px}.name-skip{min-height:44px;color:var(--muted);font-size:13px;font-weight:800}.name-note{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4}.screen--splash{background:radial-gradient(58% 38% at 10% 0%,#ffe4d6,#ffe4d600 62%),radial-gradient(54% 38% at 100% 4%,#ffe3ee,#ffe3ee00 64%),var(--bg)}.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:calc(var(--status-h) + 20px) 20px calc(var(--safe-bottom) + 20px);text-align:center}.splash__brand{display:inline-flex;align-items:center;gap:5px;color:var(--rose-deep);margin-bottom:18px}.splash__brand span{font-family:var(--font-hand);font-size:32px;font-weight:600;line-height:1}.splash__brand .icon{width:14px;height:14px;fill:var(--rose);stroke:none}.splash__mascot{display:grid;place-items:center;width:118px;height:118px;margin-bottom:18px;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff,#fff2f6 72%);box-shadow:0 18px 30px -22px #b7335294,inset 0 1px #fff}.splash__mascot .mascot{width:94px;margin:0}.splash h1{font-size:24px;font-weight:800;line-height:1.12;letter-spacing:-.025em}.splash p{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}.loader{display:flex;align-items:center;gap:5px;margin-top:20px;color:var(--rose)}.loader span{width:6px;height:6px;border-radius:50%;background:currentColor;animation:loaderPulse 1.1s ease-in-out infinite}.loader span:nth-child(2){animation-delay:.14s}.loader span:nth-child(3){animation-delay:.28s}.splash__note{position:absolute;bottom:calc(var(--safe-bottom) + 18px);left:20px;right:20px;color:var(--muted);font-size:11px;line-height:1.4;text-align:center}@keyframes loaderPulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.screen--auth{background:radial-gradient(58% 38% at 10% 0%,#ffe4d6,#ffe4d600 62%),radial-gradient(54% 38% at 100% 4%,#ffe3ee,#ffe3ee00 64%),var(--bg)}.auth-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:calc(var(--status-h) + 20px) 20px calc(var(--safe-bottom) + 20px)}.auth-brand{display:inline-flex;align-items:center;gap:5px;margin-bottom:14px;color:var(--rose-deep)}.auth-brand span{font-family:var(--font-hand);font-size:30px;font-weight:600;line-height:1}.auth-brand .icon{width:13px;height:13px;fill:var(--rose);stroke:none}.auth-card{width:100%;max-width:348px;padding:26px 22px 22px;border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(120% 65% at 50% 0%,#fff2ec,#fff2ec00 62%),var(--surface);box-shadow:var(--shadow-card);text-align:center}.auth-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--rose-pale);color:var(--rose-deep)}.auth-icon .icon{width:28px;height:28px}.auth-card h1{margin:0 auto;max-width:270px;font-size:26px;font-weight:800;line-height:1.12;letter-spacing:-.03em;text-wrap:balance}.auth-card p{margin:9px auto 18px;max-width:270px;color:var(--muted);font-size:13px;line-height:1.6}.auth-card .btn{width:100%}.auth-form{display:grid;gap:9px;margin-top:2px}.auth-input{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:16px;text-align:center;outline:none}.auth-input::placeholder{color:var(--muted);font-size:13px}.auth-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-pale)}.auth-input:disabled{opacity:.65}.auth-copy{justify-self:center;padding:2px 4px;border:0;background:none;color:var(--rose-deep);font-family:var(--font-body);font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.auth-note{margin-top:13px;color:var(--muted);font-size:11px;line-height:1.5}.auth-foot{margin-top:16px;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.screen--denied{background:radial-gradient(58% 38% at 10% 0%,#ffe4d6,#ffe4d600 62%),radial-gradient(54% 38% at 100% 4%,#ffe3ee,#ffe3ee00 64%),var(--bg)}.denied-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:calc(var(--status-h) + 20px) 20px calc(var(--safe-bottom) + 20px)}.denied-brand{display:inline-flex;align-items:center;gap:5px;margin-bottom:14px;color:var(--rose-deep)}.denied-brand span{font-family:var(--font-hand);font-size:30px;font-weight:600;line-height:1}.denied-brand .icon{width:13px;height:13px;fill:var(--rose);stroke:none}.denied-card{width:100%;max-width:334px;padding:30px 22px 26px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-card);text-align:center}.denied-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--lavender-pale);color:var(--lavender-ink)}.denied-icon .icon{width:28px;height:28px}.denied-card h1{font-size:26px;font-weight:800;line-height:1.12;letter-spacing:-.03em}.denied-card p{margin:9px auto 0;max-width:250px;color:var(--muted);font-size:13px;line-height:1.6}.denied-foot{margin-top:14px;color:var(--muted);font-family:var(--font-hand);font-size:20px;line-height:1.1;text-align:center}.denied-note{margin-top:18px;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.screen-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:var(--tg-viewport-stable-height, 100dvh);overflow:hidden}.screen-shell>.app{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.screen-shell>.tabbar{position:relative;inset:auto;flex:0 0 auto;width:100%;max-width:620px;margin:0 auto}body.screen--home .screen-shell .app-main{padding-bottom:calc(var(--safe-bottom) + 28px)}body.screen--album .screen-shell .app-main{padding-bottom:calc(var(--safe-bottom) + 96px)}.lightbox-root{--yarl__color_backdrop: var(--night)}.yarl__slide{padding-bottom:calc(232px + var(--safe-bottom))}.yarl__slide .viewer-meta{position:absolute;left:0;right:0;bottom:0;z-index:5}.yarl__slide_image{border-radius:5px}.yarl__button{filter:none;color:var(--night-ink)}.viewer-meta{width:100%;max-width:620px;margin:0 auto;padding:10px var(--gutter) calc(var(--safe-bottom) + 14px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);color:var(--ink);text-align:left}.viewer-meta .grabber{margin-bottom:10px}.viewer-caption{font-family:var(--font-hand);font-size:24px;font-weight:600;line-height:1.08}.viewer-date{display:flex;align-items:center;gap:7px;min-height:28px;margin-top:3px;color:var(--muted);font-size:13px;font-weight:700}.viewer-date .icon{width:15px;height:15px;color:var(--rose-deep)}.viewer-date__add{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;color:var(--rose-deep);font-size:12px;font-weight:800}.viewer-meta__line{margin-top:-4px;color:var(--muted);font-size:11px;font-weight:600}.viewer-author{display:flex;align-items:center;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}.viewer-author__body{flex:1;min-width:0}.viewer-author__name{font-size:13px;font-weight:800;line-height:1.2}.viewer-author__note{margin-top:1px;color:var(--muted);font-size:11px;line-height:1.3}.viewer-edit{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--rose-soft);border-radius:var(--radius-full);background:var(--rose-pale);color:var(--rose-deep);font-size:12px;font-weight:800;white-space:nowrap}.viewer-edit .icon{width:15px;height:15px}.viewer-swipe-hint{color:var(--night-muted);font-size:10px;text-align:center}.sheet .field{margin-top:10px}.sheet textarea{min-height:92px}.sheet .segmented{margin-top:8px}.sheet .field input,.sheet .field textarea{background:var(--surface)}.date-native{display:block;width:100%;height:52px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:16px;font-weight:700}.date-native:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-pale)}.upload-preview__status{position:absolute;inset:auto 7px 7px;display:flex;align-items:center;gap:4px;min-height:24px;padding:0 8px;border-radius:var(--radius-full);background:#fffdfbf0;color:var(--muted);font-size:10px;font-weight:800}.upload-preview__status--done{color:var(--success)}.upload-preview__status--error{color:var(--danger)}.upload-preview__progress{position:absolute;inset:auto 0 0;height:4px;background:#1e17152e}.upload-preview__progress span{display:block;height:100%;background:var(--rose);transition:width .16s linear}.upload-preview__filename{position:absolute;left:7px;top:7px;max-width:calc(100% - 52px);padding:3px 7px;border-radius:6px;background:#1e17156b;color:#fff;font-size:9px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-head__count{margin-top:3px;font-size:28px;font-weight:800;line-height:1.08;letter-spacing:-.03em}.progress-foot--success{color:var(--success);font-weight:800}.progress-row__retry{color:var(--danger)}.progress-row__thumb--empty{display:grid;place-items:center;color:var(--muted)}.conflict{margin:2px 0 4px;padding:12px;border:1px solid #f3d9c8;border-radius:var(--radius-md);background:#fff8ef}.conflict__top{display:flex;align-items:flex-start;gap:9px}.conflict__icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#ffefd8;color:#9b6417}.conflict__icon .icon{width:18px;height:18px}.conflict__body{flex:1;min-width:0}.conflict__title{font-size:13px;font-weight:800;line-height:1.25}.conflict__text{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4}.conflict__actions{display:flex;gap:6px;margin-top:10px}.conflict__actions .btn{flex:1;min-height:44px;font-size:12px}.edit-cover{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:12px;padding:0 12px;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--rose-deep);font-size:12px;font-weight:800;background:var(--rose-pale)}.edit-cover .icon{width:17px;height:17px}.hug-note-composer{margin-top:12px}.hug-note-composer textarea{min-height:76px}.hug-note-composer__actions{display:flex;gap:8px;margin-top:8px}.hug-note-composer__actions .btn{flex:1}.history-row__avatar{flex:0 0 auto}.history-row__title--accent{color:var(--rose-deep)}.gate-card--error{animation:shake .36s ease-in-out}.name-field input{font-size:16px}.profile__avatar{cursor:pointer}.profile__avatar .icon{width:20px;height:20px}.settings-cover-row{cursor:pointer}.settings-cover-row .couple-avatar{width:38px;height:38px;font-size:11px}.settings-cover-row__end{color:var(--rose-deep);font-size:11px;font-weight:800}.empty-search{padding:26px 10px;color:var(--muted);font-size:13px;text-align:center}.load-more{margin:18px auto 0}@media(max-width:360px){.photo-picker{grid-template-columns:repeat(3,1fr)}.progress-row__state{font-size:9px}.viewer-author{gap:6px}}@media(max-height:740px){.gate{justify-content:flex-start;padding-top:calc(var(--status-h) + 10px);padding-bottom:calc(var(--safe-bottom) + 4px)}.gate-brand{margin-bottom:6px}.gate-card{padding:12px 14px 10px}.gate-card .mascot{width:50px}.gate-eyebrow{font-size:18px}.gate h1{font-size:25px}.gate-sub{font-size:12px}.slots{margin-top:9px}.slot{width:23px;height:32px;font-size:16px}.gate-meta{margin-top:3px}.keypad{gap:6px;margin-top:9px}.key{height:44px;font-size:18px;border-radius:13px}.gate-status{margin-top:4px}}@media(max-height:620px){.gate-card .mascot{display:none}.gate-eyebrow{margin-top:0}}.gate{overflow-x:clip;overflow-y:auto}.yarl__fullsize{width:100%;height:100%}.yarl__relative{position:relative}.yarl__portal{position:fixed;inset:0;opacity:0;overflow:hidden;z-index:var(--yarl__portal_zindex,9999);transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);pointer-events:auto}.yarl__portal_open{opacity:1}.yarl__container{position:absolute;inset:0;overflow:hidden;background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:var(--yarl__controller_touch_action,none);overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain)}.yarl__carousel{display:flex;flex:0 0 auto;height:100%;align-content:center;justify-content:center;align-items:stretch;width:calc(100% + (-1 + var(--yarl__carousel_slides_count)) * (100% + var(--yarl__carousel_spacing_px,0) * 1px + var(--yarl__carousel_spacing_percent,0) * 1%));transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));opacity:var(--yarl__pull_opacity,1)}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px,0) * 1px + 100 / (100 * var(--yarl__carousel_slides_count) + (-1 + var(--yarl__carousel_slides_count)) * var(--yarl__carousel_spacing_percent,0)) * var(--yarl__carousel_spacing_percent,0) * 1%);column-gap:calc(var(--yarl__carousel_spacing_px,0) * 1px + 100 / (100 * var(--yarl__carousel_slides_count) + (-1 + var(--yarl__carousel_slides_count)) * var(--yarl__carousel_spacing_percent,0)) * var(--yarl__carousel_spacing_percent,0) * 1%)}.yarl__flex_center{display:flex;justify-content:center;align-content:center;align-items:center}.yarl__slide{flex:1;position:relative;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px,0) * 1px + 100 / (100 * var(--yarl__carousel_slides_count) + (-1 + var(--yarl__carousel_slides_count)) * var(--yarl__carousel_spacing_percent,0)) * var(--yarl__carousel_padding_percent,0) * 1%)}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);line-height:0}.yarl__slide_loading{color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)));animation:yarl__delayed_fadein 1s linear}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{width:var(--yarl__slide_icon_error_size,48px);height:var(--yarl__slide_icon_error_size,48px);color:var(--yarl__slide_icon_error_color,red)}@media(prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{position:absolute;inset:0 0 auto auto;display:flex;justify-content:flex-end;padding:var(--yarl__toolbar_padding,8px)}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{width:var(--yarl__icon_size,32px);height:var(--yarl__icon_size,32px)}.yarl__button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);margin:var(--yarl__button_margin,0);outline:none;line-height:0;padding:var(--yarl__button_padding,8px);color:var(--yarl__color_button,hsla(0,0%,100%,.8));filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media(hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{position:absolute;top:50%;transform:translateY(-50%);padding:var(--yarl__navigation_button_padding,24px 16px)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}
