:root,[data-theme=light]{--bg-primary: #FAFAF8;--bg-secondary: rgba(255, 255, 255, .85);--bg-card: #FFFFFF;--bg-card-hover: #F7F5F0;--bg-input: #F5F3EF;--text-primary: #1A1A1A;--text-secondary: #6B6560;--text-muted: #9C948C;--border-color: rgba(139, 115, 85, .12);--shadow-sm: 0 1px 3px rgba(107, 91, 71, .06);--shadow-md: 0 4px 16px rgba(107, 91, 71, .08);--shadow-lg: 0 8px 32px rgba(107, 91, 71, .1);--gradient-start: #A0845C;--gradient-end: #7B6544;--accent: #8B7355;--accent-light: #A0845C;--accent-bg: rgba(139, 115, 85, .08);--flip-bg: #3D3429;--flip-text: #FAF8F5;--overlay-bg: rgba(30, 26, 20, .4);--progress-track: #EBE6DE;--progress-glow: rgba(160, 132, 92, .45);--fun-card-bg: #F8F5F0;--danger: #C9524D;--danger-bg: rgba(201, 82, 77, .08)}[data-theme=dark]{--bg-primary: #1E1A14;--bg-secondary: rgba(44, 36, 24, .9);--bg-card: #2C2418;--bg-card-hover: #3D3429;--bg-input: #2C2418;--text-primary: #EDE8E0;--text-secondary: #B5AA9A;--text-muted: #8A7E70;--border-color: rgba(237, 232, 224, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--gradient-start: #A0845C;--gradient-end: #C4A676;--accent: #C4A676;--accent-light: #D4B88A;--accent-bg: rgba(196, 166, 118, .1);--flip-bg: #1A1610;--flip-text: #F0EAE0;--overlay-bg: rgba(10, 8, 5, .6);--progress-track: #3D3429;--progress-glow: rgba(196, 166, 118, .4);--fun-card-bg: rgba(196, 166, 118, .06);--danger: #E0706B;--danger-bg: rgba(224, 112, 107, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh}button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit;padding:0}input{font-family:inherit;color:inherit}.app{position:relative;min-height:100vh;display:flex;flex-direction:column}.bg-gradient{position:fixed;inset:0;background:linear-gradient(135deg,var(--gradient-start) 0%,var(--gradient-end) 100%);opacity:.04;pointer-events:none;z-index:0;transition:opacity .3s ease}[data-theme=dark] .bg-gradient{opacity:.08}.bg-noise{position:fixed;inset:0;opacity:.02;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:padding .25s ease}.header-left{display:flex;align-items:center}.app-logo{font-size:1.125rem;font-weight:700;display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-icon{font-size:1.3rem;-webkit-text-fill-color:initial}.header-right{display:flex;align-items:center;gap:.5rem}.btn-add{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px #8b735540;min-height:44px}.btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 16px #8b735559}.btn-add:active{transform:translateY(0)}.theme-toggle{padding:.25rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.theme-toggle-track{width:48px;height:28px;border-radius:14px;position:relative;transition:background .3s ease;background:#e2ddd5}.theme-toggle-track.dark{background:#4a3f32}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background .3s ease;box-shadow:0 1px 4px #6b5b4733;color:#a0845c}.theme-toggle-track.dark .theme-toggle-thumb{transform:translate(20px);background:#2c2418;color:#d4b88a}.app-main{position:relative;z-index:1;flex:1;padding:1rem;max-width:1200px;width:100%;margin:0 auto;transition:padding .25s ease}.app-layout{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.sidebar{width:100%;flex-shrink:0;position:static;transition:width .25s ease}.sidebar-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;padding-left:.25rem}.sidebar-list{display:flex;flex-direction:row;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.sidebar-list::-webkit-scrollbar{height:4px}.sidebar-list::-webkit-scrollbar-track{background:transparent}.sidebar-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.dday-card-mini{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;border-radius:10px;background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease;min-width:170px;flex-shrink:0;min-height:44px}.dday-card-mini:hover{background:var(--bg-card-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.dday-card-mini.complete{opacity:.6}.dday-card-mini-info h4{font-size:.8125rem;font-weight:600;margin-bottom:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.mini-countdown{font-size:.75rem;color:var(--accent);font-weight:500;font-family:JetBrains Mono,monospace}.mini-complete{font-size:.75rem;color:var(--text-muted)}.dday-card-delete{padding:.35rem;border-radius:6px;color:var(--text-muted);transition:all .15s ease;flex-shrink:0;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.dday-card-delete:hover{color:var(--danger);background:var(--danger-bg)}.main-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem}.dday-card-full{background:var(--bg-card);border-radius:16px;padding:1.25rem;border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:box-shadow .3s ease,padding .25s ease;animation:cardSlideIn .4s ease-out}.dday-card-full.celebrating{animation:celebrate .6s ease}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrate{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.dday-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}.dday-card-title{font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dday-card-actions{display:flex;gap:.25rem;flex-shrink:0}.dday-card-actions button{min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.dday-card-target-date{font-size:.8125rem;color:var(--text-secondary);margin-bottom:1.25rem}.countdown-display{margin-bottom:1.25rem}.countdown-display.compact{margin-bottom:1.25rem;padding:.875rem;background:var(--accent-bg);border-radius:12px}.countdown-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.625rem}.countdown-complete-text{font-size:1.75rem;font-weight:800;text-align:center;padding:.75rem;background:linear-gradient(135deg,#c9524d,#a0845c,#c4a676);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulseText 1.5s ease-in-out infinite}@keyframes pulseText{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.flip-digits-row{display:flex;align-items:center;justify-content:center;gap:.15rem;flex-wrap:nowrap}.compact .flip-digits-row{gap:.1rem}.flip-digit-container{display:flex;flex-direction:column;align-items:center;gap:.3rem}.flip-digit{position:relative;width:48px;height:56px;border-radius:8px;overflow:hidden;background:var(--flip-bg);box-shadow:0 2px 8px #0003;perspective:200px;transition:width .25s ease,height .25s ease}.compact .flip-digit{width:40px;height:46px}.flip-digit-top,.flip-digit-bottom{position:absolute;width:100%;height:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.flip-digit-top{top:0;background:var(--flip-bg);border-bottom:1px solid rgba(0,0,0,.2)}.flip-digit-top span{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;color:var(--flip-text);transform:translateY(50%)}.compact .flip-digit-top span{font-size:1.15rem}.flip-digit-bottom{bottom:0;background:color-mix(in srgb,var(--flip-bg) 90%,black)}.flip-digit-bottom span{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;color:var(--flip-text);transform:translateY(-50%)}.compact .flip-digit-bottom span{font-size:1.15rem}.flip-digit-divider{position:absolute;top:50%;left:0;right:0;height:1px;background:#0000004d;z-index:2}.flip-digit.flipping{animation:flipAnim .3s ease-in-out}@keyframes flipAnim{0%{transform:rotateX(0)}50%{transform:rotateX(-10deg)}to{transform:rotateX(0)}}.flip-digit-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.flip-separator{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;color:var(--text-muted);padding:.8rem .05rem 0;align-self:flex-start;transition:font-size .25s ease}.compact .flip-separator{font-size:1.1rem;padding-top:.5rem}.progress-section{margin-bottom:1.25rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.progress-percent{font-size:.75rem;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--accent)}.progress-bar-track{position:relative;height:8px;border-radius:4px;background:var(--progress-track);overflow:visible}.progress-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--gradient-start),var(--gradient-end));transition:width 1s ease;position:relative}.progress-bar-glow{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);box-shadow:0 0 10px var(--progress-glow),0 0 20px var(--progress-glow);transition:left 1s ease}.progress-labels{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.65rem;color:var(--text-muted)}.fun-facts{margin-bottom:.5rem}.fun-facts-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.625rem}.fun-facts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.fun-fact-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.625rem .4rem;border-radius:10px;background:var(--fun-card-bg);border:1px solid var(--border-color);transition:transform .15s ease}.fun-fact-card:hover{transform:translateY(-2px)}.fun-fact-emoji{font-size:1.35rem}.fun-fact-value{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;color:var(--accent)}.fun-fact-label{font-size:.65rem;color:var(--text-secondary);text-align:center}.fun-facts-toggle{display:block;margin:.625rem auto 0;padding:.4rem 1rem;border-radius:8px;font-size:.8rem;font-weight:500;color:var(--accent);background:var(--accent-bg);transition:background .15s ease;min-height:44px}.fun-facts-toggle:hover{background:#8b735524}[data-theme=dark] .fun-facts-toggle:hover{background:#c4a6762e}.quote-display{position:relative;padding:1rem 1.25rem;border-radius:12px;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:opacity .4s ease,padding .25s ease}.quote-display.fading{opacity:0}.quote-display blockquote{margin:0}.quote-display blockquote p{font-size:.9375rem;font-style:italic;line-height:1.6;color:var(--text-primary);margin-bottom:.4rem}.quote-display blockquote footer{font-size:.75rem;color:var(--text-muted);font-weight:500}.quote-refresh{position:absolute;top:.5rem;right:.5rem;padding:.4rem;border-radius:8px;color:var(--text-muted);transition:all .15s ease;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.quote-refresh:hover{color:var(--accent);background:var(--accent-bg)}.share-button{padding:.35rem;border-radius:6px;color:var(--text-muted);transition:all .15s ease;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.share-button:hover{color:var(--accent);background:var(--accent-bg)}.modal-overlay{position:fixed;inset:0;z-index:200;background:var(--overlay-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border-radius:20px 20px 0 0;padding:1.5rem;width:100%;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);border-bottom:none;animation:modalSlideUp .3s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.modal-header h2{font-size:1.125rem;font-weight:700}.modal-close{padding:.35rem;border-radius:8px;color:var(--text-muted);transition:all .15s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary);background:var(--accent-bg)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.4rem}.form-group input[type=text],.form-group input[type=datetime-local]{width:100%;padding:.7rem 1rem;border-radius:8px;border:1.5px solid var(--border-color);background:var(--bg-input);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;outline:none;min-height:44px}.form-group input[type=text]:focus,.form-group input[type=datetime-local]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.form-group input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--progress-track);outline:none}.form-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));cursor:pointer;box-shadow:0 2px 6px #8b735559}.form-group input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));cursor:pointer;border:none;box-shadow:0 2px 6px #8b735559}.range-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted);margin-top:.3rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.btn-primary{padding:.65rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px #8b735540;min-height:44px}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #8b735559}.btn-secondary{padding:.65rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);transition:background .15s ease;min-height:44px}.btn-secondary:hover{background:var(--bg-card-hover)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:1.5rem 1rem;animation:fadeIn .5s ease}.empty-state-icon{font-size:3.5rem;margin-bottom:.75rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h2{font-size:1.25rem;font-weight:700;margin-bottom:.4rem}.empty-state p{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.9375rem}@media(min-width:360px){.flip-digit{width:52px;height:60px}.flip-digit-top span,.flip-digit-bottom span{font-size:1.6rem}.flip-digits-row{gap:.2rem}.dday-card-mini-info h4{max-width:130px}}@media(min-width:480px){.app-header{padding:.75rem 1.25rem}.app-main{padding:1.25rem}.dday-card-full{padding:1.5rem;border-radius:18px}.dday-card-title{font-size:1.375rem}.flip-digit{width:60px;height:68px}.flip-digit-top span,.flip-digit-bottom span{font-size:1.8rem}.compact .flip-digit{width:48px;height:56px}.compact .flip-digit-top span,.compact .flip-digit-bottom span{font-size:1.4rem}.flip-separator{font-size:1.6rem;padding-top:1rem}.countdown-complete-text{font-size:2rem}.fun-facts-grid{gap:.625rem}.fun-fact-card{padding:.75rem .5rem}.fun-fact-value{font-size:1.05rem}.quote-display{padding:1.25rem 1.5rem;border-radius:14px}.modal-overlay{align-items:center;padding:1rem}.modal-content{border-radius:16px;max-width:460px;max-height:85vh;border-bottom:1px solid var(--border-color)}}@media(min-width:768px){.app-header{padding:.75rem 1.5rem}.header-right{gap:.75rem}.app-logo{font-size:1.25rem}.btn-add{padding:.5rem 1rem}.btn-add span{display:inline}.app-main{padding:1.5rem}.app-layout{flex-direction:row;gap:1.5rem;align-items:flex-start}.sidebar{width:260px;position:sticky;top:80px}.sidebar-list{flex-direction:column;overflow-x:visible;padding-bottom:0}.dday-card-mini{min-width:0;flex-shrink:1}.dday-card-mini:hover{transform:translate(4px)}.dday-card-mini-info h4{max-width:150px}.main-content{gap:1.5rem}.dday-card-full{padding:2rem;border-radius:20px}.dday-card-title{font-size:1.5rem}.dday-card-target-date,.countdown-display{margin-bottom:1.5rem}.countdown-display.compact{padding:1rem;border-radius:14px}.flip-digit{width:72px;height:80px;border-radius:10px}.flip-digit-top span,.flip-digit-bottom span{font-size:2.2rem}.compact .flip-digit{width:56px;height:64px}.compact .flip-digit-top span,.compact .flip-digit-bottom span{font-size:1.7rem}.flip-digits-row{gap:.25rem}.flip-separator{font-size:2rem;padding-top:1.2rem;padding-left:.1rem;padding-right:.1rem}.compact .flip-separator{font-size:1.5rem;padding-top:.8rem}.countdown-complete-text{font-size:2.5rem;padding:1rem}.progress-section{margin-bottom:1.5rem}.progress-bar-track{height:10px;border-radius:5px}.progress-bar-fill{border-radius:5px}.progress-bar-glow{width:12px;height:12px}.fun-facts-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.fun-fact-card{gap:.2rem;padding:.75rem .5rem;border-radius:12px}.fun-fact-emoji{font-size:1.5rem}.fun-fact-value{font-size:1.1rem}.fun-fact-label{font-size:.7rem}.quote-display{padding:1.5rem 2rem;border-radius:16px}.quote-display blockquote p{font-size:1rem;margin-bottom:.5rem}.quote-display blockquote footer{font-size:.8rem}.quote-refresh{top:.75rem;right:.75rem}.modal-content{padding:2rem;border-radius:20px}.modal-header h2{font-size:1.25rem}.empty-state{min-height:60vh}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{font-size:1.5rem;margin-bottom:.5rem}.empty-state p{margin-bottom:1.5rem}}@media(min-width:1024px){.sidebar{width:280px}.dday-card-mini-info h4{max-width:160px}}@media(max-width:479px){.btn-add span{display:none}.btn-add{padding:.5rem;border-radius:8px}}@media(max-width:359px){.app-header{padding:.5rem .75rem}.app-main{padding:.75rem}.flip-digit{width:40px;height:48px}.flip-digit-top span,.flip-digit-bottom span{font-size:1.25rem}.compact .flip-digit{width:34px;height:40px}.compact .flip-digit-top span,.compact .flip-digit-bottom span{font-size:1rem}.flip-separator{font-size:1.1rem;padding-top:.5rem}.compact .flip-separator{font-size:.9rem;padding-top:.3rem}.flip-digit-label{font-size:.5rem}.dday-card-full{padding:1rem}.dday-card-title{font-size:1.1rem}.countdown-complete-text{font-size:1.5rem}.fun-facts-grid{gap:.375rem}.fun-fact-card{padding:.5rem .3rem}.fun-fact-value{font-size:.9rem}.fun-fact-label{font-size:.6rem}.dday-card-mini{min-width:150px;padding:.5rem .75rem}.dday-card-mini-info h4{max-width:100px;font-size:.75rem}.quote-display{padding:.875rem 1rem}.quote-display blockquote p{font-size:.875rem}.modal-content{padding:1.25rem}}.app,.app-main,.main-content,.dday-card-full{max-width:100%;overflow-x:hidden}.sidebar,.app-layout,.main-content,.dday-card-full,.flip-digit,.flip-separator,.fun-facts-grid,.quote-display,.modal-content,.empty-state{transition-property:padding,margin,width,gap,border-radius;transition-duration:.25s;transition-timing-function:ease}
