*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Fraunces", "Times New Roman", Georgia, serif;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:900;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--accent:#f59e0b;--accent-strong:#d97706;--accent-soft:#f59e0b1f;--accent-glow:#f59e0b59;--teal:#0d9488;--teal-strong:#0f766e;--teal-soft:#0d94881f;--rust:#c2410c;--success:#65a30d;--success-soft:#65a30d26;--warning:#ea580c;--warning-soft:#ea580c26;--error:#dc2626;--error-soft:#dc262626;--info:#0891b2;--info-soft:#0891b226;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.15s;--t-base:.22s;--t-slow:.4s;--max-width:1240px;--header-height:80px;--skeleton-base:#ffffff0d;--skeleton-shimmer:#ffffff1f}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0d;--bg-elevated:#161614;--surface:#1c1c19;--surface-2:#26261f;--surface-3:#34332b;--text:#f5f0eb;--text-muted:#a8a39d;--text-subtle:#6b6764;--border:#ffffff14;--border-strong:#ffffff29;--border-accent:#f59e0b59;--noise-opacity:.04;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 16px 48px #0009;--shadow-glow:0 0 32px #f59e0b40;--digit-bg:linear-gradient(180deg, #1c1c19 0%, #131310 50%, #1c1c19 100%);--digit-shadow:inset 0 1px 0 #ffffff0f, inset 0 -1px 0 #0006, 0 2px 8px #00000080;--skeleton-base:#ffffff0a;--skeleton-shimmer:#ffffff1a}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafaf9;--bg-elevated:#fff;--surface:#f5f4f1;--surface-2:#ebe9e3;--surface-3:#d8d4ca;--text:#1c1917;--text-muted:#57534e;--text-subtle:#8a8580;--border:#1c19171a;--border-strong:#1c191738;--border-accent:#d9770680;--noise-opacity:.025;--shadow-sm:0 1px 2px #1c191714;--shadow-md:0 4px 16px #1c19171f;--shadow-lg:0 16px 48px #1c19172e;--shadow-glow:0 0 32px #f59e0b4d;--digit-bg:linear-gradient(180deg, #1c1917 0%, #0f0d0c 50%, #1c1917 100%);--digit-shadow:inset 0 1px 0 #ffffff1a, inset 0 -1px 0 #0000004d, 0 4px 16px #1c191740;--skeleton-base:#1c19170f;--skeleton-shimmer:#1c19171f}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-weight:var(--weight-regular);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);transition:background-color var(--t-base) var(--ease-out), color var(--t-base) var(--ease-out);line-height:1.5;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;z-index:0;position:fixed;inset:0}body:before{background:radial-gradient(ellipse 80% 50% at 0% 0%, var(--accent-soft) 0%, transparent 60%), radial-gradient(ellipse 60% 40% at 100% 100%, var(--teal-soft) 0%, transparent 60%);opacity:.6;z-index:-2;transition:opacity var(--t-slow) var(--ease-out)}body:after{opacity:var(--noise-opacity);z-index:-1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/></svg>")}#app{max-width:var(--max-width);padding:var(--space-6) var(--space-5) var(--space-20);z-index:1;margin:0 auto;position:relative;overflow-x:hidden}#confetti-canvas{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;inset:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:#0d0d0d;padding:var(--space-3) var(--space-5);border-radius:0 0 var(--radius-md) var(--radius-md);font-weight:var(--weight-bold);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;z-index:10000;transition:transform var(--t-base) var(--ease-out);font-size:.8rem;text-decoration:none;position:absolute;top:0;left:50%;transform:translate(-50%,-150%)}.skip-link:focus-visible{outline:none;transform:translate(-50%)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-header{padding:var(--space-6) 0 var(--space-10);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex;position:relative}.app-header:after{content:"";left:0;right:0;bottom:var(--space-5);background:linear-gradient(90deg, transparent, var(--border-strong) 20%, var(--border-strong) 80%, transparent);height:1px;position:absolute}.brand{align-items:baseline;gap:var(--space-3);color:var(--text);text-decoration:none;display:flex}.brand-mark{width:32px;height:32px;color:var(--accent);flex-shrink:0;transform:translateY(4px)}.brand-wordmark{font-family:var(--font-display);font-weight:var(--weight-black);letter-spacing:-.02em;font-variation-settings:"opsz" 96, "SOFT" 0, "WONK" 1;text-shadow:0 2px 0 var(--border);font-size:clamp(1.75rem,4vw,2.5rem);font-style:italic;line-height:1}.brand-wordmark:after{content:".";color:var(--accent);font-style:normal}.brand-meta{font-family:var(--font-mono);font-size:.65rem;font-weight:var(--weight-medium);color:var(--text-subtle);letter-spacing:.15em;text-transform:uppercase;display:none}@media (width>=768px){.brand-meta{display:block}}.app-nav{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.nav-btn{font-family:var(--font-sans);font-weight:var(--weight-medium);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;letter-spacing:.02em;align-items:center;gap:var(--space-2);touch-action:manipulation;min-height:44px;transition:color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);background:0 0;font-size:.875rem;display:inline-flex}.nav-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.nav-btn:active{transform:scale(.97)}.nav-btn[aria-pressed=true],.nav-btn.active{color:var(--text);background:var(--surface);border-color:var(--border-strong);box-shadow:inset 0 -2px 0 var(--accent)}.nav-btn svg{flex-shrink:0;width:16px;height:16px}.btn-create{background:var(--accent);color:#0d0d0d;border-color:var(--accent-strong);font-weight:var(--weight-semibold);box-shadow:0 1px 0 #ffffff26 inset, var(--shadow-sm)}.btn-create:hover{background:var(--accent-strong);color:#0d0d0d;border-color:var(--accent-strong);box-shadow:0 1px 0 #ffffff26 inset, var(--shadow-md), var(--shadow-glow);transform:translateY(-1px)}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;width:44px;height:44px;color:var(--text-muted);touch-action:manipulation;transition:all var(--t-base) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.theme-toggle:hover{color:var(--accent);border-color:var(--border-strong);background:var(--surface)}.theme-toggle svg{width:18px;height:18px;transition:transform var(--t-slow) var(--ease-spring)}.theme-toggle .sun{display:none}.theme-toggle .moon,[data-theme=light] .theme-toggle .sun{display:block}[data-theme=light] .theme-toggle .moon{display:none}.theme-toggle:hover svg{transform:rotate(45deg)scale(1.1)}.view-container{animation:view-enter var(--t-slow) var(--ease-out) both}@keyframes view-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.dashboard{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));display:grid}.dashboard.compact{gap:var(--space-2);grid-template-columns:1fr}.view-meta{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);display:flex}.view-meta h2{font-family:var(--font-display);font-weight:var(--weight-black);letter-spacing:-.02em;font-variation-settings:"opsz" 96;font-size:clamp(1.5rem,3vw,2rem);line-height:1}.view-meta .count{font-family:var(--font-mono);color:var(--text-subtle);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.view-meta .count b{color:var(--accent);font-weight:var(--weight-bold)}.event-card{--card-color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);isolation:isolate;transition:border-color var(--t-base) var(--ease-out), transform var(--t-base) var(--ease-out), box-shadow var(--t-base) var(--ease-out);position:relative;overflow:hidden}@keyframes card-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.event-card:before{content:"";background:var(--card-color);width:3px;transition:width var(--t-base) var(--ease-out);position:absolute;top:0;bottom:0;left:0}.event-card:after{content:"";opacity:.06;mix-blend-mode:overlay;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/></svg>");position:absolute;inset:0}.event-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-4px)}.event-card:hover:before{width:6px}.event-card.urgency-critical{border-color:var(--error);box-shadow:0 0 0 1px var(--error-soft), 0 4px 24px #dc262626}.event-card.urgency-critical.card-visible{animation:card-enter var(--t-slow) var(--ease-out) forwards, critical-pulse 2.4s ease-in-out infinite;animation-delay:calc(var(--i,0) * 60ms), .8s}@keyframes critical-pulse{0%,to{box-shadow:0 0 0 1px var(--error-soft), 0 4px 24px #dc262626}50%{box-shadow:0 0 0 2px var(--error-soft), 0 4px 32px #dc26264d}}.card-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.card-icon{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:inline-flex;position:relative}.card-icon:after{content:"";border-radius:inherit;background:var(--card-color);opacity:.08;mix-blend-mode:overlay;position:absolute;inset:0}.card-title{min-width:0;font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:-.01em;text-overflow:ellipsis;font-variation-settings:"opsz" 36;flex:1;font-size:1.35rem;line-height:1.2;overflow:hidden}.card-category{font-family:var(--font-mono);font-size:.65rem;font-weight:var(--weight-medium);color:var(--text-subtle);background:var(--surface-2);border:1px solid var(--border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.card-countdown{justify-content:center;align-items:flex-start;gap:var(--space-1);margin:var(--space-5) 0;display:flex}.digit-group{align-items:center;gap:var(--space-2);flex-direction:column;flex:1;display:flex}.digit{font-family:var(--font-mono);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;background:var(--digit-bg);color:#f5f0eb;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-align:center;width:100%;min-width:64px;box-shadow:var(--digit-shadow);transition:transform var(--t-fast) var(--ease-out);font-size:clamp(1.75rem,5vw,2.75rem);line-height:1;position:relative}.digit:after{content:"";pointer-events:none;background:#00000080;height:1px;position:absolute;top:50%;left:4px;right:4px}.digit.flip-anim{animation:digit-flip .3s var(--ease-out)}@keyframes digit-flip{0%{filter:brightness(1.3);transform:perspective(300px)rotateX(-25deg)scale(1.04)}50%{transform:perspective(300px)rotateX(8deg)scale(.98)}to{filter:brightness();transform:perspective(300px)rotateX(0)scale(1)}}.digit-sep{font-family:var(--font-mono);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:var(--weight-bold);color:var(--accent);padding:var(--space-3) 0;align-self:flex-start;animation:1.6s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,50%,to{opacity:1;transform:scale(1)}25%{opacity:.75;transform:scale(.92)}35%{opacity:1;transform:scale(1)}45%{opacity:.8;transform:scale(.94)}}.digit-label{font-family:var(--font-mono);font-size:.6rem;font-weight:var(--weight-medium);color:var(--text-subtle);letter-spacing:.18em;text-transform:uppercase}.done-text{font-family:var(--font-display);font-style:italic;font-weight:var(--weight-black);text-align:center;color:var(--accent);letter-spacing:-.02em;padding:var(--space-4) 0;animation:done-bounce .8s var(--ease-spring);font-variation-settings:"opsz" 96;font-size:2rem}.done-text small{font-family:var(--font-sans);font-size:.8rem;font-style:normal;font-weight:var(--weight-medium);color:var(--text-muted);letter-spacing:.05em;margin-top:var(--space-2);display:block}@keyframes done-bounce{0%{opacity:0;transform:scale(.7)}50%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.card-footer{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);display:flex}.card-target-date{font-family:var(--font-mono);color:var(--text-subtle);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.card-actions{gap:var(--space-1);display:flex}.btn-icon{border-radius:var(--radius-md);cursor:pointer;padding:var(--space-2);min-width:36px;min-height:36px;color:var(--text-muted);touch-action:manipulation;transition:color var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{color:var(--accent);background:var(--surface-2);border-color:var(--border)}.btn-icon:active{transform:scale(.92)}.btn-icon[data-action=delete]:hover{color:var(--error)}.btn-icon svg{width:16px;height:16px}.badge{font-family:var(--font-mono);font-size:.65rem;font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:var(--space-1);display:inline-flex}.badge.repeat{color:var(--teal);background:var(--teal-soft);border-color:var(--teal)}.badge svg{width:12px;height:12px}.compact .event-card{padding:var(--space-3) var(--space-4)}.compact .event-card:before{width:2px}.card-compact{align-items:center;gap:var(--space-3);display:flex}.card-compact .card-icon{width:32px;height:32px;font-size:1.1rem}.card-compact .card-title{font-size:1rem;font-family:var(--font-sans);font-weight:var(--weight-semibold);flex:1}.card-compact .card-time{font-family:var(--font-mono);font-weight:var(--weight-bold);color:var(--accent);font-variant-numeric:tabular-nums;font-size:.9rem}.card-compact .card-time.past{color:var(--success);font-style:italic}.form-overlay{padding:var(--space-4) 0}.form-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8);max-width:560px;margin:0 auto;position:relative;overflow:hidden}.form-card:before{content:"";opacity:.04;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/></svg>");position:absolute;inset:0}.form-card>*{position:relative}.form-eyebrow{font-family:var(--font-mono);color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-2);font-size:.7rem}.form-card h2{font-family:var(--font-display);font-style:italic;font-weight:var(--weight-black);letter-spacing:-.02em;margin-bottom:var(--space-8);font-variation-settings:"opsz" 96;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1}.form-field{margin-bottom:var(--space-5)}.form-field label{font-family:var(--font-mono);font-size:.7rem;font-weight:var(--weight-medium);color:var(--text-muted);margin-bottom:var(--space-2);letter-spacing:.12em;text-transform:uppercase;display:block}.form-field .field-required{color:var(--accent);margin-left:2px}.form-field input[type=text],.form-field input[type=datetime-local],.form-field select{width:100%;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);font-size:1rem;font-weight:var(--weight-medium);min-height:44px;transition:border-color var(--t-fast) var(--ease-out), box-shadow var(--t-base) var(--ease-out), background-color var(--t-fast) var(--ease-out)}.form-field input[type=text]::placeholder{color:var(--text-subtle)}.form-field input:focus,.form-field select:focus{border-color:var(--accent);background:var(--bg-elevated);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.form-field input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 4px var(--error-soft)}.form-field input[type=color]{cursor:pointer;border-radius:var(--radius-md);width:56px;height:44px;padding:4px}.form-row{align-items:center;gap:var(--space-3);display:flex}.form-row label{align-items:center;gap:var(--space-3);cursor:pointer;color:var(--text);font-family:var(--font-sans);text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:var(--weight-medium);margin-bottom:0;display:flex}.form-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.color-field{align-items:center;gap:var(--space-3);display:flex}.color-preview{border-radius:var(--radius-md);background:var(--current-color,var(--accent));border:1px solid var(--border);flex:1;height:44px;position:relative}.form-actions{gap:var(--space-3);margin-top:var(--space-8);display:flex}.btn{font-family:var(--font-sans);font-weight:var(--weight-semibold);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;letter-spacing:.01em;touch-action:manipulation;justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;transition:background-color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), box-shadow var(--t-base) var(--ease-out);border:1px solid #0000;font-size:.95rem;display:inline-flex}.btn:active{transform:scale(.97)}.btn-save{background:var(--accent);color:#0d0d0d;border-color:var(--accent-strong);flex:1}.btn-save:hover{background:var(--accent-strong);box-shadow:var(--shadow-md), var(--shadow-glow)}.btn-cancel{color:var(--text-muted);border-color:var(--border);background:0 0}.btn-cancel:hover{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.archive{gap:var(--space-3);flex-direction:column;display:flex}.archive-card{--card-color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);position:relative;overflow:hidden}.archive-card:before{content:"";background:var(--card-color);opacity:.6;width:3px;position:absolute;top:0;bottom:0;left:0}.archive-card:hover{border-color:var(--border-strong)}.archive-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.archive-header .card-icon{width:32px;height:32px;font-size:1.1rem}.archive-header h3{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:-.01em;flex:1;font-size:1.15rem}.archive-date{font-family:var(--font-mono);color:var(--text-subtle);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-size:.7rem}.archive-memory{font-family:var(--font-display);color:var(--text-muted);padding:var(--space-3);margin-bottom:var(--space-3);border-left:2px solid var(--border-strong);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-variation-settings:"opsz" 24;font-size:.95rem;font-style:italic}.archive-actions{gap:var(--space-2);align-items:center;display:flex}.memory-input{padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-sans);min-height:36px;transition:border-color var(--t-fast) var(--ease-out), box-shadow var(--t-base) var(--ease-out);flex:1;font-size:.875rem}.memory-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.empty-state{text-align:center;padding:var(--space-16) var(--space-5);align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.empty-art{width:180px;height:180px;color:var(--text-subtle);margin-bottom:var(--space-2)}.empty-art .accent{color:var(--accent)}.empty-state .empty-eyebrow{font-family:var(--font-mono);color:var(--accent);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem}.empty-state h2{font-family:var(--font-display);font-style:italic;font-weight:var(--weight-black);letter-spacing:-.02em;color:var(--text);font-variation-settings:"opsz" 96;max-width:420px;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.1}.empty-state p{color:var(--text-muted);max-width:420px;font-size:1rem;line-height:1.5}.empty-state .btn{margin-top:var(--space-4)}.skeleton-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));display:grid}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);min-height:280px;position:relative;overflow:hidden}.skeleton-card:before{content:"";background:var(--skeleton-base);width:3px;position:absolute;top:0;bottom:0;left:0}.skeleton-bar{background:var(--skeleton-base);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton-bar:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer) 50%, transparent 100%);animation:1.6s linear infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-card .sk-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.skeleton-card .sk-icon{border-radius:var(--radius-md);background:var(--skeleton-base);flex-shrink:0;width:44px;height:44px;position:relative;overflow:hidden}.skeleton-card .sk-icon:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer) 50%, transparent 100%);animation:1.6s linear infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-card .sk-title{flex:1;height:22px}.skeleton-card .sk-badge{border-radius:var(--radius-sm);background:var(--skeleton-base);width:64px;height:18px}.skeleton-card .sk-digits{gap:var(--space-1);margin:var(--space-5) 0;justify-content:center;display:flex}.skeleton-card .sk-digit{border-radius:var(--radius-md);flex:1;height:80px}.skeleton-card .sk-footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.skeleton-card .sk-date{width:120px;height:14px}.skeleton-card .sk-actions{gap:var(--space-1);display:flex}.skeleton-card .sk-action{border-radius:var(--radius-md);width:32px;height:32px}.toast-region{top:calc(var(--space-5) + env(safe-area-inset-top));right:calc(var(--space-5) + env(safe-area-inset-right));z-index:10001;gap:var(--space-3);max-width:calc(100vw - var(--space-10));pointer-events:none;flex-direction:column-reverse;width:360px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);padding-left:var(--space-12);font-family:var(--font-sans);font-size:.9rem;font-weight:var(--weight-medium);color:var(--text);box-shadow:var(--shadow-lg);gap:var(--space-1);animation:toast-in .32s var(--ease-spring);flex-direction:column;display:flex;position:relative;overflow:hidden}.toast.toast-out{animation:toast-out .24s var(--ease-in-out) forwards}@keyframes toast-in{0%{opacity:0;transform:translate(120%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out{to{opacity:0;transform:translate(120%)scale(.95)}}.toast-icon{left:var(--space-4);top:var(--space-4);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:absolute}.toast-icon svg{width:18px;height:18px}.toast-title{font-family:var(--font-sans);font-weight:var(--weight-semibold);letter-spacing:-.01em}.toast-message{color:var(--text-muted);font-size:.85rem}.toast-close{top:var(--space-2);right:var(--space-2);cursor:pointer;color:var(--text-subtle);padding:var(--space-1);border-radius:var(--radius-sm);touch-action:manipulation;width:28px;height:28px;transition:color var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.toast-close:hover{color:var(--text);background:var(--surface)}.toast-close svg{width:14px;height:14px}.toast-progress{background:var(--accent);transform-origin:0;height:2px;animation:linear forwards toast-progress;position:absolute;bottom:0;left:0}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast.success{border-color:var(--success)}.toast.success .toast-icon{color:var(--success);background:var(--success-soft)}.toast.success .toast-progress{background:var(--success)}.toast.error{border-color:var(--error)}.toast.error .toast-icon{color:var(--error);background:var(--error-soft)}.toast.error .toast-progress{background:var(--error)}.toast.warning{border-color:var(--warning)}.toast.warning .toast-icon{color:var(--warning);background:var(--warning-soft)}.toast.warning .toast-progress{background:var(--warning)}.toast.info{border-color:var(--info)}.toast.info .toast-icon{color:var(--info);background:var(--info-soft)}.toast.info .toast-progress{background:var(--info)}.live-region{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (width<=1024px){.dashboard{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media (width<=768px){#app{padding:calc(var(--space-4) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-20) + var(--space-12)) calc(var(--space-4) + env(safe-area-inset-left))}.app-header{padding:var(--space-2) 0 var(--space-6);gap:var(--space-3)}.brand-wordmark{font-size:1.75rem}.dashboard,.skeleton-grid{gap:var(--space-4);grid-template-columns:1fr}.event-card{padding:var(--space-5)}.digit{padding:var(--space-2) var(--space-3);min-width:56px}.form-card{padding:var(--space-6) var(--space-5)}.form-overlay{z-index:100;animation:sheet-in .38s var(--ease-spring);-webkit-overflow-scrolling:touch;background:var(--bg-elevated);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:92dvh;box-shadow:var(--shadow-lg);border-top:1px solid var(--border-strong);padding:0;position:fixed;inset:auto 0 0;overflow-y:auto}.form-overlay:before{content:"";background:var(--border-strong);border-radius:var(--radius-full);width:40px;height:4px;margin:var(--space-3) auto var(--space-1);display:block;position:sticky;top:0}.form-card{max-width:100%;padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom));background:0 0;border:none;border-radius:0;margin:0}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.app-nav{z-index:50;padding:var(--space-3) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-4) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);justify-content:space-around;gap:var(--space-2);background:#0d0d0dd9;position:fixed;bottom:0;left:0;right:0}[data-theme=light] .app-nav{background:#fafaf9eb}.app-nav .nav-btn{min-height:48px;padding:var(--space-2) var(--space-2);flex:1;justify-content:center;font-size:.8rem}.toast-region{width:calc(100vw - var(--space-6));max-width:400px;right:var(--space-3);top:calc(var(--space-3) + env(safe-area-inset-top))}}@media (width<=480px){.digit{padding:var(--space-2) var(--space-2);min-width:44px;font-size:1.5rem}.card-countdown{gap:2px}.digit-sep{padding:var(--space-2) 0;font-size:1.25rem}.card-header{flex-wrap:wrap}.card-category{order:3}.form-actions{flex-direction:column-reverse}.btn{width:100%}.card-actions{gap:var(--space-2)}.btn-icon{min-width:44px;min-height:44px;padding:var(--space-3)}}@media (width<=360px){#app{padding-left:calc(var(--space-3) + env(safe-area-inset-left));padding-right:calc(var(--space-3) + env(safe-area-inset-right))}.event-card{padding:var(--space-4)}.card-header{gap:var(--space-2)}.card-icon{width:36px;height:36px;font-size:1.2rem}.card-title{font-size:1.1rem}.digit{padding:var(--space-1) var(--space-1);min-width:36px;font-size:1.25rem}.digit-sep{padding:var(--space-1) 0;font-size:1rem}.digit-label{font-size:.55rem}.card-footer{gap:var(--space-2);flex-wrap:wrap}.card-actions{justify-content:flex-end;width:100%}.brand-wordmark{font-size:1.4rem}.view-meta h2{font-size:1.25rem}.app-nav .nav-btn{min-height:44px;padding:var(--space-2) var(--space-1);font-size:.7rem}.app-nav .nav-btn span{display:none}.form-card h2{font-size:1.5rem}}@media (orientation:landscape) and (height<=500px){#app{padding-top:var(--space-3);padding-bottom:calc(var(--space-16) + env(safe-area-inset-bottom))}.app-header{padding:var(--space-2) 0 var(--space-4)}.dashboard{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.event-card{padding:var(--space-4)}.card-countdown{margin:var(--space-3) 0}.digit{padding:var(--space-2) var(--space-2);font-size:1.5rem}.empty-state{padding:var(--space-8) var(--space-4)}.empty-art{width:100px;height:100px}.form-overlay{max-height:100dvh}.app-nav{padding-top:var(--space-2);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom))}.app-nav .nav-btn{min-height:40px}}@media (resolution>=200dpi){.brand-mark,.btn-icon svg,.nav-btn svg,.empty-art{shape-rendering:geometricprecision}}@supports (font-size:clamp(1rem, 1vw, 2rem)){.card-countdown{overflow:hidden}.digit-group{min-width:0}}.pull-indicator{top:calc(env(safe-area-inset-top) + var(--space-2));z-index:9998;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);width:40px;height:40px;box-shadow:var(--shadow-md);transition:transform .2s var(--ease-out), opacity .2s var(--ease-out);opacity:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(-60px)}.pull-indicator.visible{opacity:1}.pull-indicator.refreshing svg{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pull-indicator svg{width:20px;height:20px;color:var(--accent);transition:transform .2s var(--ease-out)}@media print{body:before,body:after,#confetti-canvas,.app-nav,.toast-region,.pull-indicator,.theme-toggle,.btn-create,.card-actions,.archive-actions,.form-overlay{display:none!important}body{font-size:11pt;line-height:1.4;color:#1c1917!important;background:#fff!important;padding:0!important}#app{max-width:100%!important;padding:0!important}.app-header{margin-bottom:12pt;border-bottom:1pt solid #ccc!important;padding:0 0 12pt!important}.app-header:after{display:none!important}.brand-wordmark{color:#1c1917!important;font-size:18pt!important}.event-card,.archive-card{break-inside:avoid;page-break-inside:avoid;margin-bottom:8pt;box-shadow:none!important;opacity:1!important;background:#fff!important;border:1pt solid #ddd!important;padding:12pt!important;animation:none!important;transform:none!important}.event-card:before,.event-card:after,.archive-card:before{display:none!important}.dashboard{display:block!important}.digit{color:#1c1917!important;box-shadow:none!important;background:#f5f5f5!important;border:1pt solid #ddd!important}.digit:after{display:none!important}.card-title,.card-category,.card-target-date,.digit-label{color:#1c1917!important}a{color:inherit!important;text-decoration:none!important}.view-container{opacity:1!important;animation:none!important;transform:none!important}}.event-card,.archive-card{contain:layout style}.skeleton-card{contain:layout style paint}.toast{contain:layout style}.card-countdown{contain:layout}.event-card{min-height:240px}.compact .event-card{min-height:56px}.card-icon{aspect-ratio:1;width:44px;height:44px}.compact .card-icon{width:32px;height:32px}.brand-mark{aspect-ratio:1;width:32px;height:32px}.nav-btn svg,.btn-icon svg{aspect-ratio:1;width:16px;height:16px}.empty-art{aspect-ratio:1;width:180px;height:180px}.digit{min-height:52px}.skeleton-card{min-height:280px}#confetti-canvas{width:100%;height:100%}.event-card{opacity:0;transform:translateY(20px)}.event-card.card-visible{animation:card-enter var(--t-slow) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 60ms)}.compact .event-card{opacity:0;transform:translateY(10px)}.compact .event-card.card-visible{animation:card-enter var(--t-slow) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 30ms)}.archive-card{opacity:0}.archive-card.card-visible{animation:card-enter var(--t-slow) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 40ms)}
