@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-300-normal-BVlfKGgI.woff2) format("woff2"),url(/assets/inter-latin-300-normal-i8F0SvXL.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}: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-install{display:flex;align-items:center;gap:.4rem;padding:.5rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:600;color:var(--accent);background:var(--accent-bg);border:1px solid var(--border-color);transition:transform .15s ease,box-shadow .15s ease,background .15s ease;min-height:44px}.btn-install:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-install:active{transform:translateY(0)}.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{display:none}.flip-digit-bottom{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--flip-bg)}.flip-digit-bottom span{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;color:var(--flip-text)}.compact .flip-digit-bottom span{font-size:1.15rem}.flip-digit-divider{display:none}.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-install span,.btn-add span{display:none}.btn-install,.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}}.sync-indicator{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.3rem .75rem;font-size:.7rem;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);transition:all .3s ease;overflow:hidden;max-height:0;padding-top:0;padding-bottom:0;border-bottom:none}.sync-indicator.syncing,.sync-indicator.error,.sync-indicator.offline,.sync-indicator.pending{max-height:32px;padding:.3rem .75rem;border-bottom:1px solid var(--border-color)}.sync-indicator.synced{max-height:32px;padding:.3rem .75rem;border-bottom:1px solid var(--border-color);animation:syncFadeOut 2s ease 1s forwards}@keyframes syncFadeOut{to{max-height:0;padding-top:0;padding-bottom:0;opacity:0}}.sync-indicator.synced{color:var(--accent)}.sync-indicator.error{color:var(--danger)}.sync-indicator.pending{color:var(--accent)}.sync-spinner{width:10px;height:10px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tab-bar{position:sticky;top:45px;z-index:99;display:flex;gap:.25rem;padding:.375rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow-x:auto;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;gap:.4rem;padding:.45rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--text-muted);transition:all .2s ease;min-height:36px;flex-shrink:0}.tab:hover{color:var(--text-secondary);background:var(--accent-bg)}.tab.active{color:var(--accent);background:var(--accent-bg);font-weight:600}.mission-control{display:flex;flex-direction:column;gap:1rem}.mission-hero,.mission-panel,.mission-empty-card,.mission-stat-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.mission-hero,.mission-empty-card{border-radius:20px;padding:1.25rem}.mission-hero{display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.mission-hero:after{content:"";position:absolute;inset:auto -10% -35% auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(160,132,92,.18),transparent 68%);pointer-events:none}.mission-eyebrow,.mission-panel-kicker{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.mission-title{font-size:1.45rem;font-weight:800;margin-top:.25rem}.mission-copy,.mission-panel-subcopy,.mission-empty-card p{color:var(--text-secondary);line-height:1.6;max-width:60ch}.mission-hero-badge{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:.65rem .9rem;border-radius:999px;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:700;box-shadow:0 10px 30px #8b735533}.mission-stat-grid,.mission-grid{display:grid;gap:.875rem}.mission-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.mission-stat-card{border-radius:16px;padding:1rem}.mission-stat-card.accent{background:linear-gradient(180deg,var(--bg-card),rgba(160,132,92,.08))}.mission-stat-card.danger{background:linear-gradient(180deg,var(--bg-card),rgba(201,82,77,.08))}.mission-stat-label{display:block;color:var(--text-muted);font-size:.75rem;font-weight:600;margin-bottom:.45rem}.mission-stat-value{display:block;font-size:1.7rem;font-weight:800;margin-bottom:.35rem}.mission-stat-detail{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.mission-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.mission-panel{border-radius:18px;padding:1.1rem}.mission-panel-wide{grid-column:span 1}.mission-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.mission-panel-header h3{font-size:1.05rem;font-weight:700;margin-top:.2rem}.mission-panel-note{color:var(--text-muted);font-size:.78rem;white-space:nowrap}.mission-panel-action{padding-inline:1rem}.mission-focus-list,.mission-archive-list,.mission-milestones{display:flex;flex-direction:column;gap:.75rem}.mission-focus-card,.mission-archive-card{border-radius:16px;border:1px solid var(--border-color);background:var(--bg-input)}.mission-focus-card{padding:.9rem;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mission-focus-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.mission-focus-card.selected{border-color:var(--accent);background:linear-gradient(180deg,var(--bg-input),var(--accent-bg))}.mission-focus-top,.mission-focus-bottom,.mission-focus-progress,.mission-archive-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mission-focus-top{align-items:flex-start;margin-bottom:.7rem}.mission-focus-top h4,.mission-archive-card h4{font-size:.98rem;font-weight:700}.mission-focus-phase{display:inline-flex;margin-bottom:.25rem;color:var(--accent);font-size:.72rem;font-weight:700}.mission-focus-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.mission-chip{display:inline-flex;align-items:center;padding:.35rem .6rem;border-radius:999px;background:var(--bg-card);font-size:.75rem;font-weight:700;color:var(--text-secondary)}.mission-chip.tone-긴급{color:var(--danger);background:var(--danger-bg)}.mission-chip.tone-주의{color:var(--accent);background:var(--accent-bg)}.mission-chip.tone-안정{color:var(--text-secondary)}.mission-focus-progress{margin-bottom:.65rem;font-size:.76rem;color:var(--text-secondary)}.mission-focus-bar{flex:1;height:8px;border-radius:999px;background:var(--progress-track);overflow:hidden}.mission-focus-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gradient-start),var(--gradient-end))}.mission-focus-bottom,.mission-archive-meta{color:var(--text-muted);font-size:.76rem}.mission-milestone{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.mission-milestone:last-child{border-bottom:none;padding-bottom:0}.mission-milestone:first-child{padding-top:0}.mission-milestone-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted)}.mission-milestone.done .mission-milestone-dot{background:var(--accent);box-shadow:0 0 0 5px var(--accent-bg)}.mission-milestone-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}.mission-milestone-copy strong{font-size:.9rem}.mission-milestone-copy span,.mission-milestone-relative{color:var(--text-muted);font-size:.76rem}.mission-emotion-chart{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.45rem;margin-top:1rem}.mission-emotion-column{display:flex;flex-direction:column;align-items:center;gap:.45rem;min-width:0}.mission-emotion-column span{color:var(--text-muted);font-size:.66rem}.mission-emotion-track{width:100%;max-width:28px;height:96px;border-radius:999px;background:var(--bg-input);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border:1px solid var(--border-color)}.mission-emotion-fill{width:100%;border-radius:inherit;background:linear-gradient(180deg,var(--gradient-end),var(--gradient-start))}.mission-emotion-empty{width:100%;height:14%;border-radius:inherit;background:linear-gradient(180deg,transparent,rgba(139,115,85,.12))}.mission-archive-card{padding:.85rem .9rem}.mission-panel-empty{border-radius:14px;padding:1rem;background:var(--bg-input);color:var(--text-secondary);font-size:.86rem;line-height:1.6}.mission-empty{min-height:55vh;justify-content:center}.mission-empty-card{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}.mission-forecast-panel{position:relative;overflow:hidden}.mission-forecast-panel:after{content:"";position:absolute;inset:auto -40px -70px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(160,132,92,.12),transparent 70%);pointer-events:none}.forecast-status{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-radius:16px;padding:1rem;margin-bottom:.85rem;border:1px solid var(--border-color);background:var(--bg-input)}.forecast-status strong{font-size:1.9rem;font-weight:800;line-height:1}.forecast-status h4{font-size:1rem;font-weight:700;margin-top:.2rem}.forecast-status-label,.forecast-metric-label,.forecast-signal span,.forecast-control-meta,.forecast-preset small{color:var(--text-muted);font-size:.74rem}.forecast-status.status-risk{background:linear-gradient(180deg,var(--bg-input),rgba(201,82,77,.08))}.forecast-status.status-balanced{background:linear-gradient(180deg,var(--bg-input),rgba(160,132,92,.08))}.forecast-status.status-push,.forecast-status.status-overdrive{background:linear-gradient(180deg,var(--bg-input),rgba(123,101,68,.12))}.forecast-copy{color:var(--text-secondary);line-height:1.6;margin-bottom:.9rem;max-width:68ch}.forecast-presets,.forecast-controls,.forecast-metric-grid,.forecast-signal-list{display:grid;gap:.75rem}.forecast-presets,.forecast-controls,.forecast-metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.forecast-preset,.forecast-control,.forecast-metric-card,.forecast-signal{border-radius:16px;border:1px solid var(--border-color);background:var(--bg-input)}.forecast-preset{padding:.85rem .9rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.forecast-preset span{font-size:.92rem;font-weight:700}.forecast-preset:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.forecast-preset.active{border-color:var(--accent);background:linear-gradient(180deg,var(--bg-input),var(--accent-bg))}.forecast-control,.forecast-metric-card,.forecast-signal{padding:.95rem}.forecast-control{display:flex;flex-direction:column;gap:.75rem}.forecast-control-header,.forecast-control-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.forecast-control-header strong,.forecast-metric-card strong,.forecast-signal strong{font-size:1rem;font-weight:800}.forecast-range{width:100%;accent-color:var(--accent)}.forecast-metric-card{display:flex;flex-direction:column;gap:.35rem}.forecast-metric-card strong{font-size:1.55rem}.forecast-metric-card p{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.forecast-signal-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:.1rem}.forecast-signal{display:flex;flex-direction:column;gap:.35rem}@media(max-width:767px){.forecast-status{flex-direction:column}}@media(min-width:768px){.mission-hero{flex-direction:row;align-items:flex-start;justify-content:space-between}.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-panel-wide{grid-column:span 2}}.kanban{display:flex;flex-direction:column;gap:1rem}.kanban-header-card{background:var(--bg-card);border-radius:16px;padding:1.25rem;border:1px solid var(--border-color);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1rem}.kanban-header-top{display:flex;align-items:center;justify-content:space-between}.kanban-title{font-size:1.125rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.kanban-title-icon{font-size:1.25rem}.kanban-stats{font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:600;color:var(--accent);background:var(--accent-bg);padding:.25rem .625rem;border-radius:6px}.kanban-timeline{display:flex;align-items:flex-start;justify-content:space-between;padding:0 .5rem;position:relative}.timeline-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;position:relative;flex:1}.timeline-node{width:32px;height:32px;border-radius:50%;background:var(--bg-input);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;z-index:1;transition:all .3s ease}.timeline-node .timeline-day{font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700;color:var(--text-muted)}.timeline-node.past{background:var(--accent-bg);border-color:var(--accent)}.timeline-node.past .timeline-day{color:var(--accent)}.timeline-node.today{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-bg),0 2px 8px #8b73554d}.timeline-node.today .timeline-day{color:#fff;font-weight:800}.timeline-node.done{background:var(--accent);border-color:var(--accent)}.timeline-node.done svg{stroke:#fff}.timeline-label{font-size:.65rem;font-weight:500;color:var(--text-muted)}.timeline-label.today{font-weight:700;color:var(--accent)}.timeline-line{position:absolute;top:15px;right:50%;width:100%;height:2px;background:var(--border-color);z-index:0}.timeline-line.filled{background:var(--accent)}.kanban-progress{display:flex;align-items:center;gap:.625rem}.kanban-progress-track{flex:1;height:6px;border-radius:3px;background:var(--progress-track);overflow:hidden}.kanban-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gradient-start),var(--gradient-end));transition:width .6s ease}.kanban-progress-text{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;color:var(--accent);min-width:2.5rem;text-align:right}.kanban-day-indicator{display:flex;align-items:center;gap:.625rem}.kanban-day-text{font-size:.75rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.kanban-day-bar{flex:1;height:4px;border-radius:2px;background:var(--progress-track);overflow:hidden}.kanban-day-bar-fill{height:100%;border-radius:2px;background:var(--accent);opacity:.5;transition:width .6s ease}.kanban-board{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:1rem;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.kanban-board::-webkit-scrollbar{height:4px}.kanban-board::-webkit-scrollbar-track{background:transparent}.kanban-board::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.kanban-col{flex:0 0 260px;min-width:260px;background:var(--bg-card);border-radius:14px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;scroll-snap-align:start;transition:all .3s ease}.kanban-col.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-md)}.kanban-col.past{opacity:.65}.kanban-col.all-done{opacity:.75}.kanban-col-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.kanban-col-date{display:flex;align-items:baseline;gap:.3rem;flex:1}.kanban-col-day{font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:700}.kanban-col-weekday{font-size:.75rem;font-weight:500;color:var(--text-muted)}.kanban-col-badge{font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:.15rem .4rem;border-radius:4px;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff}.kanban-col-count{font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;color:var(--text-muted)}.kanban-tasks{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;min-height:80px}.kanban-task{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:8px;transition:all .15s ease;animation:taskSlideIn .2s ease}@keyframes taskSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.kanban-task:hover{background:var(--bg-card-hover)}.kanban-task.done{opacity:.5}.kanban-check{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border-radius:6px;transition:background .15s ease}.kanban-check:hover{background:var(--accent-bg)}.kanban-task-text{flex:1;font-size:.8125rem;line-height:1.4;word-break:break-word}.kanban-task.done .kanban-task-text{text-decoration:line-through;color:var(--text-muted)}.kanban-task-del{flex-shrink:0;padding:.3rem;border-radius:6px;color:var(--text-muted);opacity:0;transition:all .15s ease;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.kanban-task:hover .kanban-task-del{opacity:1}.kanban-task-del:hover{color:var(--danger);background:var(--danger-bg)}.kanban-add{display:flex;align-items:center;padding:.5rem;border-top:1px solid var(--border-color)}.kanban-add input{flex:1;padding:.5rem .625rem;border:none;background:transparent;font-size:.8125rem;outline:none;min-height:36px}.kanban-add input::placeholder{color:var(--text-muted)}.kanban-add-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--accent);background:var(--accent-bg);transition:all .15s ease;animation:fadeIn .15s ease}.kanban-add-btn:hover{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff}.kanban-setup{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:2rem 1rem;animation:fadeIn .5s ease}.kanban-setup-icon{font-size:3.5rem;margin-bottom:.75rem;animation:float 3s ease-in-out infinite}.kanban-setup-title{font-size:1.25rem;font-weight:700;margin-bottom:.4rem}.kanban-setup-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9375rem}.kanban-setup-btn{margin-top:1.25rem}.kanban-range-form{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;justify-content:center}.kanban-range-field{display:flex;flex-direction:column;gap:.3rem}.kanban-range-field label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.kanban-range-field input[type=date]{padding:.6rem .75rem;border-radius:8px;border:1.5px solid var(--border-color);background:var(--bg-input);font-size:.9rem;font-family:inherit;color:inherit;outline:none;min-height:44px;transition:border-color .2s ease,box-shadow .2s ease}.kanban-range-field input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.kanban-range-arrow{font-size:1.25rem;color:var(--text-muted);padding-bottom:.5rem}.kanban-range-inline{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:12px;background:var(--bg-input);border:1px solid var(--border-color);animation:taskSlideIn .2s ease}.kanban-range-actions{display:flex;justify-content:flex-end;gap:.5rem}.kanban-range-actions .btn-primary,.kanban-range-actions .btn-secondary{padding:.45rem 1rem;font-size:.8125rem;min-height:36px}.kanban-range-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed}.kanban-header-actions{display:flex;align-items:center;gap:.5rem}.kanban-edit-range{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--text-muted);transition:all .15s ease}.kanban-edit-range:hover{color:var(--accent);background:var(--accent-bg)}@media(min-width:768px){.kanban-col{flex:1 1 0;min-width:180px}.kanban-board{overflow-x:visible;scroll-snap-type:none}.kanban-header-card{padding:1.5rem}.timeline-node{width:36px;height:36px}.timeline-node .timeline-day{font-size:.75rem}.timeline-label{font-size:.7rem}}@media(min-width:1024px){.kanban-col{min-width:200px}.kanban-header-card{padding:1.75rem}}@media(max-width:359px){.kanban-col{flex:0 0 230px;min-width:230px}.kanban-header-card{padding:1rem}.timeline-node{width:28px;height:28px}.timeline-node .timeline-day{font-size:.6rem}}.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}.capsule-teaser{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;margin-top:.75rem;border-radius:12px;background:var(--accent-bg);border:1px dashed var(--accent);animation:fadeIn .5s ease}.capsule-envelope{color:var(--accent);animation:float 3s ease-in-out infinite}.capsule-teaser-text{font-size:.8125rem;font-weight:500;color:var(--accent)}.capsule-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem 0;font-size:.8125rem;font-weight:500;color:var(--text-secondary);transition:color .2s ease}.capsule-toggle:hover{color:var(--accent)}.capsule-toggle svg:first-child{color:var(--accent)}.capsule-textarea{width:100%;padding:.75rem;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-input);font-family:inherit;font-size:.875rem;line-height:1.5;resize:vertical;outline:none;color:inherit;transition:border-color .2s ease;margin-top:.5rem}.capsule-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.capsule-char-count{display:block;text-align:right;font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.capsule-open-btn{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.capsule-reveal-overlay{z-index:1000}.capsule-reveal{background:var(--bg-card);border-radius:20px;padding:2rem;max-width:400px;width:90%;text-align:center;animation:capsuleRevealIn .6s ease;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}@keyframes capsuleRevealIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.capsule-envelope-open{color:var(--accent);margin-bottom:1rem}.capsule-envelope-open svg{animation:openFlap .8s ease forwards}@keyframes openFlap{0%{transform:scaleY(1)}50%{transform:scaleY(-.3)}to{transform:scaleY(1)}}.capsule-reveal-title{font-size:1.125rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.capsule-reveal-message{padding:1rem;border-radius:12px;background:var(--bg-input);border:1px solid var(--border-color);margin-bottom:1.25rem;animation:letterFadeIn .8s ease .3s both}@keyframes letterFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.capsule-reveal-message p{font-size:.9375rem;line-height:1.7;white-space:pre-wrap;word-break:break-word}.capsule-reveal-close{min-width:100px}.emotion-picker{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.625rem 0}.emotion-picker-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.emotion-picker-buttons{display:flex;gap:.25rem}.emotion-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;transition:all .15s ease;border:2px solid transparent}.emotion-btn:hover{background:var(--accent-bg);transform:scale(1.15)}.emotion-btn.active{background:var(--accent-bg);border-color:var(--accent);transform:scale(1.1)}.emotion-emoji{font-size:1.25rem;line-height:1}.emotion-timeline{margin-top:.75rem}.emotion-timeline-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.375rem}.emotion-timeline-svg{width:100%;max-width:100%;height:auto;border-radius:8px;background:var(--bg-input);border:1px solid var(--border-color)}.emotion-timeline-empty{padding:1rem;text-align:center;font-size:.8125rem;color:var(--text-muted)}.form-mode-toggle{display:flex;gap:.25rem;padding:.25rem;border-radius:10px;background:var(--bg-input);border:1px solid var(--border-color);margin-bottom:1rem}.mode-pill{flex:1;padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--text-muted);transition:all .2s ease}.mode-pill.active{background:var(--bg-card);color:var(--accent);font-weight:600;box-shadow:var(--shadow-sm)}.holiday-suggest{display:flex;flex-direction:column;gap:.75rem}.suggest-tabs{display:flex;gap:.25rem}.suggest-tab{flex:1;padding:.5rem;border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--text-muted);transition:all .2s ease}.suggest-tab.active{color:var(--accent);background:var(--accent-bg);font-weight:600}.suggest-tab:hover:not(.active){color:var(--text-secondary)}.suggest-base-input{display:flex;align-items:center;gap:.5rem}.suggest-base-input label{font-size:.8125rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.suggest-base-input input[type=date]{flex:1;padding:.5rem .625rem;border-radius:8px;border:1.5px solid var(--border-color);background:var(--bg-input);font-size:.875rem;font-family:inherit;color:inherit;outline:none;min-height:40px}.suggest-base-input input[type=date]:focus{border-color:var(--accent)}.suggest-list{display:flex;flex-direction:column;gap:.375rem;max-height:300px;overflow-y:auto}.suggest-card{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-card);text-align:left;transition:all .15s ease;cursor:pointer}.suggest-card:hover{border-color:var(--accent);background:var(--accent-bg)}.suggest-card.past{opacity:.5}.suggest-icon{font-size:1.25rem;flex-shrink:0}.suggest-name{flex:1;font-size:.875rem;font-weight:500}.suggest-date{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-muted)}.suggest-badge{font-size:.65rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;background:var(--text-muted);color:var(--bg-card)}.suggest-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:.875rem}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:40vh;color:var(--text-muted);text-align:center;animation:fadeIn .5s ease}.history-empty svg{opacity:.3}.history-empty p{font-size:.9375rem}.history-timeline{display:flex;flex-direction:column;gap:1.5rem;padding:0 .5rem;animation:fadeIn .3s ease}.history-year-header{font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:800;color:var(--accent);padding-bottom:.5rem;border-bottom:2px solid var(--accent)}.history-year-items{display:flex;flex-direction:column;gap:0;position:relative;padding-left:1.5rem}.history-year-items:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:var(--border-color)}.history-timeline-item{position:relative;padding:.5rem 0}.history-timeline-dot{position:absolute;left:-1.5rem;top:1rem;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-card);z-index:1;transform:translate(-.5px)}.history-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1rem;box-shadow:var(--shadow-sm);transition:all .2s ease}.history-card:hover{box-shadow:var(--shadow-md)}.history-card-title{font-size:.9375rem;font-weight:600;margin-bottom:.375rem}.history-card-dates{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.history-card-dates svg{color:var(--text-muted)}.history-card-duration{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;color:var(--accent);margin-bottom:.625rem}.history-card-actions{display:flex;gap:.5rem}.btn-sm{padding:.3rem .75rem;font-size:.75rem;min-height:30px;border-radius:6px}.btn-danger{color:var(--danger);background:var(--danger-bg);border:none;cursor:pointer;font-weight:500;transition:all .15s ease}.btn-danger:hover{opacity:.8}.dday-card-archive{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--text-muted);transition:all .15s ease}.dday-card-archive:hover{color:var(--accent);background:var(--accent-bg)}.kanban-task.dragging{opacity:.3;border:1px dashed var(--border-color)}.kanban-drag-overlay{position:fixed;z-index:1000;pointer-events:none;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--accent);border-radius:8px;box-shadow:0 8px 24px #00000026;font-size:.8125rem;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(-50%,-50%) rotate(2deg)}.kanban-drop-indicator{height:2px;background:var(--accent);border-radius:1px;margin:2px 0;animation:dropPulse 1s ease infinite}@keyframes dropPulse{0%,to{opacity:1}50%{opacity:.5}}.kanban-col.drag-over{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.kanban-board.dragging{user-select:none;-webkit-user-select:none;scroll-snap-type:none}
