@font-face{font-family:iA Writer Duo S;src:url(/fonts/iAWriterDuoS-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:iA Writer Duo S;src:url(/fonts/iAWriterDuoS-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:iA Writer Duo S;src:url(/fonts/iAWriterDuoS-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:iA Writer Duo S;src:url(/fonts/iAWriterDuoS-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--color-bg:#f8f5f0;--color-text:#1a1a1a;--color-text-secondary:#8a7568;--color-surface:#f0ede8;--color-surface-raised:#eae6e0;--color-border:#e2ddd8;--color-accent:#c4832a;--color-accent-muted:#e8d5b0;--color-accent-text:#8a5010;--color-danger:#c0392b;--font-body:"iA Writer Duo S", "SF Mono", "Cascadia Code", "Fira Code", monospace;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--leading-tight:1.3;--leading-normal:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--measure:680px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition:.28s ease-out;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d, 0 2px 4px #0000000a}@media (prefers-color-scheme:dark){:root{--color-bg:#161412;--color-text:#e8e4df;--color-text-secondary:#7a7268;--color-surface:#201d1a;--color-surface-raised:#2a2622;--color-border:#302c28;--color-accent:#d4923a;--color-accent-muted:#3a2e1e;--color-accent-text:#d4923a;--color-danger:#e05545;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px #0000004d, 0 2px 4px #0003}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:var(--measure);min-height:100dvh;margin:0 auto}.date-form,.settings,.list-container{padding:calc(48px + var(--space-4)) var(--space-4) calc(64px + var(--space-6))}input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit}input,select,textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;transition:border-color var(--transition)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238A7568' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}textarea{resize:vertical;min-height:100px;line-height:var(--leading-normal)}label{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.04em;font-weight:500;display:block}button{cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition);border:none}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary{background:var(--color-accent);color:#fff;padding:var(--space-3) var(--space-6);font-family:var(--font-ui);font-weight:600;font-size:var(--text-sm)}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-6);font-family:var(--font-ui);font-weight:500;font-size:var(--text-sm);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-raised)}.btn-danger{color:var(--color-danger);padding:var(--space-3) var(--space-6);font-family:var(--font-ui);font-weight:500;font-size:var(--text-sm);background:0 0}.btn-danger:hover{background:var(--color-surface)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.loading{min-height:50dvh;color:var(--color-text-secondary);justify-content:center;align-items:center;font-style:italic;display:flex}.folder-picker{text-align:center;justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;min-height:70dvh;display:flex}.folder-picker-title{font-family:var(--font-body);font-size:var(--text-2xl);letter-spacing:-.01em;font-weight:400}.folder-picker-desc{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);max-width:360px}.app-header{padding:var(--space-3) var(--space-4);background:var(--color-bg);z-index:50;max-width:var(--measure);justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:fixed;top:0;left:0;right:0}.app-title{font-family:var(--font-body);font-size:var(--text-xl);letter-spacing:-.01em;font-weight:400}.empty-state{text-align:center;padding:var(--space-16) 0;color:var(--color-text-secondary);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-state-hint{font-size:var(--text-sm);margin-top:var(--space-2)}.list-view{flex-direction:column;display:flex}.date-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-2);text-align:left;border-radius:var(--radius-md);border-bottom:1px solid var(--color-border);background:0 0;width:100%;display:flex}.date-row:last-child{border-bottom:none}.date-row:hover{background:var(--color-surface)}.date-row--notify{font-weight:700}.date-row-main{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.date-row-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.date-row-countdown{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:400}.date-row-type{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0}.past-divider{padding:var(--space-8) 0 var(--space-4);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em}.horizon{position:fixed;inset:0 0 52px;overflow:hidden}.horizon-gridline{border-top:1px solid color-mix(in srgb, var(--color-accent) 20%, transparent);height:0;position:absolute;left:0;right:0}.horizon-gridline-label{right:var(--space-3);font-family:var(--font-ui);color:var(--color-accent);opacity:.5;text-transform:uppercase;letter-spacing:.06em;font-size:9px;line-height:1;position:absolute;bottom:3px}.horizon-today{border-top:1px solid color-mix(in srgb, var(--color-text-secondary) 30%, transparent);height:0;position:absolute;left:0;right:0}.horizon-today-label{right:var(--space-3);font-family:var(--font-ui);color:var(--color-text-secondary);opacity:.7;text-transform:uppercase;letter-spacing:.06em;font-size:9px;line-height:1;position:absolute;bottom:3px}.horizon-snap-today{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-1) var(--space-4);letter-spacing:.04em;opacity:.85;z-index:10;transition:opacity var(--transition);border-radius:999px;position:absolute;bottom:calc(18% - 8px);left:50%;transform:translate(-50%)}.horizon-snap-today:hover{opacity:1;background:var(--color-surface-raised)}.horizon-entry{text-align:left;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);line-height:var(--leading-tight);white-space:nowrap;text-overflow:ellipsis;background:0 0;max-width:100%;position:absolute;overflow:hidden}.horizon-entry:hover{background:var(--color-surface)}.horizon-entry--notify{font-weight:700}.horizon-entry-title{text-overflow:ellipsis;display:block;overflow:hidden}.horizon-entry-countdown{font-family:var(--font-ui);color:var(--color-text-secondary);margin-top:1px;font-size:.75em;font-weight:400;display:block}.horizon-entry-type{display:none}.horizon-canvas{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.bottom-nav{justify-content:center;gap:var(--space-12);background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--space-2) 0;padding-bottom:max(var(--space-2), env(safe-area-inset-bottom));z-index:100;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-xs);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:0 0;flex-direction:column;display:flex}.bottom-nav-item:hover{color:var(--color-text)}.bottom-nav-item--active{color:var(--color-accent)}.settings{padding-top:var(--space-4)}.settings-title{font-family:var(--font-body);font-size:var(--text-2xl);letter-spacing:-.01em;margin-bottom:var(--space-8);font-weight:400}.settings-section{gap:var(--space-4);flex-direction:column;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);display:flex}.settings-label{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500}.settings-hint{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.date-form{gap:var(--space-6);flex-direction:column;display:flex}.form-header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.form-title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:400}.form-field{flex-direction:column;display:flex}.form-delete{padding-top:var(--space-6);border-top:1px solid var(--color-border)}.delete-confirm{align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}
