@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";.crescent-mark{position:fixed;top:0;left:0;width:100%;height:2px;z-index:100;pointer-events:none;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:scaleX(0);transform-origin:left;animation:crescent-draw 1.2s var(--ease-out) forwards}@keyframes crescent-draw{to{transform:scaleX(1)}}.navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2.5rem;background:transparent;transition:padding .4s var(--ease-out),background .4s var(--ease-out),backdrop-filter .4s var(--ease-out)}.navbar.scrolled{padding:.75rem 2.5rem;background:color-mix(in srgb,var(--background) 78%,transparent);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.navbar-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--foreground)}.navbar-brand svg{color:var(--accent);flex-shrink:0}.navbar-right{display:flex;align-items:center;gap:1.5rem}.navbar-links{display:flex;align-items:center;gap:.25rem}.nav-link{padding:.5rem 1.1rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--muted-foreground);cursor:pointer;transition:color .3s var(--ease-out),background .3s var(--ease-out);background:transparent;border:none;font-family:var(--font-body);position:relative}.nav-link:hover{color:var(--foreground)}.nav-link.active{color:var(--foreground);background:var(--muted)}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted-foreground);transition:color .3s var(--ease-out),border-color .3s var(--ease-out),background .3s var(--ease-out)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.page-container{max-width:860px;margin:0 auto;padding:2rem 2rem 6rem;position:relative}.page-container:before{content:"";position:absolute;left:2rem;top:0;bottom:4rem;width:1px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 30%,transparent),color-mix(in srgb,var(--accent) 8%,transparent),transparent)}.page-content{padding-left:2.5rem}.page-overline{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:.75rem}.page-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem;line-height:1.1}.page-subtitle{font-size:1rem;color:var(--muted-foreground);margin-bottom:3rem;max-width:420px;line-height:1.6}.home-hero{padding:4rem 0 2rem;position:relative}.home-hero-overline{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:1.5rem}.home-hero-name{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:1rem;color:var(--foreground)}.home-hero-date{font-size:1.15rem;color:var(--muted-foreground);font-weight:400;margin-bottom:.5rem}.home-hero-countdown{display:flex;align-items:baseline;gap:.5rem;margin-top:2rem}.home-hero-countdown-number{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.03em}.home-hero-countdown-label{font-size:.95rem;color:var(--muted-foreground);font-weight:500}.hero-crescent{position:absolute;top:2rem;right:0;opacity:.5;pointer-events:none}.next-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2.5rem;margin-top:2rem;position:relative;overflow:hidden}.next-card-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground);margin-bottom:.5rem}.next-card-name{font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.4rem}.next-card-date{font-size:1rem;color:var(--muted-foreground)}.next-card-message{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--background-soft);border-radius:var(--radius);font-size:.95rem;color:var(--foreground);line-height:1.55;border-left:2px solid var(--accent)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:2.5rem}.stat-card{background:transparent;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}.stat-card:hover{border-color:var(--accent);background:var(--card)}.stat-value{font-family:var(--font-display);font-size:2.25rem;font-weight:800;line-height:1;letter-spacing:-.03em}.stat-label{font-size:.82rem;color:var(--muted-foreground);margin-top:.4rem;font-weight:500}.cta-row{display:flex;gap:.75rem;margin-top:2.5rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:999px;font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .35s var(--ease-out);border:1px solid transparent;text-decoration:none;position:relative}.btn-primary{background:var(--accent);color:var(--accent-foreground)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 30%,transparent)}.btn-secondary{background:transparent;color:var(--foreground);border-color:var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.section-divider{height:1px;background:var(--border);margin:4rem 0 3rem}.section-heading{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground);margin-bottom:1.5rem}.timeline{display:flex;flex-direction:column;gap:.5rem}.timeline-item{display:flex;align-items:center;gap:1.5rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-lg);padding:1.25rem 1.5rem;transition:background .3s var(--ease-out),border-color .3s var(--ease-out),transform .3s var(--ease-out);position:relative}.timeline-item:hover{background:var(--card);border-color:var(--border);transform:translate(4px)}.timeline-date-block{flex-shrink:0;text-align:center;min-width:56px}.timeline-date-day{font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--foreground)}.timeline-date-month{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground);font-weight:600;margin-top:.25rem}.timeline-body{flex:1;min-width:0}.timeline-name{font-weight:700;font-size:1rem;letter-spacing:-.01em}.timeline-sub{font-size:.85rem;color:var(--muted-foreground);margin-top:.15rem}.timeline-message{font-size:.9rem;color:var(--foreground);margin-top:.5rem;line-height:1.5;padding:.6rem .9rem;background:var(--background-soft);border-radius:var(--radius);border-left:2px solid var(--accent)}.timeline-proof{font-size:.82rem;color:var(--muted-foreground);margin-top:.35rem;font-style:italic}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-overdue{background:var(--status-overdue-bg);color:var(--status-overdue)}.badge-upcoming{background:var(--status-pending-bg);color:var(--status-pending)}.badge-done{background:var(--status-done-bg);color:var(--status-done)}.badge-done:before{display:none}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.5rem}.status-dot.overdue{background:var(--status-overdue)}.status-dot.upcoming{background:var(--status-pending)}.status-dot.done{background:var(--status-done)}.state-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.5rem;padding:4rem 0;text-align:left}.state-icon{color:var(--muted-foreground);margin-bottom:.5rem}.state-message{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.state-sub{font-size:.9rem;color:var(--muted-foreground);max-width:360px}.recent-list{display:flex;flex-direction:column;gap:.25rem}.recent-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border);transition:padding-left .3s var(--ease-out)}.recent-item:last-child{border-bottom:none}.recent-item:hover{padding-left:.5rem}.recent-item-name{font-weight:600;font-size:.95rem}.recent-item-date{font-size:.82rem;color:var(--muted-foreground)}.recent-item-spacer{flex:1}.reminder-list{display:flex;flex-direction:column;gap:.75rem}.reminder-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;transition:border-color .3s var(--ease-out),transform .3s var(--ease-out)}.reminder-card:hover{border-color:var(--accent);transform:translate(4px)}.reminder-header{display:flex;align-items:center;gap:.6rem}.reminder-channel{font-size:1rem;flex-shrink:0}.reminder-ref{font-weight:600;font-size:.9rem;color:var(--foreground)}.reminder-spacer{flex:1}.reminder-date{font-size:.8rem;color:var(--muted-foreground);flex-shrink:0}.reminder-message{margin-top:.75rem;font-size:.92rem;color:var(--foreground);line-height:1.55;padding:.7rem 1rem;background:var(--background-soft);border-radius:var(--radius);border-left:2px solid var(--accent)}.reminder-footer{display:flex;align-items:center;gap:1rem;margin-top:.65rem;flex-wrap:wrap}.reminder-tone{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.reminder-tone-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.reminder-response{font-size:.82rem;color:var(--muted-foreground);font-style:italic}@media (max-width: 768px){.navbar{padding:1rem 1.25rem}.navbar.scrolled{padding:.6rem 1.25rem}.navbar-brand{font-size:.95rem}.nav-link{padding:.4rem .7rem;font-size:.82rem}.navbar-right{gap:.75rem}.page-container{padding:1.5rem 1.25rem 4rem}.page-container:before{left:1.25rem}.page-content{padding-left:1.5rem}.home-hero{padding:2.5rem 0 1.5rem}.next-card{padding:1.75rem 1.25rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.75rem}.timeline-item{flex-wrap:wrap;gap:1rem;padding:1rem}.hero-crescent{display:none}.cta-row{flex-direction:column}.btn{justify-content:center}}:root{--background: #FDFBF7;--background-soft: #F8F4ED;--foreground: #2E221C;--card: #FFFDFA;--card-foreground: #2E221C;--popover: #FFFDFA;--popover-foreground: #2E221C;--primary: #C89940;--primary-foreground: #FDFBF7;--secondary: #F8F4ED;--secondary-foreground: #2E221C;--muted: #F4EFE6;--muted-foreground: #8A7B6E;--accent: #C89940;--accent-foreground: #FDFBF7;--destructive: #C45A3E;--destructive-foreground: #FDFBF7;--border: #E8E2D5;--input: #E8E2D5;--ring: #C89940;--status-done: #6B8E5A;--status-done-bg: #EEF2E8;--status-pending: #C89940;--status-pending-bg: #FAF3E5;--status-overdue: #C45A3E;--status-overdue-bg: #FAEDE8;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}.dark{--background: #1A1410;--background-soft: #1F1812;--foreground: #F5F0E8;--card: #241D17;--card-foreground: #F5F0E8;--popover: #241D17;--popover-foreground: #F5F0E8;--primary: #D4A94E;--primary-foreground: #1A1410;--secondary: #2A2118;--secondary-foreground: #F5F0E8;--muted: #2A2118;--muted-foreground: #9A8B7E;--accent: #D4A94E;--accent-foreground: #1A1410;--destructive: #D06848;--destructive-foreground: #FDFBF7;--border: #332A20;--input: #332A20;--ring: #D4A94E;--status-done: #8AAB78;--status-done-bg: #2A3024;--status-pending: #D4A94E;--status-pending-bg: #2E2618;--status-overdue: #D06848;--status-overdue-bg: #2E1E18}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .4s var(--ease-out),color .4s var(--ease-out)}#root{min-height:100vh}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--accent-foreground)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}
