@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";.app-container{min-height:100vh;background:linear-gradient(135deg,#fdf2f8,#f3e8ff,#dbeafe);padding:0;margin:0}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@layer base{html{scroll-behavior:smooth}body{font-smooth:always;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fdf2f8,#f3e8ff,#dbeafe);min-height:100vh;margin:0;padding:0;font-family:Poppins,Inter,sans-serif}}@layer components{.btn-primary{color:#fff;background:linear-gradient(90deg,#ec4899,#a855f7);border-radius:8px;padding:12px 24px;font-weight:500;transition:all .3s;transform:scale(1)}.btn-primary:hover{background:linear-gradient(90deg,#db2777,#9333ea);transform:scale(1.05)}.card{background-color:#fff;border-radius:12px;transition:all .3s;box-shadow:0 10px 15px -3px #0000001a}.card:hover{box-shadow:0 20px 25px -5px #0000001a}.gradient-bg{background:linear-gradient(to bottom right,#fdf2f8,#faf5ff,#eff6ff)}}@layer utilities{.text-gradient{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#db2777,#9333ea);-webkit-background-clip:text;background-clip:text}.glass-effect{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#ffffff40;border:1px solid #fff3}}.calendar-container{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:24px;display:flex}.calendar-header{text-align:center;flex-shrink:0;margin-bottom:32px}.calendar-title{-webkit-text-fill-color:transparent;letter-spacing:-.02em;text-shadow:0 2px 4px #0000001a;background:linear-gradient(135deg,#ec4899,#8b5cf6,#3b82f6);-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-family:Poppins,sans-serif;font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800}.calendar-subtitle{color:#6b7280;letter-spacing:.01em;margin-bottom:24px;font-family:Inter,sans-serif;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:400}.calendar-body{background:#fff;border-radius:16px;flex-direction:column;flex:1;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.calendar-weekdays{color:#fff;background:linear-gradient(135deg,#ec4899,#8b5cf6);grid-template-columns:repeat(7,1fr);font-weight:600;display:grid}.weekday{text-align:center;letter-spacing:.02em;text-transform:uppercase;border-right:1px solid #fff3;padding:clamp(8px,2vw,12px);font-family:Poppins,sans-serif;font-size:clamp(.875rem,2.5vw,1rem);font-weight:600}.weekday:last-child{border-right:none}.calendar-grid{background-color:#e5e7eb;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-day{cursor:pointer;background:#fff;border:1px solid #e5e7eb;flex-direction:column;min-height:clamp(80px,15vw,120px);padding:clamp(4px,1.5vw,8px);transition:all .2s;display:flex;position:relative}.calendar-day.other-month{opacity:.5;cursor:default;background-color:#f3f4f6!important}.calendar-day.other-month:hover{box-shadow:none;transform:none}.calendar-day.other-month .calendar-day-number{color:#9ca3af!important}.calendar-day:hover{z-index:10;background-color:#f9fafb;transform:scale(1.02);box-shadow:0 4px 12px #0000001a}.calendar-day-number{color:#111827;text-align:center;letter-spacing:-.01em;margin-bottom:6px;font-family:Poppins,sans-serif;font-size:clamp(1rem,3vw,1.25rem);font-weight:700}.calendar-day-content{flex-direction:column;flex:1;gap:4px;display:flex}.photo-preview{-o-object-fit:cover;object-fit:cover;border-radius:6px;width:100%;height:clamp(40px,8vw,60px);margin-bottom:4px}.photo-count{color:#6b7280;text-align:center;letter-spacing:.01em;order:3;font-family:Inter,sans-serif;font-size:clamp(.625rem,2vw,.75rem);font-weight:500}.empty-day{color:#9ca3af;text-align:center;letter-spacing:.01em;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:100%;font-family:Inter,sans-serif;font-size:clamp(.625rem,2vw,.75rem);display:flex}.day-content{flex-direction:column;align-items:center;gap:4px;width:100%;height:100%;display:flex}.day-title{color:#374151;text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;letter-spacing:.01em;-webkit-box-orient:vertical;order:1;font-family:Poppins,sans-serif;font-size:clamp(.75rem,2.5vw,.875rem);font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.photo-preview{border-radius:6px;order:2;width:100%;height:clamp(40px,8vw,60px);position:relative;overflow:hidden}.photo-preview img{-o-object-fit:cover;object-fit:cover;border-radius:6px;width:100%;height:100%}.photo-overlay{background-color:#0003;border-radius:6px;justify-content:center;align-items:center;font-size:clamp(10px,2.5vw,14px);display:flex;position:absolute;inset:0}.navigation{justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 16px;display:flex}.nav-button{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:background-color .2s}.nav-button:hover:not(:disabled){background-color:#f3f4f6}.nav-button:disabled{opacity:.5;cursor:not-allowed}.current-month{color:#374151;letter-spacing:-.01em;align-items:center;gap:8px;font-family:Poppins,sans-serif;font-size:clamp(1.25rem,3.5vw,1.5rem);font-weight:700;display:flex}.current-month svg{color:#ec4899}.legend{color:#6b7280;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:24px;margin-top:24px;font-size:.875rem;display:flex}.legend-item{align-items:center;gap:8px;display:flex}.legend-dot{border-radius:50%;width:16px;height:16px}.legend-dot.memories{background-color:#ec4899}.legend-dot.today{background-color:#0000;border:2px solid #ec4899}.legend-dot.future{background-color:#f9fafb;border:1px solid #e5e7eb}@media (max-width:768px){.calendar-container{padding:16px 8px}.calendar-header{margin-bottom:20px}.navigation{margin-bottom:16px;padding:0 8px}.calendar-day{min-height:clamp(70px,20vw,100px);padding:4px 2px}.calendar-day-number{margin-bottom:2px;font-size:clamp(.75rem,3vw,.875rem)}.day-title{-webkit-line-clamp:1;font-size:clamp(.5rem,2.5vw,.625rem);line-height:1.1}.photo-preview{height:clamp(30px,10vw,45px);margin-bottom:2px}.photo-count{font-size:clamp(.375rem,2vw,.5rem)}.calendar-day .access-denied-message{padding:2px!important;font-size:clamp(.5rem,2.5vw,.625rem)!important;line-height:1.2!important}.calendar-day .access-denied-message .icon{margin-bottom:2px!important;font-size:clamp(10px,3vw,12px)!important}}@media (max-width:480px){.calendar-container{padding:12px 4px}.calendar-day{min-height:clamp(60px,25vw,80px);padding:2px 1px}.calendar-day-number{font-size:clamp(.625rem,3.5vw,.75rem)}.day-title{font-size:clamp(.375rem,3vw,.5rem)}.photo-preview{height:clamp(25px,12vw,35px)}.photo-count{font-size:clamp(.25rem,2.5vw,.375rem)}}.calendar-day.dark-day{position:relative;color:#e2e8f0!important;background:linear-gradient(135deg,#2d3748,#4a5568)!important;border:2px solid #1a202c!important}.calendar-day.dark-day:before{content:"🌑";opacity:.7;font-size:clamp(8px,2vw,12px);position:absolute;top:clamp(2px,1vw,5px);right:clamp(2px,1vw,5px)}.calendar-day.dark-day:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000080;background:linear-gradient(135deg,#1a202c,#2d3748)!important}.calendar-day.dark-day .day-number{font-weight:700;color:#e2e8f0!important}.calendar-day.dark-day .day-title{font-size:clamp(.5rem,1.5vw,.8rem);font-weight:500;color:#cbd5e0!important}.calendar-day.yorumyok-day{position:relative;color:#fecaca!important;background:linear-gradient(135deg,#7f1d1d,#991b1b)!important;border:2px solid #450a0a!important}.calendar-day.yorumyok-day:before{content:"💔";opacity:.8;font-size:clamp(8px,2vw,12px);position:absolute;top:clamp(2px,1vw,5px);right:clamp(2px,1vw,5px)}.calendar-day.yorumyok-day:hover{transform:scale(1.05);box-shadow:0 4px 12px #7f1d1d80;background:linear-gradient(135deg,#450a0a,#7f1d1d)!important}.calendar-day.yorumyok-day .day-number{font-weight:700;color:#fecaca!important}.calendar-day.yorumyok-day .day-title{font-size:clamp(.5rem,1.5vw,.8rem);font-weight:500;color:#fca5a5!important}.dark-day-entry{color:#e2e8f0;background:linear-gradient(135deg,#1a202c,#2d3748);border:2px solid #4a5568;border-radius:12px;margin:10px 0;padding:20px;box-shadow:0 4px 12px #0000004d}.dark-day-entry h3{color:#f7fafc;text-shadow:0 2px 4px #00000080;margin-bottom:10px;font-size:1.2rem}.dark-day-entry p{color:#cbd5e0;margin-bottom:15px;line-height:1.6}.dark-day-entry .activities{background:#2d374880;border-radius:8px;margin-top:10px;padding:10px}.dark-day-entry .activities span{color:#e2e8f0;background:#4a5568;border-radius:4px;margin-right:5px;padding:4px 8px;font-size:.8rem}.dark-day-entry .photo{border:2px solid #4a5568;border-radius:8px;margin-top:10px;overflow:hidden}.dark-day-entry .photo img{filter:grayscale(30%)brightness(.8);transition:filter .3s}.dark-day-entry .photo:hover img{filter:grayscale(0%)brightness()}@media (max-width:768px){.calendar-container{padding:16px 8px}.calendar-header{margin-bottom:20px}.navigation{margin-bottom:16px;padding:0 8px}.calendar-day{min-height:clamp(70px,20vw,100px);padding:4px 2px}.calendar-day-number{margin-bottom:2px;font-size:clamp(.75rem,3vw,.875rem)}.day-title{-webkit-line-clamp:1;font-size:clamp(.5rem,2.5vw,.625rem);line-height:1.1}.photo-preview{height:clamp(30px,10vw,45px);margin-bottom:2px}.photo-count{font-size:clamp(.375rem,2vw,.5rem)}.calendar-day .access-denied-message{padding:2px!important;font-size:clamp(.5rem,2.5vw,.625rem)!important;line-height:1.2!important}.calendar-day .access-denied-message .icon{margin-bottom:2px!important;font-size:clamp(10px,3vw,12px)!important}.calendar-day.dark-day,.calendar-day.yorumyok-day{min-height:clamp(60px,18vw,90px)!important;padding:3px 1px!important}.calendar-day.dark-day .day-number,.calendar-day.yorumyok-day .day-number{margin-bottom:1px!important;font-size:clamp(.7rem,3.5vw,.8rem)!important}.calendar-day.dark-day .day-title,.calendar-day.yorumyok-day .day-title{font-size:clamp(.4rem,2vw,.5rem)!important;line-height:1.1!important}.calendar-day.dark-day:before,.calendar-day.yorumyok-day:before{font-size:clamp(6px,2.5vw,10px)!important;top:clamp(1px,.5vw,3px)!important;right:clamp(1px,.5vw,3px)!important}}@media (max-width:480px){.calendar-container{padding:12px 4px}.calendar-day{min-height:clamp(60px,25vw,80px);padding:2px 1px}.calendar-day-number{font-size:clamp(.625rem,3.5vw,.75rem)}.day-title{font-size:clamp(.375rem,3vw,.5rem)}.photo-preview{height:clamp(25px,12vw,35px)}.photo-count{font-size:clamp(.25rem,2.5vw,.375rem)}.calendar-day.dark-day,.calendar-day.yorumyok-day{min-height:clamp(50px,22vw,70px)!important;padding:2px 1px!important}.calendar-day.dark-day .day-number,.calendar-day.yorumyok-day .day-number{margin-bottom:1px!important;font-size:clamp(.6rem,4vw,.7rem)!important}.calendar-day.dark-day .day-title,.calendar-day.yorumyok-day .day-title{font-size:clamp(.3rem,2.5vw,.4rem)!important;line-height:1.1!important}.calendar-day.dark-day:before,.calendar-day.yorumyok-day:before{font-size:clamp(5px,3vw,8px)!important;top:1px!important;right:1px!important}.calendar-day .access-denied-message{padding:1px!important;font-size:clamp(.4rem,3vw,.5rem)!important;line-height:1.1!important}.calendar-day .access-denied-message .icon{margin-bottom:1px!important;font-size:clamp(8px,4vw,10px)!important}}.relationship-meter{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e5e7eb;border-radius:16px;margin-top:32px;padding:24px;box-shadow:0 4px 12px #0000001a}.meter-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.meter-header h3{color:#374151;letter-spacing:-.01em;margin:0;font-family:Poppins,sans-serif;font-size:clamp(1.25rem,3.5vw,1.5rem);font-weight:700}.meter-score{align-items:baseline;gap:2px;display:flex}.score-number{color:#1f2937;letter-spacing:-.02em;font-family:Poppins,sans-serif;font-size:clamp(1.75rem,4.5vw,2.25rem);font-weight:800}.score-max{color:#6b7280;font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:500}.meter-bar-container{background-color:#e5e7eb;border-radius:6px;width:100%;height:12px;margin-bottom:12px;position:relative;overflow:hidden}.meter-bar{border-radius:6px;height:100%;transition:width .8s ease-in-out;position:relative}.meter-bar:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.meter-status{justify-content:center;align-items:center;gap:8px;display:flex}.status-emoji{font-size:clamp(1.2rem,3.5vw,1.5rem)}.status-text{color:#374151;letter-spacing:.01em;font-family:Poppins,sans-serif;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:600}@media (max-width:768px){.relationship-meter{border-radius:12px;margin-top:24px;padding:16px}.meter-header{flex-direction:column;align-items:flex-start;gap:8px}.meter-header h3{font-size:clamp(1rem,3.5vw,1.2rem)}.meter-score{align-self:flex-end}.score-number{font-size:clamp(1.3rem,5vw,1.8rem)}.score-max{font-size:clamp(.8rem,3vw,1rem)}.meter-bar-container{height:10px;margin-bottom:10px}.status-emoji{font-size:clamp(1rem,4vw,1.3rem)}.status-text{font-size:clamp(.8rem,3vw,1rem)}}@media (max-width:480px){.relationship-meter{border-radius:10px;margin-top:20px;padding:12px}.meter-header{margin-bottom:12px}.meter-header h3{font-size:clamp(.9rem,4vw,1.1rem)}.score-number{font-size:clamp(1.1rem,6vw,1.5rem)}.score-max{font-size:clamp(.7rem,3.5vw,.9rem)}.meter-bar-container{height:8px;margin-bottom:8px}.status-emoji{font-size:clamp(.9rem,4.5vw,1.2rem)}.status-text{font-size:clamp(.7rem,3.5vw,.9rem)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
