html{scroll-behavior:smooth}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}:root{--ink: #0D0D0D;--charcoal: #1A1A1A;--graphite: #2D2D2D;--slate: #4A4A4A;--ash: #6B6B6B;--silver: #9A9A9A;--mist: #C4C4C4;--cloud: #E8E8E8;--snow: #F5F5F5;--pure: #FFFFFF;--accent: #D4A574;--accent-soft: rgba(212, 165, 116, .15);--accent-glow: rgba(212, 165, 116, .4);--glass-light: rgba(255, 255, 255, .08);--glass-medium: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .1);--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);line-height:1.6;color:var(--cloud);min-height:100vh;background:var(--ink)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");z-index:0}.app{min-height:100vh}.main-display{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--charcoal) 0%,var(--ink) 100%);padding:var(--space-xl);position:relative;overflow:hidden}.date-display{text-align:center;color:var(--pure);margin-bottom:var(--space-xl);position:relative;z-index:1}.date-display h1{font-family:var(--font-display);font-size:3rem;font-weight:500;margin-bottom:var(--space-sm);letter-spacing:-.02em;color:var(--pure)}.date-display .date{font-family:var(--font-body);font-size:1.5rem;color:var(--silver);font-weight:300}.special-card{background:var(--glass-medium);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:var(--space-2xl);max-width:600px;width:100%;text-align:center;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d;position:relative;z-index:1}.special-card .category{display:inline-block;padding:var(--space-sm) var(--space-md);background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:50px;font-size:.85rem;font-weight:500;margin-bottom:var(--space-lg);text-transform:uppercase;letter-spacing:.1em}.special-card h2{font-family:var(--font-display);font-size:1.8rem;font-weight:500;margin-bottom:var(--space-md);color:var(--pure);letter-spacing:-.02em}.special-card p{font-family:var(--font-body);color:var(--mist);font-size:1.1rem;line-height:1.8}.fake-holiday-note{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px dashed var(--slate);font-size:.85rem;font-style:italic;color:var(--ash)}.no-special{color:var(--mist);font-size:1.3rem;text-align:center;padding:var(--space-xl);background:var(--glass-medium);border:1px solid var(--glass-border);border-radius:16px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.refresh-btn{margin-top:var(--space-xl);padding:var(--space-md) var(--space-xl);background:var(--accent);color:var(--ink);border:none;border-radius:12px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.admin-link{position:fixed;bottom:var(--space-xl);right:var(--space-xl);padding:var(--space-md) var(--space-lg);background:var(--glass-light);border:1px solid var(--glass-border);color:var(--mist);text-decoration:none;border-radius:12px;font-family:var(--font-body);font-size:.9rem;font-weight:500;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:all .2s ease;z-index:100}.admin-link:hover{background:var(--glass-medium);border-color:var(--accent);color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes explode{0%{opacity:0;transform:scale(0) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(360deg)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes flipIn{0%{opacity:0;transform:perspective(400px) rotateY(90deg)}to{opacity:1;transform:perspective(400px) rotateY(0)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-200deg) scale(0)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes swingIn{0%{opacity:0;transform:rotateX(-90deg);transform-origin:top}50%{transform:rotateX(20deg)}to{opacity:1;transform:rotateX(0)}}@keyframes dropIn{0%{opacity:0;transform:translateY(-300px)}60%{transform:translateY(20px)}80%{transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spiralIn{0%{opacity:0;transform:rotate(720deg) scale(0)}to{opacity:1;transform:rotate(0) scale(1)}}.animate-fadeIn{animation:fadeIn .8s ease-out forwards}.animate-slideInUp{animation:slideInUp .8s ease-out forwards}.animate-slideInDown{animation:slideInDown .8s ease-out forwards}.animate-slideInLeft{animation:slideInLeft .8s ease-out forwards}.animate-slideInRight{animation:slideInRight .8s ease-out forwards}.animate-zoomIn{animation:zoomIn .6s ease-out forwards}.animate-explode{animation:explode 1s ease-out forwards}.animate-bounceIn{animation:bounceIn .8s ease-out forwards}.animate-flipIn{animation:flipIn .8s ease-out forwards}.animate-rotateIn{animation:rotateIn .8s ease-out forwards}.animate-swingIn{animation:swingIn .8s ease-out forwards}.animate-dropIn{animation:dropIn 1s ease-out forwards}.animate-spiralIn{animation:spiralIn 1s ease-out forwards}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--graphite) 0%,var(--charcoal) 100%);padding:var(--space-xl)}.login-card{background:var(--glass-medium);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:var(--space-2xl);max-width:400px;width:100%;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d}.login-card h2{font-family:var(--font-display);font-size:1.75rem;font-weight:500;text-align:center;margin-bottom:var(--space-xl);color:var(--pure);letter-spacing:-.02em}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;margin-bottom:var(--space-sm);font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--mist)}.form-group input{width:100%;padding:var(--space-md) var(--space-lg);background:#0000004d;border:1px solid var(--graphite);border-radius:12px;color:var(--pure);font-family:var(--font-body);font-size:.95rem;transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-group input::placeholder{color:var(--slate)}.login-btn{width:100%;padding:var(--space-md) var(--space-lg);background:var(--accent);color:var(--ink);border:none;border-radius:12px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.login-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.error-message{color:#f87171;text-align:center;margin-top:var(--space-md);font-weight:500}.success-message{color:#34d399;text-align:center;margin-top:var(--space-md);font-weight:500}.back-link{display:block;text-align:center;margin-top:var(--space-lg);color:var(--silver);text-decoration:none;font-size:.9rem;transition:color .2s ease}.back-link:hover{color:var(--accent)}.admin-panel{min-height:100vh;background:var(--ink);padding:var(--space-xl)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--graphite)}.admin-header h1{font-family:var(--font-display);color:var(--pure);font-size:1.8rem;font-weight:500;letter-spacing:-.02em}.admin-header-actions{display:flex;gap:var(--space-md)}.logout-btn,.home-btn{padding:var(--space-md) var(--space-lg);border-radius:12px;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.home-btn{background:var(--glass-light);border:1px solid var(--glass-border);color:var(--mist)}.home-btn:hover{background:var(--glass-medium);border-color:var(--silver)}.logout-btn{background:var(--accent);color:var(--ink);border:none}.logout-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.add-form{background:var(--charcoal);border:1px solid var(--graphite);border-radius:16px;padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:0 4px 20px #0000004d}.add-form h2{font-family:var(--font-display);margin-bottom:var(--space-lg);color:var(--pure);font-weight:500;letter-spacing:-.02em}.form-row{display:grid;grid-template-columns:150px 200px 1fr auto;gap:var(--space-md);align-items:end}.form-row input,.form-row select{padding:var(--space-md);background:#0000004d;border:1px solid var(--graphite);border-radius:12px;color:var(--pure);font-family:var(--font-body);font-size:1rem;transition:all .2s ease}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-row input::placeholder{color:var(--slate)}.form-row select{cursor:pointer}.add-btn{padding:var(--space-md) var(--space-lg);background:var(--accent);color:var(--ink);border:none;border-radius:12px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.entries-list{background:var(--charcoal);border:1px solid var(--graphite);border-radius:16px;padding:var(--space-xl);box-shadow:0 4px 20px #0000004d}.entries-list h2{font-family:var(--font-display);margin-bottom:var(--space-lg);color:var(--pure);font-weight:500;letter-spacing:-.02em}.entry-item{display:grid;grid-template-columns:120px 150px 1fr auto;gap:var(--space-md);align-items:center;padding:var(--space-md);border-bottom:1px solid var(--graphite);transition:background .2s ease}.entry-item:last-child{border-bottom:none}.entry-item:hover{background:var(--glass-light)}.entry-date{font-family:var(--font-body);font-weight:600;color:var(--accent)}.entry-category{display:inline-block;padding:var(--space-xs) var(--space-md);background:var(--graphite);border:1px solid var(--slate);color:var(--silver);border-radius:50px;font-size:.85rem}.entry-title{font-family:var(--font-body);color:var(--mist)}.entry-actions{display:flex;gap:var(--space-xs)}.edit-btn,.hide-btn,.delete-btn{padding:var(--space-sm);background:var(--glass-light);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.edit-btn{color:var(--accent)}.edit-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.hide-btn{color:var(--silver)}.hide-btn:hover{background:#9ca3af26;border-color:var(--silver)}.hide-btn.is-hidden{color:#34d399}.hide-btn.is-hidden:hover{background:#34d39926;border-color:#34d399}.delete-btn{color:#f87171}.delete-btn:hover{background:#f8717126;border-color:#f87171}.entry-hidden{opacity:.5}.entry-hidden .entry-title{color:var(--ash)}.hidden-badge{display:inline-block;margin-left:var(--space-sm);padding:2px 8px;background:#9ca3af33;border:1px solid var(--slate);border-radius:50px;font-size:.7rem;color:var(--silver);text-transform:uppercase;letter-spacing:.05em}.entry-edit-form{display:grid;grid-template-columns:140px 140px 1fr 1fr auto;gap:var(--space-sm);align-items:center;width:100%}.entry-edit-form input,.entry-edit-form select{padding:var(--space-sm) var(--space-md);background:#0000004d;border:1px solid var(--graphite);border-radius:8px;color:var(--pure);font-family:var(--font-body);font-size:.9rem}.entry-edit-form input:focus,.entry-edit-form select:focus{outline:none;border-color:var(--accent)}.entry-edit-actions{display:flex;gap:var(--space-xs)}.save-btn.small,.test-btn.small{flex:none;padding:var(--space-sm) var(--space-md);font-size:.85rem}.empty-message{text-align:center;color:var(--silver);padding:var(--space-xl)}.setup-wizard{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--graphite) 0%,var(--charcoal) 100%);padding:var(--space-xl)}.setup-card{background:var(--glass-medium);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:var(--space-2xl);max-width:500px;width:100%;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d}.setup-header{text-align:center;margin-bottom:var(--space-xl)}.setup-header h1{font-family:var(--font-display);font-size:1.8rem;font-weight:500;color:var(--pure);margin-bottom:var(--space-sm);letter-spacing:-.02em}.setup-header p{font-family:var(--font-body);color:var(--silver);font-size:.95rem}.form-hint{display:block;font-size:.75rem;color:var(--ash);margin-top:var(--space-xs)}.test-result{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:8px;margin-bottom:var(--space-md)}.test-result.success{background:#4ade8026;border:1px solid rgba(74,222,128,.3);color:#4ade80}.test-result.error{background:#f8717126;border:1px solid rgba(248,113,113,.3);color:#f87171}.test-result .icon{font-size:1.2rem;font-weight:700}.button-group{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.test-btn{flex:1;padding:var(--space-md) var(--space-lg);background:transparent;border:1px solid var(--graphite);color:var(--mist);border-radius:12px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.test-btn:hover:not(:disabled){background:var(--glass-light);border-color:var(--silver)}.test-btn:disabled{opacity:.5;cursor:not-allowed}.save-btn{flex:1;padding:var(--space-md) var(--space-lg);background:var(--accent);color:var(--ink);border:none;border-radius:12px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--charcoal) 0%,var(--ink) 100%);color:var(--mist)}.loading-spinner{width:50px;height:50px;border:4px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-md)}@keyframes spin{to{transform:rotate(360deg)}}.admin-settings{background:var(--charcoal);border:1px solid var(--graphite);border-radius:16px;padding:var(--space-xl);margin-top:var(--space-md);box-shadow:0 4px 20px #0000004d}.admin-settings h3{font-family:var(--font-display);margin-bottom:var(--space-lg);color:var(--pure);font-weight:500;letter-spacing:-.02em}.settings-form .form-group input{width:100%}.restart-notice{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:#fdb022;border-radius:8px;margin-bottom:var(--space-lg)}.restart-btn{padding:var(--space-sm) var(--space-md);background:#f59e0b;color:var(--ink);border:none;border-radius:8px;font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all .2s ease}.restart-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.reset-section{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--graphite)}.reset-btn{padding:var(--space-md) var(--space-lg);background:#f8717126;border:1px solid rgba(248,113,113,.3);color:#f87171;border-radius:8px;font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all .2s ease}.reset-btn:hover{background:#f87171;color:var(--ink);border-color:#f87171}.settings-section{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--glass-light);border:1px solid var(--glass-border);border-radius:16px}.settings-section h2{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--pure);margin-bottom:var(--space-md)}.backup-actions{display:flex;gap:var(--space-md);flex-wrap:wrap}.restore-section{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.section-description{color:var(--silver);font-size:.9rem;margin-bottom:var(--space-md)}.import-section{margin-top:var(--space-md)}.import-controls{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.import-mode-select{padding:var(--space-sm) var(--space-md);background:#0000004d;border:1px solid var(--graphite);border-radius:8px;color:var(--pure);font-family:var(--font-body);font-size:.9rem;cursor:pointer}.import-mode-select:focus{outline:none;border-color:var(--accent)}.smtp-form{display:flex;flex-direction:column;gap:var(--space-md)}.smtp-row{display:flex;gap:var(--space-md)}.smtp-row .form-group{flex:1}.smtp-form .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.smtp-form label{font-size:.85rem;color:var(--silver)}.smtp-form input{padding:var(--space-sm) var(--space-md);background:#0000004d;border:1px solid var(--graphite);border-radius:8px;color:var(--pure);font-family:var(--font-body);font-size:.95rem}.smtp-form input:focus{outline:none;border-color:var(--accent)}.smtp-form input::placeholder{color:var(--ash)}.smtp-actions{display:flex;gap:var(--space-md);margin-top:var(--space-sm)}.input-with-actions{display:flex;gap:4px;align-items:center}.input-with-actions input{flex:1}.field-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0000004d;border:1px solid var(--graphite);border-radius:6px;color:var(--silver);cursor:pointer;transition:all .2s ease;flex-shrink:0}.field-action-btn:hover{background:var(--glass-medium);border-color:var(--accent);color:var(--accent)}.field-action-btn svg{width:14px;height:14px}.admin-tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl);border-bottom:1px solid var(--graphite);padding-bottom:var(--space-md)}.tab-btn{padding:var(--space-sm) var(--space-lg);background:transparent;border:1px solid transparent;color:var(--silver);border-radius:8px 8px 0 0;font-family:var(--font-body);font-size:.95rem;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:var(--mist);background:var(--glass-light)}.tab-btn.active{color:var(--accent);border-color:var(--graphite);border-bottom-color:var(--ink);background:var(--charcoal)}.calendar-container{background:var(--charcoal);border:1px solid var(--graphite);border-radius:16px;padding:var(--space-xl)}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-xl);margin-bottom:var(--space-lg)}.calendar-nav h2{font-family:var(--font-display);color:var(--pure);font-size:1.5rem;min-width:150px;text-align:center}.calendar-nav button{width:40px;height:40px;border-radius:50%;background:var(--glass-light);border:1px solid var(--glass-border);color:var(--mist);font-size:1.2rem;cursor:pointer;transition:all .2s ease}.calendar-nav button:hover{background:var(--glass-medium);border-color:var(--accent);color:var(--accent)}.calendar-grid{margin-bottom:var(--space-lg)}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-sm)}.calendar-header span{text-align:center;color:var(--silver);font-size:.8rem;font-weight:500;padding:var(--space-sm)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--glass-light);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.calendar-day.empty{background:transparent;cursor:default}.calendar-day:not(.empty):hover{background:var(--glass-medium);border-color:var(--silver)}.calendar-day.has-entries{background:var(--accent-soft);border-color:#d4a5744d}.calendar-day.has-entries:hover{border-color:var(--accent)}.calendar-day.selected{background:var(--accent);border-color:var(--accent)}.calendar-day.selected .day-number{color:var(--ink)}.calendar-day.selected .entry-count{background:var(--ink);color:var(--accent)}.day-number{font-size:.95rem;color:var(--mist);font-weight:500}.entry-count{position:absolute;top:4px;right:4px;background:var(--accent);color:var(--ink);font-size:.65rem;font-weight:600;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.month-quick-nav{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center;margin-bottom:var(--space-xl)}.month-btn{padding:var(--space-xs) var(--space-sm);background:var(--glass-light);border:1px solid var(--glass-border);color:var(--silver);border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease}.month-btn:hover{background:var(--glass-medium);color:var(--mist)}.month-btn.active{background:var(--accent);color:var(--ink);border-color:var(--accent)}.day-detail-panel{background:var(--graphite);border:1px solid var(--slate);border-radius:12px;padding:var(--space-lg);margin-top:var(--space-lg)}.day-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--slate)}.day-detail-header h3{font-family:var(--font-display);color:var(--pure);font-size:1.3rem}.close-btn{width:32px;height:32px;background:var(--glass-light);border:1px solid var(--glass-border);color:var(--silver);border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.close-btn:hover{background:#f8717133;border-color:#f87171;color:#f87171}.day-entries{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.day-entry{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--charcoal);border:1px solid var(--graphite);border-radius:8px}.day-entry-info{flex:1}.day-entry-info .entry-category{display:inline-block;margin-bottom:var(--space-xs)}.day-entry-info .entry-title{display:block;color:var(--pure);font-weight:500;margin-bottom:var(--space-xs)}.day-entry-info .entry-desc{color:var(--silver);font-size:.85rem;margin:0}.day-entry-edit{display:flex;flex-direction:column;gap:var(--space-sm);width:100%}.day-entry-edit input,.day-entry-edit select{padding:var(--space-sm) var(--space-md);background:#0000004d;border:1px solid var(--graphite);border-radius:8px;color:var(--pure);font-family:var(--font-body);font-size:.9rem}.day-entry-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.add-to-day{padding-top:var(--space-lg);border-top:1px solid var(--slate)}.add-to-day h4{color:var(--mist);margin-bottom:var(--space-md);font-weight:500}.add-day-form{display:grid;grid-template-columns:150px 1fr 1fr auto;gap:var(--space-sm);align-items:center}.add-day-form input,.add-day-form select{padding:var(--space-sm) var(--space-md);background:#0000004d;border:1px solid var(--graphite);border-radius:8px;color:var(--pure);font-family:var(--font-body);font-size:.9rem}.add-day-form input:focus,.add-day-form select:focus{outline:none;border-color:var(--accent)}.restore-section input[type=file]{font-family:var(--font-body);color:var(--mist)}.settings-toggle{padding:var(--space-md) var(--space-lg);background:var(--glass-light);border:1px solid var(--glass-border);color:var(--mist);border-radius:12px;font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all .2s ease}.settings-toggle:hover{background:var(--glass-medium);border-color:var(--silver)}.user-info{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--glass-light);border:1px solid var(--glass-border);border-radius:8px;font-family:var(--font-body);font-size:.9rem;color:var(--silver)}.admin-link{border:none;font-weight:500;cursor:pointer}.date-navigation{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-top:var(--space-sm)}.nav-arrow{background:var(--glass-light);border:1px solid var(--glass-border);color:var(--mist);width:48px;height:48px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.nav-arrow:hover{background:var(--glass-medium);border-color:var(--accent);color:var(--accent);transform:scale(1.1)}.nav-arrow:active{transform:scale(.95)}.today-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:50px;font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:all .2s ease}.today-btn:hover{background:var(--accent-soft)}.corner-links{position:fixed;bottom:var(--space-lg);right:var(--space-lg);display:flex;gap:var(--space-sm);z-index:100}.corner-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-light);border:1px solid var(--glass-border);border-radius:50%;color:var(--ash);cursor:pointer;transition:all .2s ease;opacity:.6}.corner-btn:hover{opacity:1;background:var(--glass-medium);border-color:var(--silver);color:var(--mist);transform:scale(1.1)}.corner-btn svg{width:16px;height:16px}.effect-container,.snowfall{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.snowflake{position:absolute;top:-20px;background:#fff;border-radius:50%;animation:snowfall linear infinite;box-shadow:0 0 10px #fffc}@keyframes snowfall{0%{transform:translateY(-20px) rotate(0)}to{transform:translateY(100vh) rotate(360deg)}}.balloons-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.balloon{position:absolute;bottom:-100px;width:40px;height:50px;border-radius:50%/40% 40% 60% 60%;animation:balloon-rise linear infinite}.balloon:before{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid inherit}.balloon:after{content:"";position:absolute;bottom:-60px;left:50%;width:1px;height:50px;background:#ffffff4d}@keyframes balloon-rise{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-120vh) rotate(20deg);opacity:.8}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.confetti{position:absolute;top:-20px;width:10px;height:10px;animation:confetti-fall linear infinite}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0) scale(1);opacity:1}to{transform:translateY(100vh) rotate(720deg) scale(.5);opacity:0}}.fireworks-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.firework{position:absolute;width:6px;height:6px;border-radius:50%;animation:firework-burst 1.5s ease-out infinite}@keyframes firework-burst{0%{transform:scale(0);opacity:1}50%{opacity:1}to{transform:scale(20);opacity:0}}.firework-particle{position:absolute;width:4px;height:4px;border-radius:50%;animation:particle-fly 1s ease-out forwards}@keyframes particle-fly{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}}.hearts-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.heart{position:absolute;bottom:-50px;font-size:24px;animation:heart-float linear infinite;color:#ff6b9d;text-shadow:0 0 10px rgba(255,107,157,.5)}@keyframes heart-float{0%{transform:translateY(0) scale(1) rotate(0);opacity:1}50%{transform:translateY(-50vh) scale(1.2) rotate(10deg)}to{transform:translateY(-100vh) scale(.8) rotate(-10deg);opacity:0}}.stars-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.star{position:absolute;font-size:20px;animation:star-twinkle ease-in-out infinite;color:gold;text-shadow:0 0 10px rgba(255,215,0,.8)}@keyframes star-twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.sparkles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.sparkle{position:absolute;width:8px;height:8px;background:radial-gradient(circle,#fff 0%,transparent 70%);animation:sparkle-pop ease-out infinite}.sparkle:before,.sparkle:after{content:"";position:absolute;background:#fff}.sparkle:before{width:100%;height:2px;top:50%;left:0;transform:translateY(-50%)}.sparkle:after{width:2px;height:100%;left:50%;top:0;transform:translate(-50%)}@keyframes sparkle-pop{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}to{opacity:0;transform:scale(0) rotate(360deg)}}.lasers-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.laser{position:absolute;height:3px;background:linear-gradient(90deg,transparent,var(--laser-color),transparent);animation:laser-sweep linear infinite;box-shadow:0 0 10px var(--laser-color),0 0 20px var(--laser-color)}@keyframes laser-sweep{0%{transform:translate(-100%) rotate(var(--laser-angle));opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(200vw) rotate(var(--laser-angle));opacity:0}}.leaves-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.leaf{position:absolute;top:-50px;font-size:24px;animation:leaf-fall linear infinite}@keyframes leaf-fall{0%{transform:translateY(-50px) translate(0) rotate(0);opacity:1}25%{transform:translateY(25vh) translate(30px) rotate(90deg)}50%{transform:translateY(50vh) translate(-20px) rotate(180deg)}75%{transform:translateY(75vh) translate(40px) rotate(270deg)}to{transform:translateY(100vh) translate(0) rotate(360deg);opacity:.5}}.bubbles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.bubble{position:absolute;bottom:-50px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.8),rgba(255,255,255,.2) 50%,transparent 70%);border:1px solid rgba(255,255,255,.3);animation:bubble-rise linear infinite}@keyframes bubble-rise{0%{transform:translateY(0) translate(0) scale(1);opacity:.8}50%{transform:translateY(-50vh) translate(20px) scale(1.1)}to{transform:translateY(-100vh) translate(-10px) scale(.9);opacity:0}}.rain-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.raindrop{position:absolute;top:-20px;width:2px;height:20px;background:linear-gradient(to bottom,transparent,rgba(174,194,224,.8));animation:rain-fall linear infinite}@keyframes rain-fall{0%{transform:translateY(-20px);opacity:1}to{transform:translateY(100vh);opacity:.3}}.aurora-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:hidden}.aurora{position:absolute;width:200%;height:50%;top:0;left:-50%;background:linear-gradient(180deg,transparent 0%,rgba(0,255,128,.1) 20%,rgba(0,200,255,.15) 40%,rgba(128,0,255,.1) 60%,transparent 100%);filter:blur(30px);animation:aurora-wave 8s ease-in-out infinite}@keyframes aurora-wave{0%,to{transform:translate(-10%) skew(-5deg)}50%{transform:translate(10%) skew(5deg)}}.effect-selector{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.effect-option{padding:var(--space-sm) var(--space-md);background:var(--glass-light);border:1px solid var(--glass-border);border-radius:8px;color:var(--silver);font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-xs)}.effect-option:hover{background:var(--glass-medium);border-color:var(--silver)}.effect-option.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.effect-preview{font-size:1rem}.effect-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--space-xs);padding:2px 6px;background:var(--accent-soft);border-radius:4px;font-size:.85rem;vertical-align:middle;cursor:help}.form-group.compact{margin-top:var(--space-sm)}.form-group.compact label{font-size:.8rem;color:var(--silver);margin-bottom:var(--space-xs);display:block}.form-group.compact .effect-selector{gap:var(--space-xs)}.form-group.compact .effect-option{padding:var(--space-xs) var(--space-sm);font-size:.75rem}.special-card.editable,.day-entry{cursor:pointer}.day-entry:hover{background:var(--glass-medium)}.no-entries{color:var(--ash);font-size:.9rem;text-align:center;padding:var(--space-md)}.edit-hint{display:block;margin-top:var(--space-md);font-size:.75rem;color:var(--ash);opacity:0;transition:opacity .3s ease}.special-card.editable:hover .edit-hint{opacity:1}.inline-edit-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.inline-edit-modal{background:var(--charcoal);border:1px solid var(--glass-border);border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideInUp .3s ease}.inline-edit-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--glass-border)}.inline-edit-header h3{font-family:var(--font-display);font-size:1.5rem;color:var(--pure);margin:0}.inline-edit-header .close-btn{background:none;border:none;color:var(--silver);font-size:1.5rem;cursor:pointer;padding:var(--space-xs);line-height:1;transition:color .2s ease}.inline-edit-header .close-btn:hover{color:var(--pure)}.inline-edit-form{padding:var(--space-lg)}.inline-edit-form .form-group{margin-bottom:var(--space-md)}.inline-edit-form label{display:block;font-size:.85rem;color:var(--silver);margin-bottom:var(--space-xs)}.inline-edit-form input,.inline-edit-form select,.inline-edit-form textarea{width:100%;padding:var(--space-sm) var(--space-md);background:var(--glass-light);border:1px solid var(--glass-border);border-radius:8px;color:var(--pure);font-family:var(--font-body);font-size:1rem;transition:all .2s ease}.inline-edit-form input:focus,.inline-edit-form select:focus,.inline-edit-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inline-edit-form textarea{resize:vertical;min-height:80px}.inline-edit-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--glass-border)}.christmas-theme{background:linear-gradient(135deg,#1a2a1a,#0d1a0d,#1a0d0d)}.christmas-theme:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(255,0,0,.1) 0%,transparent 50%),radial-gradient(ellipse at bottom,rgba(0,128,0,.1) 0%,transparent 50%);pointer-events:none}.christmas-card{border-color:#ffd7004d;box-shadow:0 8px 32px #0000004d,0 0 60px #ffd7001a,inset 0 1px #ffffff1a}.christmas-card .category{background:#ffd70026;color:gold;border-color:#ffd70080}.christmas-theme .nav-arrow:hover,.christmas-theme .today-btn{border-color:gold;color:gold}.christmas-theme .today-btn:hover{background:#ffd70026}.christmas-theme .refresh-btn{background:linear-gradient(135deg,#c41e3a,#8b0000);border-color:#ff6b6b}.christmas-theme .refresh-btn:hover{background:linear-gradient(135deg,#ff6b6b,#c41e3a)}@media(max-width:768px){.date-display h1{font-size:2rem}.special-card{padding:var(--space-xl)}.special-card h2{font-size:1.4rem}.form-row{grid-template-columns:1fr}.entry-item{grid-template-columns:1fr;gap:var(--space-sm)}.entry-edit-form{grid-template-columns:1fr 1fr;gap:var(--space-sm)}.entry-edit-form input[type=text]{grid-column:span 2}.entry-edit-actions{grid-column:span 2;justify-content:flex-end}.entry-actions{justify-content:flex-start;margin-top:var(--space-xs)}.admin-header{flex-direction:column;gap:var(--space-md);text-align:center}.button-group{flex-direction:column}.restart-notice{flex-direction:column;text-align:center}.date-navigation{gap:var(--space-md)}.nav-arrow{width:40px;height:40px;font-size:1.2rem}.corner-links{bottom:var(--space-md);right:var(--space-md)}.corner-btn{width:32px;height:32px}.corner-btn svg{width:14px;height:14px}.admin-tabs{flex-wrap:wrap}.calendar-day{aspect-ratio:auto;min-height:45px;padding:var(--space-xs)}.day-number{font-size:.8rem}.entry-count{width:14px;height:14px;font-size:.6rem}.month-quick-nav{gap:2px}.month-btn{padding:4px 6px;font-size:.65rem}.add-day-form{grid-template-columns:1fr 1fr}.add-day-form select,.add-day-form button{grid-column:span 2}.day-entry{flex-direction:column}.day-entry .entry-actions{align-self:flex-end}}.top-left-buttons{position:fixed;top:var(--space-lg);left:var(--space-lg);display:flex;gap:var(--space-sm);z-index:100}.info-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-light);border:1px solid var(--glass-border);border-radius:50%;color:var(--ash);cursor:pointer;transition:all .2s ease;opacity:.8;flex-shrink:0}.info-btn:hover{opacity:1;background:var(--glass-medium);border-color:var(--silver);color:var(--mist);transform:scale(1.1)}.info-btn svg{width:16px;height:16px}.audio-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-light);border:1px solid var(--glass-border);border-radius:50%;color:var(--ash);cursor:pointer;transition:all .2s ease;opacity:.8;flex-shrink:0}.audio-btn:hover{opacity:1;background:var(--glass-medium);border-color:var(--silver);color:var(--mist);transform:scale(1.1)}.audio-btn.active{opacity:1;background:#d4a57426;border-color:var(--accent);color:var(--accent);animation:audioPulse 2s ease-in-out infinite}.audio-btn.active:hover{background:#d4a57440}.audio-btn svg{width:16px;height:16px}@keyframes audioPulse{0%,to{box-shadow:0 0 #d4a57466}50%{box-shadow:0 0 0 8px #d4a57400}}.suggest-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-light);border:1px solid var(--glass-border);border-radius:50%;color:var(--ash);cursor:pointer;transition:all .2s ease;opacity:.8;flex-shrink:0}.suggest-btn:hover{opacity:1;background:var(--glass-medium);border-color:var(--silver);color:var(--mist);transform:scale(1.1)}.suggest-btn svg{width:16px;height:16px}.about-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:var(--space-lg)}.about-modal{background:linear-gradient(145deg,var(--charcoal),var(--graphite));border:1px solid var(--glass-border);border-radius:24px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;position:relative;animation:slideInUp .4s ease;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff0d}.about-close-btn{position:absolute;top:var(--space-md);right:var(--space-md);width:32px;height:32px;background:var(--glass-light);border:1px solid var(--glass-border);border-radius:50%;color:var(--silver);font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s ease}.about-close-btn:hover{background:#f8717133;border-color:#f87171;color:#f87171}.about-content{padding:var(--space-2xl)}.about-content h2{font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--pure);margin-bottom:var(--space-xl);letter-spacing:-.02em;text-align:center}.about-content p{font-family:var(--font-body);color:var(--mist);font-size:1rem;line-height:1.8;margin-bottom:var(--space-md)}.about-content blockquote{font-family:var(--font-display);font-size:1.3rem;font-style:italic;color:var(--accent);text-align:center;margin:var(--space-xl) 0;padding:var(--space-md) var(--space-lg);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0}.about-note{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--glass-light);border:1px solid var(--glass-border);border-radius:16px;text-align:center}.about-note p{margin-bottom:var(--space-sm);color:var(--silver);font-size:.95rem}.about-note .special-message{font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--accent);margin-bottom:0;letter-spacing:-.01em}@media(max-width:768px){.info-btn{top:var(--space-md);left:var(--space-md);width:32px;height:32px}.info-btn svg{width:14px;height:14px}.about-content{padding:var(--space-xl)}.about-content h2{font-size:1.4rem}.about-content blockquote{font-size:1.1rem}}.suggest-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:var(--space-lg)}.suggest-modal{background:linear-gradient(145deg,var(--charcoal),var(--graphite));border:1px solid var(--glass-border);border-radius:24px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;position:relative;animation:slideInUp .4s ease;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff0d}.suggest-close-btn{position:absolute;top:var(--space-md);right:var(--space-md);width:32px;height:32px;background:var(--glass-light);border:1px solid var(--glass-border);border-radius:50%;color:var(--silver);font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s ease}.suggest-close-btn:hover{background:#f8717133;border-color:#f87171;color:#f87171}.suggest-content{padding:var(--space-2xl)}.suggest-content h2{font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--cloud);margin-bottom:var(--space-md);letter-spacing:-.02em}.suggest-intro{color:var(--silver);margin-bottom:var(--space-xl);line-height:1.6}.suggest-form{display:flex;flex-direction:column;gap:var(--space-lg)}.suggest-form .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.suggest-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.suggest-form label{font-size:.85rem;color:var(--silver);font-weight:500}.suggest-form input,.suggest-form select,.suggest-form textarea{padding:var(--space-sm) var(--space-md);background:var(--glass-light);border:1px solid var(--glass-border);border-radius:8px;color:var(--mist);font-size:1rem;font-family:var(--font-body);transition:all .2s ease}.suggest-form input:focus,.suggest-form select:focus,.suggest-form textarea:focus{outline:none;border-color:var(--accent);background:var(--glass-medium)}.suggest-form textarea{resize:vertical;min-height:80px}.suggest-form select{cursor:pointer}.suggest-submit-btn{padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--accent),#c49a6c);border:none;border-radius:12px;color:var(--ink);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:var(--space-md)}.suggest-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #d4a5744d}.suggest-submit-btn:disabled{opacity:.5;cursor:not-allowed}.suggest-success{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);text-align:center}.suggest-success svg{color:#4ade80}.suggest-success p{color:var(--mist);font-size:1.1rem}.suggest-error{background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:8px;padding:var(--space-sm) var(--space-md);color:#f87171;font-size:.9rem}@media(max-width:768px){.suggest-content{padding:var(--space-xl)}.suggest-content h2{font-size:1.4rem}.suggest-form .form-row{grid-template-columns:1fr}}
