:root{--night:#0e1a2b;--night-2:#152740;--night-3:#1c3150;--ink:#e9eef5;--muted:#9aaac0;--glacier:#8ed0dd;--rose:#f0a6ae;--rose-deep:#d97884;--paper:#f5efe3;--paper-2:#eae2d2;--paper-ink:#2a2a33;--paper-muted:#7a7365;--line:rgba(233,238,245,.14);--display:var(--font-display),"Georgia",serif;--body:var(--font-body),"Helvetica Neue",Arial,sans-serif;--hand:var(--font-hand),"Comic Sans MS",cursive;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0}body{background:var(--night);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--glacier)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:6px}.wrap{max-width:1100px;margin:0 auto;padding:0 18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1,h2,h3{font-family:var(--display);font-weight:400;text-wrap:balance;margin:0}h2{font-size:clamp(28px,4.5vw,40px);line-height:1.1;margin-bottom:6px}.lead{color:var(--muted);max-width:62ch;margin:0}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--glacier);font-weight:700}.hand{font-family:var(--hand)}section.block{padding:44px 0 6px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(14,26,43,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav-inner{gap:14px;height:58px}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:8px;color:var(--ink);text-decoration:none;font-family:var(--display);font-size:20px}.brand-heart{color:var(--rose)}.nav-links{display:flex;gap:4px;overflow-x:auto;flex:1 1;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-links a{color:var(--muted);text-decoration:none;padding:7px 11px;border-radius:999px;font-size:15px;white-space:nowrap}.nav-links a:hover{color:var(--ink)}.nav-links a.active{color:var(--night);background:var(--rose);font-weight:700}.nav-user{display:flex;gap:8px;margin:0}.avatar,.nav-user{align-items:center}.avatar{width:30px;height:30px;border-radius:50%;display:inline-flex;justify-content:center;color:var(--night);font-weight:700;font-size:14px;flex:0 0 auto}.link-btn{background:none;border:0;color:var(--muted);padding:4px;font-size:14px}.link-btn:hover{color:var(--ink)}@media (max-width:640px){.brand span:last-child,.nav-user .link-btn{display:none}}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);min-height:500px}.hero canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.hero-text{position:relative;display:flex;flex-direction:column;padding-top:40px;padding-bottom:170px}.hero h1{font-size:clamp(40px,8vw,84px);line-height:1;margin:10px 0 6px;max-width:14ch}.hero h1 em{font-style:normal;color:var(--rose)}.names{font-family:var(--hand);font-size:clamp(30px,5vw,44px);color:var(--paper);line-height:1}.greeting{margin-top:10px;color:var(--ink);font-size:16px;max-width:46ch}.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.chip{border:1px solid var(--line);background:rgba(14,26,43,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 12px;border-radius:999px;font-size:14px}.chip b{color:var(--rose);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:520px){.hero-text{padding-top:26px;padding-bottom:140px}}.count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:18px;max-width:420px}.count div{background:rgba(14,26,43,.62);border:1px solid var(--line);border-radius:14px;padding:10px 6px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.count b{display:block;font-family:var(--display);font-size:30px;line-height:1;font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.count small{color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-top:22px}.stat{background:var(--night-2);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.stat b{font-family:var(--display);font-size:30px;font-weight:400;display:block;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:14px}.map-card{margin-top:18px;background:var(--night-2);border:1px solid var(--line);border-radius:18px;padding:12px}.map-card svg{display:block;width:100%;max-width:680px;margin:0 auto;height:auto}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:10px;padding:0 6px}.legend i{display:inline-block;width:26px;height:0;border-top:3px solid var(--glacier);vertical-align:middle;margin-right:6px}.legend i.fly{border-top:2px dashed var(--rose)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:22px;gap:22px;margin-top:22px}.card{background:var(--paper);color:var(--paper-ink);border-radius:6px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(0,0,0,.7);display:flex;flex-direction:column;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 26px 50px -24px rgba(0,0,0,.8)}.card canvas{display:block;width:100%;height:180px}.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1 1;position:relative}.stamp{position:absolute;top:-30px;right:14px;width:62px;height:72px;background:var(--paper);border:2px dashed #c9bfae;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;transform:rotate(4deg);color:var(--paper-ink)}.stamp span{display:block;width:36px;height:24px;border-radius:2px;margin-bottom:4px}.date{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-muted);font-weight:700;padding-right:70px}.card h3{font-size:26px;line-height:1.1;padding-right:60px}.note{font-family:var(--hand);font-size:24px;line-height:1.05;color:#5b3a55;margin:2px 0}.counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px;font-size:13px;color:var(--paper-muted)}.counts span{background:var(--paper-2);border-radius:4px;padding:3px 8px}.day-hero{position:relative;border-bottom:1px solid var(--line)}.day-hero canvas{display:block;width:100%;height:340px}.day-hero .wrap{position:absolute;inset:auto 0 0 0;padding-bottom:22px}.day-hero .panel-title{display:inline-block;background:rgba(14,26,43,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:18px;padding:14px 18px;max-width:640px}.day-hero h1{font-size:clamp(32px,6vw,54px);line-height:1.05;margin:4px 0}.day-nav{display:flex;justify-content:space-between;gap:10px;margin:18px 0 0;flex-wrap:wrap}.day-nav a{color:var(--muted);text-decoration:none;font-size:15px;border:1px solid var(--line);border-radius:999px;padding:7px 14px}.day-nav a:hover{color:var(--ink);border-color:var(--rose)}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:22px;gap:22px}@media (max-width:860px){.grid-2{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--night-2);border:1px solid var(--line);border-radius:18px;padding:20px}.panel h3{font-size:24px;margin-bottom:10px}.timeline{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.timeline li{display:grid;grid-template-columns:82px 1fr;grid-gap:10px;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.timeline li:last-child{border-bottom:0}.timeline time{color:var(--glacier);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px}.see{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}.tip{margin-top:14px;background:var(--paper);color:var(--paper-ink);border-radius:10px;padding:12px 14px;font-size:15px}.tip b{color:#8a3b4a}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:14px;color:var(--muted)}.input,.select,.textarea{width:100%;background:var(--night);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:16px}.textarea{min-height:110px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(240,166,174,.18)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--rose);color:var(--night);border:0;border-radius:999px;padding:11px 18px;font-weight:700;font-size:15px;text-decoration:none;transition:background .2s,transform .1s}.btn:hover{background:#f5bcc2}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{border-color:var(--rose);color:var(--rose)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.error{color:#ffb4b4}.error,.ok{font-size:14px}.ok{color:var(--glacier)}.moods{display:flex;gap:6px;flex-wrap:wrap}.mood{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:5px 11px;font-size:14px}.mood[aria-pressed=true]{background:var(--rose);color:var(--night);border-color:var(--rose);font-weight:700}.notes{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.note-card{background:var(--paper);color:var(--paper-ink);border-radius:12px;padding:14px 16px;position:relative}.note-card.by-abraham{border-left:5px solid var(--glacier)}.note-card.by-yorlleny{border-left:5px solid var(--rose)}.note-meta{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--paper-muted);margin-bottom:6px;flex-wrap:wrap}.note-meta .avatar{width:24px;height:24px;font-size:12px}.note-text{white-space:pre-wrap;font-size:16px}.note-card .del{position:absolute;top:10px;right:10px;background:none;border:0;color:var(--paper-muted);font-size:13px}.note-card .del:hover{color:#a33}.mood-tag{background:var(--paper-2);border-radius:999px;padding:1px 8px}.empty{font-style:italic;padding:10px 0}.drop,.empty{color:var(--muted)}.drop{border:2px dashed var(--line);border-radius:16px;padding:20px;text-align:center;transition:border-color .2s,background .2s}.drop.over{border-color:var(--rose);background:rgba(240,166,174,.07)}.photo-grid{columns:220px 3;column-gap:12px;margin-top:16px}.photo{page-break-inside:avoid;break-inside:avoid;margin:0 0 12px;background:var(--paper);border-radius:10px;overflow:hidden;color:var(--paper-ink);position:relative}.photo button.open{padding:0;border:0;background:none;display:block;width:100%}.photo img{width:100%;height:auto}.photo figcaption{padding:8px 10px 10px;font-size:14px;display:flex;justify-content:space-between;gap:8px;align-items:center}.photo .cap{font-family:var(--hand);font-size:21px;line-height:1.05}.like{background:none;border:0;color:var(--paper-muted);font-size:15px;padding:2px 4px;white-space:nowrap}.like.on{color:var(--rose-deep)}.progress-bar{height:6px;background:hsla(0,0%,100%,.08);border-radius:99px;overflow:hidden;margin-top:10px}.progress-bar div{height:100%;background:var(--rose);transition:width .3s}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(5,10,18,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}.lightbox img{max-height:78vh;max-width:100%;border-radius:8px;object-fit:contain}.lightbox .lb-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;width:min(900px,100%);margin-top:12px;flex-wrap:wrap}.lightbox .lb-cap{font-family:var(--hand);font-size:26px;color:var(--paper)}.lightbox .lb-close{position:absolute;top:14px;right:14px}.filter{display:flex;gap:8px;overflow-x:auto;padding:14px 2px 4px;scrollbar-width:thin}.filter button{flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:6px 13px;font-size:14px;white-space:nowrap}.filter button[aria-pressed=true]{background:var(--rose);color:var(--night);border-color:var(--rose);font-weight:700}.letters{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px;margin-top:16px}.envelope{position:relative;background:var(--paper);color:var(--paper-ink);border-radius:10px;padding:70px 18px 18px;overflow:hidden;min-height:190px;display:flex;flex-direction:column;gap:6px}.envelope:before{content:"";position:absolute;left:0;right:0;top:0;height:64px;background:linear-gradient(to bottom right,transparent 49.5%,var(--paper-2) 50%) 0 /50% 100% no-repeat,linear-gradient(to bottom left,transparent 49.5%,var(--paper-2) 50%) 100% /50% 100% no-repeat;transform:scaleY(-1)}.seal{position:absolute;top:40px;left:50%;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#e98d98,#b5485a);display:flex;align-items:center;justify-content:center;color:#fff3f4;font-size:18px;box-shadow:0 3px 8px rgba(0,0,0,.25)}.envelope h4{font-family:var(--display);font-weight:400;font-size:22px;margin:8px 0 0}.envelope .when{font-size:13px;color:var(--paper-muted)}.envelope .actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}.envelope .btn{padding:8px 14px;font-size:14px}.btn.dark{background:var(--paper-ink);color:var(--paper)}.btn.dark:hover{background:#3e3e4a}.letter-open{position:fixed;inset:0;z-index:50;background:rgba(5,10,18,.9);display:flex;align-items:center;justify-content:center;padding:16px}.letter-paper{background:var(--paper);color:var(--paper-ink);border-radius:6px;max-width:620px;width:100%;max-height:86vh;overflow:auto;padding:32px 28px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:unfold .6s ease both;background-image:repeating-linear-gradient(transparent 0 33px,rgba(120,100,80,.12) 33px 34px)}.letter-paper h3{font-size:30px;margin-bottom:4px}.letter-paper .body{font-family:var(--hand);font-size:27px;line-height:34px;white-space:pre-wrap;margin-top:14px}.letter-paper .sign{font-family:var(--hand);font-size:30px;text-align:right;margin-top:14px;color:#8a3b4a}@keyframes unfold{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}.check{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.check input{width:20px;height:20px;accent-color:var(--rose);flex:0 0 auto}.check label{cursor:pointer;flex:1 1}.check.done label{color:var(--muted);text-decoration:line-through}.check .who{font-size:12px;color:var(--muted);white-space:nowrap}.feed{grid-gap:12px;margin-top:16px}.feed,.feed-item{display:grid;gap:12px}.feed-item{grid-template-columns:64px 1fr;grid-gap:12px;align-items:center;background:var(--night-2);border:1px solid var(--line);border-radius:14px;padding:10px;text-decoration:none;color:var(--ink)}.feed-item .ph,.feed-item img{width:64px;height:64px;object-fit:cover;border-radius:10px;background:var(--night-3);display:flex;align-items:center;justify-content:center;color:var(--rose);font-size:22px}.feed-item small{color:var(--muted);display:block}.login{min-height:100vh;min-height:100dvh;position:relative;display:grid;place-items:center;padding:24px 16px;overflow:hidden}.login canvas{position:absolute;inset:0;width:100%;height:100%}.login-card{position:relative;width:min(420px,100%);background:rgba(14,26,43,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:24px;padding:28px 24px;display:grid;grid-gap:16px;gap:16px;text-align:center}.login-card h1{font-size:40px;line-height:1}.login-card h1 em{font-style:normal;color:var(--rose)}.who-pick{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.who-pick button{background:var(--night-2);border:2px solid var(--line);border-radius:18px;padding:16px 8px;color:var(--ink);display:grid;justify-items:center;grid-gap:8px;gap:8px;transition:border-color .2s,transform .1s}.who-pick button[aria-pressed=true]{border-color:var(--rose);background:rgba(240,166,174,.08)}.who-pick .avatar{width:52px;height:52px;font-size:22px}.who-pick b{font-family:var(--hand);font-size:28px;font-weight:400;line-height:1}footer.foot{padding:50px 0 60px;text-align:center}footer.foot p{font-family:var(--hand);font-size:34px;color:var(--paper);margin:0}footer.foot small{color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.ambient{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.day-hero .wrap,.hero .hero-text,.login-card{z-index:1}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes titleIn{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes popIn{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:200%}}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}}@keyframes burst{0%{transform:rotate(var(--a)) translateY(0) scale(.4);opacity:0}20%{opacity:1}to{transform:rotate(var(--a)) translateY(-130px) scale(1.2);opacity:0}}@keyframes likePop{0%{transform:scale(1)}40%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes flap{0%{transform:scaleY(-1)}to{transform:scaleY(1) translateY(-64px)}}@keyframes sealBreak{0%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.3) rotate(-12deg)}to{transform:translateX(-50%) scale(0);opacity:0}}.rise{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.title-in{animation:titleIn .9s cubic-bezier(.2,.7,.2,1) both}.pop-in{animation:popIn .8s cubic-bezier(.2,.7,.2,1) .15s both}.shimmer{background:linear-gradient(90deg,var(--rose) 0,#ffe3e7 25%,var(--rose) 50%,#ffe3e7 75%,var(--rose) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:shimmer 6s linear infinite}.brand-heart{display:inline-block;animation:beat 2.4s ease-in-out infinite}.card{position:relative;transform-style:preserve-3d;will-change:transform;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}.card:hover{transform:translateY(-4px)}.card .glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0),hsla(0,0%,100%,.35),transparent 45%);opacity:0;transition:opacity .3s;mix-blend-mode:soft-light}.card:hover .glare{opacity:1}.like.on{animation:likePop .45s ease}.stat{transition:transform .25s,border-color .25s}.stat:hover{transform:translateY(-3px);border-color:rgba(240,166,174,.45)}.note-card,.photo{animation:rise .5s ease both}.photo{transition:transform .25s}.photo:hover{transform:translateY(-3px)}.photo img{transition:transform .5s}.photo:hover img{transform:scale(1.03)}.envelope{transition:transform .3s}.envelope:hover{transform:translateY(-4px) rotate(-.6deg)}.envelope.opening:before{animation:flap .6s ease forwards}.envelope.opening .seal{animation:sealBreak .6s ease forwards}.welcome{position:fixed;inset:0;z-index:30;display:grid;place-items:center;align-content:center;text-align:center;animation:popIn .5s ease both}.welcome p{margin:0;color:var(--muted);font-size:18px}.welcome b{font-family:var(--hand);font-weight:400;font-size:64px;color:var(--paper);line-height:1}.burst{position:relative;width:0;height:0;margin-bottom:30px}.burst span{position:absolute;left:-10px;top:-14px;color:var(--rose);font-size:22px;animation:burst 1.2s ease-out both;animation-delay:var(--d)}.login-card[aria-hidden=true]{opacity:0;transform:scale(.96);transition:opacity .3s,transform .3s;pointer-events:none}.brand-logo{width:30px;height:30px;border-radius:8px;flex:0 0 auto;box-shadow:0 4px 14px -6px rgba(240,166,174,.6)}.brand-name{white-space:nowrap}@media (max-width:640px){.brand-name{display:none}}.nav-avatar{display:inline-flex;border-radius:50%}.avatar{overflow:hidden;position:relative}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar.ring{box-shadow:0 0 0 2px var(--night),0 0 0 4px var(--rose)}.back-link{color:var(--muted);text-decoration:none;font-size:14px;margin-bottom:10px;align-self:flex-start}.back-link:hover{color:var(--rose)}.hero-home .hero-text{align-items:flex-start}.hero-logo{width:84px;height:84px;border-radius:22px;box-shadow:0 18px 40px -16px rgba(240,166,174,.55)}.couple{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}.couple-person{display:grid;justify-items:center;grid-gap:8px;gap:8px;text-align:center;max-width:170px}.couple-person b{font-family:var(--hand);font-size:30px;font-weight:400;color:var(--paper);line-height:1}.couple-person small{color:var(--ink);opacity:.85;font-size:14px}.couple-heart{color:var(--rose);font-size:34px;animation:beat 2.4s ease-in-out infinite;margin-bottom:40px}.card img.cover{width:100%;height:180px;object-fit:cover;display:block}.trip-status{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--paper-2);color:var(--paper-ink)}.trip-status span{font-weight:500;letter-spacing:0;text-transform:none}.trip-status.proximo{background:#d9eef2;color:#1d5866}.trip-status.en-curso{background:var(--rose);color:var(--night)}.trip-status.recuerdo{background:var(--paper-2);color:var(--paper-muted)}.new-trip{border:2px dashed rgba(240,166,174,.5);background:transparent;color:var(--ink);align-items:center;justify-content:center;text-align:center;gap:6px;min-height:300px;padding:24px;font:inherit}.new-trip:hover{border-color:var(--rose);background:rgba(240,166,174,.06)}.new-trip .plus{width:64px;height:64px;border-radius:50%;background:var(--rose);color:var(--night);font-size:38px;line-height:64px;margin-bottom:8px;transition:transform .3s}.new-trip:hover .plus{transform:rotate(90deg) scale(1.05)}.new-trip b{font-family:var(--display);font-size:26px;font-weight:400}.new-trip span:last-child{color:var(--muted);font-size:15px}.new-trip-panel{grid-column:1/-1}.trip-form{display:grid;grid-gap:12px;gap:12px}.scene-pick{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.scene-pick legend{font-size:14px;color:var(--muted);margin-bottom:6px;padding:0}.scene-pick label{padding:7px 13px;border-radius:999px;border:1px solid var(--line);cursor:pointer;font-size:15px}.scene-pick label.on{background:var(--rose);color:var(--night);border-color:var(--rose);font-weight:700}.scene-pick label:focus-within{outline:2px solid var(--rose);outline-offset:2px}.btn.danger{background:#d9534f;color:#fff}.btn.danger:hover{background:#e06b67}.profile-card{display:grid;grid-gap:12px;gap:12px}.profile-photo{display:grid;justify-items:center;grid-gap:14px;gap:14px;padding-top:6px}.profile-photo .avatar{font-size:60px!important}.login-logo{width:76px;height:76px;border-radius:20px;margin:0 auto 6px;box-shadow:0 18px 40px -16px rgba(240,166,174,.55)}.more-trips{text-align:center;color:var(--muted);margin:40px 0 0;font-size:15px}.more-trips a{color:var(--rose)}.modal-back{position:fixed;inset:0;z-index:80;background:rgba(5,10,18,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;animation:fadeIn .2s ease both}.modal{width:min(420px,100%);background:var(--night-2);border:1px solid var(--line);border-radius:22px;padding:22px 20px 18px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);text-align:center}.modal h3{font-family:var(--display);font-weight:400;font-size:26px;margin:4px 0 8px}.modal p{color:var(--muted);margin:0 0 16px;line-height:1.45;word-break:break-word}.modal-img{width:132px;height:132px;object-fit:cover;border-radius:16px;margin:0 auto 12px;box-shadow:0 0 0 3px var(--rose)}.modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.modal-actions .btn{min-width:130px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.toasts{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;display:grid;grid-gap:8px;gap:8px;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.toast{background:var(--paper);color:var(--paper-ink);padding:10px 16px;border-radius:999px;font-weight:700;font-size:15px;box-shadow:0 14px 30px -12px rgba(0,0,0,.6);animation:toastIn .35s cubic-bezier(.2,.7,.2,1) both;text-align:center}.toast.ok:first-letter{color:var(--rose-deep)}.toast.err{background:#f6d5d5;color:#7a1f2a}@keyframes toastIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.danger-text{color:#ff9aa6!important}.danger-text:hover{border-color:#ff9aa6!important}.note-actions{display:flex;gap:14px;margin-top:8px}.note-actions .del{position:static}.edited{color:var(--paper-muted);font-style:italic;font-size:12px}.textarea.light{background:#fffaf2}.btn.ghost.dark-text,.textarea.light{color:var(--paper-ink);border-color:var(--paper-2)}.photo{border-radius:12px;box-shadow:0 12px 26px -18px rgba(0,0,0,.8)}.photo.fav{box-shadow:0 0 0 2px var(--rose),0 12px 26px -18px rgba(0,0,0,.8)}.photo button.open{position:relative;overflow:hidden}.photo figcaption .who{display:flex;gap:8px;align-items:center;min-width:0}.photo figcaption .who small{display:block;color:var(--paper-muted);font-size:12px}.play-badge{left:8px;bottom:8px;background:rgba(14,26,43,.78);color:#fff;font-size:13px;padding:4px 9px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fav-badge,.play-badge{position:absolute;font-weight:700;border-radius:999px}.fav-badge{right:8px;top:8px;background:var(--rose);color:var(--night);font-size:12px;padding:3px 8px}.like-burst{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:80px;color:#fff;text-shadow:0 6px 20px rgba(217,120,132,.9);animation:likeBurst .9s ease both;pointer-events:none}@keyframes likeBurst{0%{transform:scale(.3);opacity:0}30%{transform:scale(1.15);opacity:1}70%{transform:scale(1);opacity:1}to{transform:scale(1.3);opacity:0}}.lightbox{padding:calc(12px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));animation:fadeIn .2s ease both}.lb-top,.lightbox{justify-content:space-between}.lb-top{width:min(1000px,100%);display:flex;align-items:center}.lb-count{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lb-stage{position:relative;flex:1 1;width:100%;display:flex;align-items:center;justify-content:center;min-height:0;margin:10px 0;touch-action:pan-y}.lb-stage img,.lb-stage video{max-height:100%;max-width:100%;border-radius:10px;object-fit:contain;animation:lbIn .3s ease both;background:#000}.lb-stage img,.lb-stage video{max-height:calc(100vh - 210px)}.lb-stage video{width:auto}@keyframes lbIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:hsla(40,47%,93%,.16);color:#fff;font-size:34px;line-height:1;z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lb-arrow:hover{background:rgba(240,166,174,.4)}.lb-arrow.left{left:4px}.lb-arrow.right{right:4px}@media (max-width:640px){.lb-arrow{display:none}}.lightbox .lb-bar{width:min(1000px,100%);margin-top:0;align-items:flex-end}.lb-info{display:flex;gap:10px;align-items:center;min-width:0}.lb-info small{display:block;color:var(--muted);font-size:13px}.lb-info .input{min-width:200px}.albums{display:flex;gap:12px;overflow-x:auto;padding:16px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin}.album{flex:0 0 132px;scroll-snap-align:start;border:0;background:transparent;color:var(--ink);text-align:left;padding:0;display:grid;grid-gap:3px;gap:3px}.album-cover{position:relative;display:block;width:132px;height:132px;border-radius:16px;overflow:hidden;background:var(--night-2);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.album-cover img{width:100%;height:100%;object-fit:cover}.album-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;color:rgba(240,166,174,.45)}.album-count{position:absolute;right:7px;bottom:7px;background:rgba(14,26,43,.8);color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.album b{font-size:15px;margin-top:4px}.album small{color:var(--muted);font-size:12px}.album:hover .album-cover{transform:translateY(-3px)}.album.on .album-cover{box-shadow:0 0 0 3px var(--rose)}.album.empty-album{opacity:.55}.album-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:wrap}.album-head h3{font-family:var(--display);font-weight:400;font-size:30px;margin:0}.album-head span{color:var(--muted);font-size:14px}.shared-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.shared-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.shared-filters::-webkit-scrollbar{display:none}.shared-filters button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px}.shared-filters button.on{background:var(--paper);color:var(--paper-ink);border-color:var(--paper);font-weight:700}.shared-upload{margin-top:14px;animation:popIn .3s ease both}.shared-upload .drop{background:var(--night-2)}.shared-badge{position:absolute;left:8px;top:8px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:hsla(40,47%,93%,.92);color:#c99a2e;font-size:15px;box-shadow:0 4px 10px -4px rgba(0,0,0,.6)}.btn.is-busy{opacity:.7}.slideshow{position:fixed;inset:0;z-index:60;background:#000;color:#fff;display:flex;flex-direction:column;animation:fadeIn .3s ease both;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ss-progress{display:flex;gap:3px;padding:calc(10px + env(safe-area-inset-top)) 12px 0;position:relative;z-index:2}.ss-progress span{flex:1 1;height:3px;border-radius:3px;background:hsla(0,0%,100%,.25);overflow:hidden}.ss-progress span.done{background:hsla(0,0%,100%,.85)}.ss-progress span i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;animation:ssFill linear both}.ss-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;animation:ssIn .7s ease both}.ss-stage img,.ss-stage video{max-width:100%;max-height:100%;object-fit:contain}.ss-stage img.kb{animation:kenBurns 6s ease-out both}.ss-caption{position:absolute;left:0;right:0;bottom:calc(76px + env(safe-area-inset-bottom));text-align:center;padding:0 20px;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.8);pointer-events:none}.ss-cap{display:block;font-family:var(--hand);font-size:clamp(26px,5vw,40px);line-height:1.1;color:var(--paper)}.ss-caption small{color:hsla(0,0%,100%,.75);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.ss-controls{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:8px;z-index:3;background:rgba(20,20,24,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:6px 8px}.ss-controls button{width:42px;height:42px;border-radius:50%;border:0;background:transparent;color:#fff;font-size:22px;line-height:1}.ss-controls button:hover{background:hsla(0,0%,100%,.14)}.ss-count{font-size:13px;color:hsla(0,0%,100%,.75);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:0 6px}.ss-close{font-size:18px!important}@keyframes ssFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ssIn{0%{opacity:0}to{opacity:1}}@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.ss-stage,.ss-stage img.kb{animation:none}}