*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.letter-scroll{scroll-behavior:smooth}.letter-page{position:relative;background:#0c0a09;color:#f3efe8;font-family:Montserrat,system-ui,sans-serif}.letter-page h1,.letter-page h2,.letter-title{font-family:Montserrat,system-ui,sans-serif;font-weight:500;letter-spacing:.01em;color:#f3efe8}.letter-prose{font-size:1.05rem;line-height:1.9;font-weight:400;color:#f3efe8c7}.letter-prose p{margin:0 0 1.75em}.letter-prose p:last-child{margin-bottom:0}.letter-question{font-weight:700;font-size:1.18rem;line-height:1.75;color:#f3efe8;letter-spacing:.01em}.letter-prose .letter-question{margin:1.5em 0 1.75em}.letter-sky{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:radial-gradient(ellipse 80% 55% at 20% 10%,rgba(88,48,96,.28),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 20%,rgba(56,72,120,.22),transparent 50%),radial-gradient(ellipse 90% 60% at 50% 100%,rgba(120,72,48,.12),transparent 55%),linear-gradient(165deg,#08070a,#121018 42%,#0c0a09)}.letter-sky-nebula{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 30% 40%,rgba(196,165,116,.07),transparent 35%),radial-gradient(circle at 70% 60%,rgba(140,100,170,.1),transparent 40%);animation:letterNebula 40s ease-in-out infinite alternate}.letter-sky-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 0%,rgba(196,165,116,.06),transparent 45%)}.letter-star{position:absolute;border-radius:9999px;background:#f3efe8;box-shadow:0 0 4px #f3efe873;animation:letterTwinkle ease-in-out infinite}.letter-star-soft{background:#d4bc94;box-shadow:0 0 8px #d4bc948c}.letter-star-drift{position:absolute;border-radius:9999px;background:#f3efe8b3;box-shadow:0 0 6px #d4bc9459;opacity:0;animation:letterStarDrift linear infinite}.letter-content{position:relative;z-index:1}.letter-fade{opacity:0;transform:translateY(18px);transition:opacity 1.15s ease,transform 1.15s ease}.letter-fade.is-visible{opacity:1;transform:translateY(0)}.letter-stage{opacity:0;transform:translateY(12px);animation:letterStageIn 1.35s ease forwards}.letter-stage-out{opacity:1;animation:letterStageOut .9s ease forwards}.letter-btn{font-family:Montserrat,system-ui,sans-serif;font-size:1rem;font-weight:500;letter-spacing:.06em;color:#d4bc94;background:transparent;border:none;border-bottom:1px solid rgba(212,188,148,.35);padding:.35rem .15rem;cursor:pointer;transition:opacity .4s ease,border-color .4s ease,color .4s ease}.letter-btn:hover{opacity:.85;color:#f3efe8;border-color:#d4bc94b3}.letter-btn:focus-visible{outline:none;border-color:#d4bc94}.letter-choice{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:Montserrat,system-ui,sans-serif;font-size:.82rem;font-weight:500;color:#f3efe8;background:#f3efe80d;border:1px solid rgba(212,188,148,.35);border-radius:9999px;padding:.7rem 1rem;min-width:0;flex:1 1 0;max-width:14rem;cursor:pointer;transition:background .35s ease,border-color .35s ease,color .35s ease,transform .35s ease;text-align:center;white-space:nowrap}.letter-choice-emoji{font-size:1.05rem;line-height:1}.letter-choice:hover{background:#d4bc9424;color:#d4bc94;border-color:#d4bc94b3;transform:translateY(-1px)}.letter-choice:focus-visible{outline:none;border-color:#d4bc94;background:#d4bc941f}.letter-choices{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:.65rem;margin-top:3.5rem;width:100%}@media (max-width: 640px){.letter-choice{font-size:.68rem;padding:.6rem .45rem;gap:.25rem}.letter-choice-emoji{font-size:.9rem}.letter-choices{gap:.4rem}}.letter-accent{color:#d4bc94}.letter-heart{width:min(320px,82vw);margin:3.5rem auto 0;color:#d4bc94;filter:drop-shadow(0 16px 36px rgba(0,0,0,.45))}.letter-heart--after-thanks{margin:.75rem auto 0}.letter-heart-svg{display:block;width:100%;height:auto;overflow:visible}.letter-heart-path{stroke-dasharray:520;stroke-dashoffset:520;opacity:.2;animation:letterHeartDraw 3.4s ease forwards;animation-delay:.85s}.letter-heart-photo{opacity:0;transform-origin:center;transform-box:fill-box;animation:letterHeartPhotoIn 3.2s ease forwards;animation-delay:2.5s}@keyframes letterHeartDraw{0%{stroke-dashoffset:520;opacity:.15}45%{opacity:.9}to{stroke-dashoffset:0;opacity:1}}@keyframes letterHeartPhotoIn{0%{opacity:0}to{opacity:1}}.letter-mute{position:fixed;top:1.25rem;left:1.25rem;z-index:50;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid rgba(212,188,148,.35);border-radius:9999px;background:#0c0a098c;color:#d4bc94;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .35s ease,color .35s ease,background .35s ease}.letter-mute:hover{border-color:#d4bc94b3;color:#f3efe8;background:#0c0a09bf}.letter-mute:focus-visible{outline:none;border-color:#d4bc94}@keyframes letterTwinkle{0%,to{opacity:.25;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@keyframes letterStarDrift{0%{opacity:0;transform:translate3d(0,12px,0)}12%{opacity:.7}88%{opacity:.35}to{opacity:0;transform:translate3d(18px,-110vh,0)}}@keyframes letterNebula{0%{transform:scale(1) translate(0)}to{transform:scale(1.08) translate(-2%,1.5%)}}@keyframes letterStageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes letterStageOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){.letter-scroll{scroll-behavior:auto}.letter-fade,.letter-stage,.letter-stage-out,.letter-star,.letter-star-drift,.letter-sky-nebula,.letter-heart-path,.letter-heart-photo{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-\[-24px\]{bottom:-24px}.left-0{left:0}.right-0{right:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-28{margin-top:7rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-3{height:.75rem}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-16{width:4rem}.w-3{width:.75rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-\[760px\]{max-width:760px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn 1.2s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp 1s ease-out forwards}@keyframes heartFloat{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.35}90%{opacity:.2}to{transform:translateY(-100vh) scale(.7);opacity:0}}.animate-heart-float{animation:heartFloat 18s ease-in-out infinite}@keyframes particle{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:.5}90%{opacity:.3}to{transform:translateY(-100vh) translate(20px);opacity:0}}.animate-particle{animation:particle 20s linear infinite}.list-none{list-style-type:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-letter-gold{--tw-border-opacity: 1;border-color:rgb(196 165 116 / var(--tw-border-opacity, 1))}.border-letter-gold\/25{border-color:#c4a57440}.border-letter-gold\/40{border-color:#c4a57466}.border-letter-gold\/45{border-color:#c4a57473}.bg-letter-cream{--tw-bg-opacity: 1;background-color:rgb(250 247 242 / var(--tw-bg-opacity, 1))}.bg-letter-gold{--tw-bg-opacity: 1;background-color:rgb(196 165 116 / var(--tw-bg-opacity, 1))}.bg-letter-gold\/20{background-color:#c4a57433}.bg-letter-ink{--tw-bg-opacity: 1;background-color:rgb(44 42 38 / var(--tw-bg-opacity, 1))}.bg-white\/50{background-color:#ffffff80}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-letter-gold\/50{--tw-gradient-from: rgb(196 165 116 / .5) var(--tw-gradient-from-position);--tw-gradient-to: rgb(196 165 116 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-letter-gold{--tw-gradient-to: rgb(196 165 116 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #C4A574 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-letter-gold\/25{--tw-gradient-to: rgb(196 165 116 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(196 165 116 / .25) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-0{padding:0}.p-4{padding:1rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-12{padding-bottom:3rem}.pb-32{padding-bottom:8rem}.pb-40{padding-bottom:10rem}.pb-8{padding-bottom:2rem}.pt-0{padding-top:0}.pt-40{padding-top:10rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.\!font-rubik{font-family:Rubik,system-ui,sans-serif!important}.font-inter{font-family:Inter,system-ui,sans-serif}.font-playfair{font-family:Playfair Display,Georgia,serif}.font-rubik{font-family:Rubik,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.95rem\]{font-size:.95rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.28em\]{letter-spacing:.28em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-letter-cream{--tw-text-opacity: 1;color:rgb(250 247 242 / var(--tw-text-opacity, 1))}.text-letter-gold-deep{--tw-text-opacity: 1;color:rgb(166 139 91 / var(--tw-text-opacity, 1))}.text-letter-gold\/30{color:#c4a5744d}.text-letter-ink{--tw-text-opacity: 1;color:rgb(44 42 38 / var(--tw-text-opacity, 1))}.text-letter-muted{--tw-text-opacity: 1;color:rgb(107 101 96 / var(--tw-text-opacity, 1))}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-\[0_0_0_3px_rgba\(196\,165\,116\,0\.15\)\]{--tw-shadow: 0 0 0 3px rgba(196,165,116,.15);--tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-300{transition-duration:.3s}.ease-linear{transition-timing-function:linear}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-letter-gold\/50:hover{border-color:#c4a57480}.hover\:bg-letter-ink\/90:hover{background-color:#2c2a26e6}.hover\:bg-white\/70:hover{background-color:#ffffffb3}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-letter-gold:focus-visible{outline-color:#c4a574}.group:hover .group-hover\:-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-12{--tw-rotate: 12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-letter-gold\/20:is(.dark *){border-color:#c4a57433}.dark\:bg-letter-dark-elevated\/70:is(.dark *){background-color:#24211db3}.dark\:bg-letter-dark-surface:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(28 26 23 / var(--tw-bg-opacity, 1))}.dark\:bg-letter-gold:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(196 165 116 / var(--tw-bg-opacity, 1))}.dark\:bg-letter-gold-soft:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(212 188 148 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/20:is(.dark *){background-color:#fff3}.dark\:text-letter-dark:is(.dark *){--tw-text-opacity: 1;color:rgb(20 18 16 / var(--tw-text-opacity, 1))}.dark\:text-letter-dark-ink:is(.dark *){--tw-text-opacity: 1;color:rgb(243 239 232 / var(--tw-text-opacity, 1))}.dark\:text-letter-dark-muted:is(.dark *){--tw-text-opacity: 1;color:rgb(163 155 145 / var(--tw-text-opacity, 1))}.dark\:text-letter-gold-soft:is(.dark *){--tw-text-opacity: 1;color:rgb(212 188 148 / var(--tw-text-opacity, 1))}.dark\:text-letter-gold\/20:is(.dark *){color:#c4a57433}.dark\:hover\:bg-letter-dark-elevated:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(36 33 29 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-letter-gold-soft:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(212 188 148 / var(--tw-bg-opacity, 1))}@media (min-width: 640px){.sm\:flex-row{flex-direction:row}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-7xl{font-size:4.5rem;line-height:1}.sm\:text-\[1\.35rem\]{font-size:1.35rem}}@media (min-width: 1024px){.lg\:max-w-3xl{max-width:48rem}}:root{--bg-0: #0b1220;--bg-1: #122033;--bg-2: #1a2d45;--surface: rgba(255, 255, 255, .92);--ink: #0f172a;--muted: #64748b;--teal: #0f766e;--teal-soft: #ccfbf1;--amber: #d97706;--rose: #e11d48;--shadow: 0 18px 50px rgba(15, 23, 42, .12)}*{box-sizing:border-box}html,body,#root{min-height:100%}html{touch-action:manipulation;-ms-touch-action:manipulation}body{margin:0;color:var(--ink);font-family:DM Sans,sans-serif;overscroll-behavior:none;background:radial-gradient(1200px 600px at 10% -10%,rgba(20,184,166,.22),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(245,158,11,.16),transparent 50%),linear-gradient(160deg,#f0f7f6,#e8eef5 45%,#f7f4ef)}h1,h2,.brand-title{font-family:Fraunces,Georgia,serif}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;background:#ffffffc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,23,42,.06)}.header-left{display:flex;align-items:center;gap:.35rem;min-width:0;flex-shrink:0}.header-menu-btn{flex-shrink:0}.header-nav{flex:1;min-width:0;border:none!important;background:transparent!important}.header-user{display:flex;align-items:center;gap:.65rem;flex-shrink:0;max-width:none}.header-user-name{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.2}.drawer-footer{padding:1rem 1.25rem;border-top:1px solid rgba(15,23,42,.08);margin-top:.5rem}.drawer-user{max-width:none;margin-bottom:.75rem}.drawer-user .header-user-name{max-width:none}.brand{display:flex;align-items:center;gap:.65rem;min-width:0}.brand-mark{width:36px;height:36px;flex-shrink:0;display:block;-o-object-fit:contain;object-fit:contain;border-radius:8px}.auth-card .brand-mark{width:48px;height:48px}.brand-title{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table-scroll .ant-table-wrapper{min-width:0}.app-content{max-width:1280px;margin:0 auto;padding:1.5rem}@media (max-width: 767px){.app-header{padding:.65rem .85rem}.brand-title{font-size:1.05rem;max-width:46vw;overflow:hidden;text-overflow:ellipsis}.header-user{max-width:42vw;gap:.35rem}.header-user-name{max-width:72px}.header-user .ant-tag{display:none}.app-content{padding:1rem .85rem 1.5rem}.surface{padding:1rem}.kpi-grid{grid-template-columns:1fr 1fr;gap:.75rem}}.page-hero{margin-bottom:1.25rem}.page-hero h1{margin:0 0 .35rem;font-size:clamp(1.7rem,2.5vw,2.2rem);letter-spacing:-.03em}.page-hero p{margin:0;color:var(--muted)}.surface{background:var(--surface);border:1px solid rgba(15,23,42,.06);border-radius:16px;box-shadow:var(--shadow);padding:1.25rem;overflow:visible;max-width:100%}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.kpi{padding:1rem 1.1rem;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.06)}.kpi label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.35rem}.kpi strong{font-size:1.35rem;font-weight:700}.kpi .delta{margin-top:.25rem;font-size:.85rem}.delta.up{color:#15803d}.delta.down{color:#dc2626}.charts-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;margin-bottom:1.25rem}@media (max-width: 960px){.charts-grid{grid-template-columns:1fr}}.diarios-layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:1rem;align-items:start}.diarios-form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}@media (max-width: 960px){.diarios-layout,.diarios-form-row{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(800px 400px at 20% 20%,rgba(20,184,166,.25),transparent 60%),radial-gradient(700px 360px at 80% 80%,rgba(245,158,11,.18),transparent 55%),linear-gradient(145deg,#0b1220,#122033 55%,#1a2d45)}.auth-card{width:min(420px,100%);background:#fffffff5;border-radius:20px;padding:2rem 1.75rem;box-shadow:0 30px 80px #00000059}.auth-card h1{margin:0 0 .35rem;font-size:1.9rem}.auth-card .subtitle{color:var(--muted);margin-bottom:1.5rem}.urgencia-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.urgencia-rojo{background:#dc2626}.urgencia-naranja{background:#ea580c}.urgencia-amarillo{background:#ca8a04}.urgencia-verde{background:#16a34a}.urgencia-gris{background:#94a3b8}.vencimientos-priority{border:1px solid color-mix(in srgb,#dc2626 22%,transparent);box-shadow:0 1px color-mix(in srgb,#dc2626 8%,transparent)}.vencimiento-row-rojo td{background:color-mix(in srgb,#dc2626 8%,transparent)!important}.estado-cuenta-row--pagado td{background:color-mix(in srgb,#16a34a 9%,transparent)!important}.estado-cuenta-row--urgente td{background:color-mix(in srgb,#dc2626 9%,transparent)!important}.estado-cuenta-row--pagado .estado-cuenta-desc-tipo__text,.estado-cuenta-row--pagado .ant-tag{color:#15803d}.estado-cuenta-row--urgente .estado-cuenta-desc-tipo__text{color:#b91c1c;font-weight:600}.section-title{margin:0 0 .85rem;font-size:1.05rem;font-weight:600}.records-desktop-only{display:block}.records-mobile-only{display:none}@media (max-width: 767.98px){.records-desktop-only{display:none!important}.records-mobile-only{display:block;width:100%;max-width:100%;overflow-x:hidden}}.mobile-record-list{width:100%;max-width:100%;overflow-x:hidden}.mobile-record-ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;background:transparent;border:none;border-radius:0;overflow:visible}.mobile-record-item{display:flex;align-items:center;gap:.65rem;width:100%;min-height:64px;padding:.75rem .9rem;margin:0;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#fff;box-shadow:0 1px 2px #0f172a0a;text-align:left;cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;transition:background .12s ease,border-color .12s ease}.mobile-record-ul>li:last-child .mobile-record-item{border-bottom:1px solid rgba(15,23,42,.08)}.mobile-record-item:active{background:#f8fafc;border-color:#0f766e47}.mobile-record-item--urgent{background:color-mix(in srgb,#dc2626 6%,#fff);border-color:color-mix(in srgb,#dc2626 22%,transparent)}.mobile-record-item--urgent:active{background:color-mix(in srgb,#dc2626 12%,#fff)}.mobile-record-item--pagado{background:color-mix(in srgb,#16a34a 7%,#fff);border-color:color-mix(in srgb,#16a34a 22%,transparent)}.mobile-record-item--pagado:active{background:color-mix(in srgb,#16a34a 12%,#fff)}.mobile-record-item--pagado .mobile-record-primary{color:#15803d}.mobile-record-item--urgent .mobile-record-primary{color:#b91c1c;font-weight:600}.mobile-record-leading{flex-shrink:0;display:flex;align-items:center}.mobile-record-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.mobile-record-primary{font-size:.95rem;font-weight:600;line-height:1.25;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-record-meta{font-size:.78rem;line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-record-trailing{flex-shrink:0;display:flex;align-items:center;gap:.4rem;font-size:.92rem;font-weight:600;color:var(--ink);max-width:42%}.mobile-record-trailing>*:not(.mobile-record-chevron){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-record-chevron{font-size:.7rem;color:#94a3b8;flex-shrink:0}.mobile-record-pagination{display:flex;justify-content:center;margin-top:.85rem}.estado-cuenta-filtros{justify-content:flex-end}.estado-cuenta-filtros .ant-input-affix-wrapper{max-width:100%}.estado-cuenta-table .ant-table{font-size:12px}.estado-cuenta-fecha-presup{display:flex;flex-direction:column;gap:1px;line-height:1.2}.estado-cuenta-fecha-presup__sub{color:#64748b;font-size:10px;text-transform:none}.estado-cuenta-fecha-presup__label{display:inline-block;min-width:.75rem;font-weight:700;color:#94a3b8;font-size:9px}.estado-cuenta-desc-tipo{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:100%}.estado-cuenta-desc-tipo__text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estado-cuenta-desc-tipo__tag.ant-tag{margin:0;font-size:10px;line-height:16px;padding-inline:4px}.estado-cuenta-table .ant-table-thead>tr>th{font-size:11px;font-weight:600;padding:6px 8px!important;white-space:nowrap;line-height:1.25}.estado-cuenta-table .ant-table-tbody>tr>td{padding:5px 8px!important;line-height:1.3}.estado-cuenta-table .ant-tag{margin-inline-end:0;font-size:11px;line-height:18px;padding-inline:5px}.estado-cuenta-acciones .ant-btn{padding-inline:4px;font-size:.85rem;height:26px;width:26px}.estado-cuenta-acciones .ant-btn-link{color:var(--teal)}.estado-cuenta-acciones .ant-btn-link.ant-btn-dangerous{color:var(--rose)}.record-detail-drawer.ant-drawer-bottom .ant-drawer-content{border-radius:16px 16px 0 0;overflow:hidden}.record-detail-drawer .ant-drawer-header{border-bottom:1px solid rgba(15,23,42,.08);padding:14px 16px}.record-detail-drawer .ant-drawer-title{font-weight:600;font-size:1rem}.record-detail-body{display:flex;flex-direction:column;gap:0}.record-detail-field{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:.5rem .75rem;padding:.7rem 0;border-bottom:1px solid rgba(15,23,42,.06);font-size:.9rem}.record-detail-field:last-child{border-bottom:none}.record-detail-field dt{margin:0;color:var(--muted);font-size:.8rem;font-weight:500}.record-detail-field dd{margin:0;color:var(--ink);font-weight:500;word-break:break-word;text-align:right}.record-detail-field--full{grid-template-columns:1fr}.record-detail-field--full dd{text-align:left;font-weight:400}.record-detail-observaciones{display:block;white-space:pre-wrap;line-height:1.45;color:var(--ink);background:#0f172a08;border-radius:8px;padding:.65rem .75rem}.records-detail-eye.ant-btn-link{color:var(--teal);padding-inline:4px}.record-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:stretch}.record-detail-actions .ant-space{width:100%;justify-content:space-between}.record-detail-actions .ant-btn{flex:1 1 auto;min-height:44px;min-width:44px}
