@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Itim&family=Fredoka:wght@300..700&display=swap";@font-face{font-family:SyneMono;src:url(/assets/SyneMono-Regular-CyTnG9MR.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:RobotoSlab;src:url(/assets/RobotoSlab-Medium-BxbbKaGY.ttf)format("truetype");font-weight:500;font-style:normal}@font-face{font-family:LilitaOne;src:url(/assets/LilitaOne-Regular-C8J_njg9.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:PlaywriteAUTAS;src:url(/assets/PlaywriteAUTAS-Regular-Cv5v5oZ5.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Acme;src:url(/assets/Acme-Regular-CI0wqks8.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:PatrickHand;src:url(/assets/PatrickHand-Regular-Oke4spkc.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:IBMPlexMono;src:url(/assets/IBMPlexMono-BoldItalic-CfsSm7gi.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:Agbalumo;src:url(/assets/Agbalumo-Regular-BepFsRen.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:BitcountSingle;src:url(/assets/BitcountSingle_Roman-ExtraBold-BIz5HcWp.ttf)format("truetype");font-weight:800;font-style:normal}:root{--primary:#5596e0;--primary-light:#e9f2fc;--primary-dark:#336fa7;--accent:#f368e0;--background:#f4f8fc;--surface:#fff;--text:#1e293b;--text-muted:#64748b;--border:#e2e8f0;--border-active:#cbd5e1;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--lock:#94a3b8;--overlay:#0f172a66;--light-gray:#ddd;--glass-bg:#ffffffd9;--glass-border:#ffffff80;--glass-shadow:#5596e00a;--font-main:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", sans-serif;--font-cute:"Fredoka", "Itim", cursive;--font-handwriting:"Agbalumo", sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--padding-sm:8px;--padding-md:20px;--padding-lg:32px}*{box-sizing:border-box;font-family:var(--font-main);-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--background);color:var(--text);width:100%;min-height:100vh;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.responsive-grid{grid-template-columns:1fr;width:100%;margin:0 auto;display:grid}.two-col-grid{grid-template-columns:1fr;gap:24px;width:100%;display:grid}@media (width>=900px){.two-col-grid{grid-template-columns:1fr 1fr}}.three-col-grid{grid-template-columns:1fr;gap:20px;width:100%;display:grid}@media (width>=768px){.three-col-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.three-col-grid{grid-template-columns:repeat(3,1fr)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.12)}70%{transform:scale(1)}}.animate-fade{animation:fadeIn var(--transition-normal) forwards}.animate-slide{animation:slideUp var(--transition-normal) forwards}.animate-heartbeat{animation:1.8s ease-in-out infinite heartBeat}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,#e2e8f0 25%,#cbd5e1 50%,#e2e8f0 75%) 0 0/200% 100%;animation:1.5s linear infinite shimmer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#5596e005}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full);border:2px solid var(--background)}::-webkit-scrollbar-thumb:hover{background:var(--border-active)}button,input,select,textarea{border:none;outline:none}button{cursor:pointer;transition:all var(--transition-fast);background:0 0}button:active{transform:scale(.98)}.container{padding:var(--padding-lg);flex-direction:column;flex:1;display:flex;overflow-x:hidden}@media (width<=768px){.container{padding:var(--padding-md);margin-left:0;overflow-x:hidden}}.main-wrapper{flex:1;width:100%;min-height:100vh;display:flex;overflow-x:hidden}@media (width<=768px){.main-wrapper{flex-direction:column}}.slide-word-inner{will-change:transform, opacity;display:inline-block}.timeline-time-cute span{font-family:Acme,sans-serif!important}.diary-note span{font-family:var(--font-handwriting)!important}.hide-elements .slide-word-inner{opacity:0;transform:translateY(115%)}.show-instantly .slide-word-inner{opacity:1!important;transition:none!important;animation:none!important;transform:translateY(0)!important}.animate-wave .slide-word-inner{animation:.65s cubic-bezier(.25,1,.5,1) forwards diaryWordSlideUp}@keyframes diaryWordSlideUp{0%{opacity:0;transform:translateY(115%)}to{opacity:1;transform:translateY(0)}}.timeline-row{gap:16px;margin-bottom:24px;display:flex;position:relative}.timeline-left-track{flex-shrink:0;justify-content:center;width:20px;display:flex;position:relative}.timeline-left-track:before{content:"";background-color:var(--primary);opacity:.35;z-index:1;width:2px;position:absolute;top:0;bottom:-24px;left:9px}.timeline-row:first-child .timeline-left-track:before{top:24px}.timeline-row:last-child .timeline-left-track:before{height:24px;bottom:auto}.timeline-row:first-child:last-child .timeline-left-track:before{display:none}.timeline-dot{background-color:var(--accent);border:2px solid var(--background);width:12px;height:12px;box-shadow:0 0 0 2px var(--accent);z-index:2;border-radius:50%;position:absolute;top:24px;left:4px}.timeline-right-content{flex:1;gap:24px;min-width:0;display:flex}.timeline-col-1-card{aspect-ratio:1;background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);width:280px;height:280px;transition:all var(--transition-normal);flex-direction:column;flex-shrink:0;gap:12px;padding:20px;display:flex;position:relative;overflow-y:auto;box-shadow:0 8px 24px #5596e026}.timeline-col-1-card:hover{border-color:#5596e059;transform:translateY(-3px);box-shadow:0 12px 30px #5596e040}.timeline-col-2-images{flex-direction:column;flex:1;gap:12px;min-width:732px;display:flex}.timeline-time-cute{color:var(--primary-dark);align-items:center;gap:6px;margin-bottom:2px;font-family:Acme,sans-serif;font-size:17px;font-weight:600;display:flex}.diary-note{font-family:var(--font-handwriting);color:var(--text);white-space:pre-wrap;margin:0;font-size:16px;line-height:1.5}.diary-images-grid{flex-wrap:wrap;gap:8px;width:100%;display:flex}.diary-image-wrapper{border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;width:140px;height:140px;transition:transform .5s cubic-bezier(.25,.46,.45,.94),opacity .5s ease-in-out;position:relative;overflow:hidden}.diary-image-wrapper:hover{opacity:.9;transform:scale(1.05)}.diary-image-wrapper img{object-fit:cover;width:100%;height:100%}@media (width<=1100px){.timeline-row{flex-wrap:wrap}.timeline-right-content{flex-direction:column;gap:16px}.timeline-col-2-images{flex-basis:100%;min-width:0}}.profile-avatar-container{transition:border-color .3s;position:relative;overflow:hidden}.profile-avatar-container img{transition:transform .3s cubic-bezier(.25,.46,.45,.94),opacity .3s ease-in-out!important}.profile-avatar-container:hover img{transform:scale(1.1)}.avatar-hover-overlay{opacity:0;z-index:2;background-color:#0000004d;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.profile-avatar-container:hover .avatar-hover-overlay{opacity:1}a,button,select,input[type=button],input[type=submit],.sidebar-nav-btn,.mobile-bottom-btn,.profile-avatar-container,.profile-avatar-container img,.diary-image-wrapper,.diary-image-wrapper img,[role=button]{cursor:pointer!important}.profile-handwriting-section,.profile-handwriting-section *,.settings-handwriting-section,.settings-handwriting-section *{letter-spacing:1px!important;font-family:PatrickHand,cursive!important}.settings-handwriting-section h3{font-size:17px!important}.settings-handwriting-section span,.settings-handwriting-section p,.settings-handwriting-section label,.settings-handwriting-section input,.settings-handwriting-section select,.settings-handwriting-section button{font-size:15px!important}.profile-handwriting-section .days-counter-number{font-family:BitcountSingle,sans-serif!important}.diary-note,.diary-note *{font-family:Agbalumo,sans-serif!important}.timeline-category-badge{letter-spacing:1px;line-height:1.5;font-family:PlaywriteAUTAS,cursive!important;font-size:11px!important}.filter-trigger-btn{border-radius:var(--radius-full);background:var(--accent);color:#fff;border:1px solid var(--accent);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:5px 14px;font-size:13px;font-weight:600;display:inline-flex;position:relative;box-shadow:0 2px 8px #f368e04d}.filter-trigger-btn:hover{border-color:var(--accent);color:#fff;background:#e052cf;transform:translateY(-1px);box-shadow:0 4px 12px #f368e066}.filter-trigger-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 10px #f368e080}.filter-badge-dot{background-color:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block}.filter-clear-x-btn{color:#dc2626;cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);background:#fee2e2;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px 4px #dc262626}.filter-clear-x-btn:hover{background:#fecaca;transform:scale(1.1)}.filter-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background-color:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.filter-modal-content{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;gap:20px;width:100%;max-width:420px;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}
