@layer reset,tokens,base,layout,components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,p,ul,ol,figure,fieldset{margin:0}ul[class],ol[class]{list-style:none;padding:0}fieldset{border:0;padding:0;min-width:0}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse}}@layer tokens{:root{color-scheme:light dark;--bg: #faf6f0;--surface: #ffffff;--surface-2: #f3ece2;--text: #1f1a17;--muted: #675d55;--border: #e2d8ca;--accent: #8f1d2c;--accent-strong: #6f1522;--on-accent: #ffffff;--dayoff: #b0271f;--dayoff-bg: #fbe9e6;--feast: #7d5700;--feast-dot: #c9941a;--feast-bg: #fbf1dc;--fast: #6a4bb0;--fast-bg: rgb(106 75 176 / .1);--event: #1a4fa3;--birthday: #8f2459;--task: #236128;--focus: #1d5bb8;--danger: #a3261d;--shadow: 0 1px 2px rgb(40 25 10 / .06), 0 4px 16px rgb(40 25 10 / .06);--radius: 14px;--radius-small: 8px;--font: system-ui, -apple-system, "Segoe UI", "Noto Sans Georgian", "Noto Sans", "BPG Arial", "Sylfaen", Roboto, "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #16120f;--surface: #201b17;--surface-2: #2a241f;--text: #f1ebe4;--muted: #b8ada1;--border: #3b332c;--accent: #ff9aa8;--accent-strong: #ffc2cb;--on-accent: #2b0a10;--dayoff: #ff968c;--dayoff-bg: #3a1c19;--feast: #f0c35c;--feast-dot: #f0c35c;--feast-bg: #362a12;--fast: #c1adf0;--fast-bg: rgb(193 173 240 / .12);--event: #93bbff;--birthday: #f59fc8;--task: #8fd19a;--focus: #93bbff;--danger: #ff8f85;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 4px 16px rgb(0 0 0 / .3)}}}@layer base{html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}main{flex:1;width:min(100% - 2rem,76rem);margin-inline:auto;padding-block:1.25rem 2.5rem}a{color:var(--accent);text-underline-offset:.18em}a:hover{color:var(--accent-strong)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3{line-height:1.25;text-wrap:balance}p{text-wrap:pretty}abbr[title]{text-decoration:none}}@layer layout{.site-header{display:flex;align-items:center;gap:1rem;width:min(100% - 2rem,76rem);margin-inline:auto;padding-block:.9rem}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--text);text-decoration:none;font-weight:700;font-size:1.2rem;letter-spacing:-.01em}.brand:hover{color:var(--text)}.site-nav{margin-inline-start:auto;display:flex;align-items:center;gap:.75rem}@media(max-width:26rem){.site-header,.site-nav{gap:.5rem}.site-nav .button{padding-inline:.8rem;font-size:.875rem}.site-header:not(.app-header) .brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.site-footer{width:min(100% - 2rem,76rem);margin-inline:auto;padding-block:1.5rem 2rem;border-top:1px solid var(--border);color:var(--muted);font-size:.875rem;display:grid;gap:.35rem}.page-title{font-size:clamp(1.35rem,1.1rem + 1.2vw,1.9rem);margin-block-end:1rem}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);gap:1.25rem;align-items:start}.side-column{display:grid;gap:1.25rem}.page-home>.card,.page-home>.notes,.page-year>.card,.view>.card,.view>.item-list,.view>.agenda{margin-block-start:1.25rem}.view>:first-child{margin-block-start:0}.page-message{display:grid;place-items:center}@media(max-width:56rem){.home-layout{grid-template-columns:minmax(0,1fr)}}}@layer components{.logo{flex:none}.logo-lid{fill:var(--accent)}.logo-jar{fill:var(--surface-2);stroke:var(--accent);stroke-width:2.5}.logo-page{fill:var(--surface)}.logo-band{fill:var(--accent)}.logo-dot{fill:var(--feast-dot)}.skip-link{position:absolute;inset-inline-start:1rem;top:-4rem;z-index:10;padding:.6rem 1rem;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-small)}.skip-link:focus{top:1rem;color:var(--on-accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.card-title{font-size:1.05rem;margin-block-end:.75rem}.muted{color:var(--muted)}.muted-link{color:var(--muted);font-size:.875rem}.lead{color:var(--muted);margin-block-end:1rem}.notes{color:var(--muted);font-size:.875rem;max-width:70ch}.button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.5rem;padding:.45rem 1rem;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;white-space:nowrap}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover{background:var(--accent-strong);color:var(--on-accent)}.button-quiet{background:transparent;border-color:var(--border);color:var(--text)}.button-quiet:hover{background:var(--surface-2);color:var(--text)}.button-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.button-danger:hover{background:var(--danger);color:var(--surface)}.button:disabled,.icon-button:disabled{opacity:.45;cursor:not-allowed}.button-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-block:.75rem}.nav-link{color:var(--text);text-decoration:none;font-weight:600;padding:.35rem .5rem;border-radius:var(--radius-small)}.nav-link:hover{background:var(--surface-2);color:var(--text)}.icon-button{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:1.4rem;line-height:1;cursor:pointer}.icon-button:hover:not(:disabled){background:var(--surface-2)}.calendar-toolbar{display:flex;align-items:center;gap:.5rem;margin-block-end:.75rem}.month-title{flex:1 1 auto;min-width:0;margin:0;font-size:clamp(1.05rem,.9rem + .8vw,1.3rem)}.toolbar-buttons{display:flex;align-items:center;gap:.35rem;flex:none}.calendar{min-height:26rem}.month{width:100%;table-layout:fixed}.month th{font-size:.8rem;font-weight:600;color:var(--muted);padding-block-end:.4rem}.month td{padding:2px;height:4.6rem;vertical-align:top}.day{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;height:100%;min-height:2.75rem;padding:.3rem .35rem;border:1px solid transparent;border-radius:var(--radius-small);background:var(--surface-2);text-align:start;cursor:pointer;overflow:hidden}.day:hover{border-color:var(--border)}.day-number{font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}.day.is-weekend{background:color-mix(in srgb,var(--surface-2) 70%,var(--dayoff-bg))}.day.is-outside{background:transparent;color:var(--muted);font-weight:400}.day.is-outside .day-number{font-weight:400}.day.is-dayoff{background:var(--dayoff-bg)}.day.is-dayoff .day-number{color:var(--dayoff)}.day.in-fast{box-shadow:inset 0 -4px 0 var(--fast-bg),inset 0 -4px color-mix(in srgb,var(--fast) 55%,transparent)}.day.is-today{border-color:var(--accent);border-width:2px}[aria-selected=true]>.day{outline:2px solid var(--text);outline-offset:-2px}.day-dots{display:none;gap:3px}.day-labels{display:grid;gap:1px;min-width:0}.label{display:block;font-size:.7rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px;padding-inline:3px}.label-dayoff{color:var(--dayoff);font-weight:600}.label-feast{color:var(--feast)}.label-event{background:color-mix(in srgb,var(--event) 14%,transparent);color:var(--event)}.label-birthday{background:color-mix(in srgb,var(--birthday) 14%,transparent);color:var(--birthday)}.label-task{background:color-mix(in srgb,var(--task) 14%,transparent);color:var(--task)}.label.is-done{text-decoration:line-through;opacity:.7}.label-more{color:var(--muted)}@media(max-width:40rem){.calendar{min-height:17rem}.month td{height:2.9rem;padding:1px}.day{align-items:center;padding:.25rem .1rem}.day-labels{display:none}.day-dots{display:flex}.day.is-dayoff .day-dots:before,.day.is-great .day-dots:after,.day.is-feast .day-dots:after,.day.has-personal .day-dots:before{content:"";width:6px;height:6px;border-radius:50%}.day.is-dayoff .day-dots:before{background:var(--dayoff)}.day.has-personal:not(.is-dayoff) .day-dots:before{background:var(--event)}.day.is-great .day-dots:after,.day.is-feast .day-dots:after{background:var(--feast-dot)}}.calendar-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-block-start:.9rem;font-size:.875rem}.toggles{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.toggle{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;min-height:1.75rem}.toggle input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.legend{display:flex;flex-wrap:wrap;gap:.35rem .9rem;color:var(--muted)}.legend li{display:inline-flex;align-items:center;gap:.35rem}.swatch{width:.8rem;height:.8rem;border-radius:3px}.swatch-dayoff{background:var(--dayoff)}.swatch-great{background:var(--feast-dot)}.swatch-feast{border:2px solid var(--feast-dot)}.swatch-fast{background:color-mix(in srgb,var(--fast) 55%,transparent)}.entry-list{display:grid;gap:.6rem}.entry{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem}.entry-name{font-weight:600}.entry-detail,.entry-date{flex-basis:100%;font-size:.85rem;color:var(--muted)}a.entry-date{text-decoration:none}a.entry-date:hover{text-decoration:underline}.badge{display:inline-block;font-size:.72rem;font-weight:600;line-height:1.4;padding:.05rem .45rem;border-radius:999px;white-space:nowrap}.badge-dayoff{background:var(--dayoff-bg);color:var(--dayoff)}.badge-great,.badge-feast{background:var(--feast-bg);color:var(--feast)}.badge-fast{background:var(--fast-bg);color:var(--fast)}.badge-event{background:color-mix(in srgb,var(--event) 14%,transparent);color:var(--event)}.badge-birthday{background:color-mix(in srgb,var(--birthday) 14%,transparent);color:var(--birthday)}.badge-task{background:color-mix(in srgb,var(--task) 14%,transparent);color:var(--task)}.feed-list{display:grid;gap:.4rem;margin-block-start:.6rem}.feed-list li{display:flex;gap:.6rem;align-items:baseline}.holiday-table{width:100%}.holiday-table th,.holiday-table td{text-align:start;padding:.55rem .5rem;border-block-end:1px solid var(--border);vertical-align:top}.holiday-table thead th{font-size:.8rem;color:var(--muted)}.holiday-table tbody th{font-weight:600}.holiday-table tbody th{overflow-wrap:anywhere}.date-cell{width:1%;white-space:nowrap}.date-cell .weekday{display:block;font-size:.85rem;color:var(--muted)}.date-cell .weekend{color:var(--dayoff)}.holiday-table .detail{display:block;font-weight:400;font-size:.85rem;color:var(--muted)}.holiday-table tr.is-selected{background:var(--surface-2)}.fast-list{display:grid;gap:.45rem}.year-nav{display:flex;justify-content:space-between;gap:1rem;margin-block:1.5rem 1rem}.year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:.6rem;margin-block-end:1.5rem}.year-grid a{display:block;padding:.7rem;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-small);font-weight:600;text-decoration:none}.prose{max-width:72ch}.prose h2{font-size:1.1rem;margin-block:1.1rem .4rem}.prose h2:first-child{margin-block-start:0}.message-card{max-width:36rem;text-align:center;display:grid;gap:.75rem;justify-items:center}.app-nav{position:fixed;inset-inline:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:.25rem 0 calc(.25rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 12px #28190a0f}.app-nav a{display:grid;justify-items:center;align-content:start;gap:.15rem;min-height:3.2rem;min-width:0;padding:.35rem .1rem;border-radius:var(--radius-small);color:var(--muted);font-size:clamp(.55rem,2.75vw,.72rem);font-weight:600;line-height:1.2;text-align:center;text-decoration:none}.app-nav a:hover{color:var(--text);background:var(--surface-2)}.app-nav a[aria-current=page]{color:var(--accent)}.nav-icon{width:1.5rem;height:1.5rem;flex:none}.add-button{margin-inline-start:auto}body.app{padding-block-end:calc(4.2rem + env(safe-area-inset-bottom,0px))}@media(min-width:56rem){.app-nav{position:static;display:flex;gap:.25rem;margin-inline-start:1rem;padding:0;background:none;border:0;box-shadow:none}.app-nav a{display:inline-flex;align-items:center;gap:.4rem;min-height:0;padding:.45rem .8rem;border-radius:999px;color:var(--text);font-size:1rem;white-space:nowrap}.app-nav a[aria-current=page]{background:var(--accent);color:var(--on-accent)}.nav-icon{width:1.15rem;height:1.15rem}body.app{padding-block-end:0}}.banner{width:min(100% - 2rem,76rem);margin:0 auto .5rem;padding:.65rem 1rem;border-radius:var(--radius-small);background:var(--dayoff-bg);color:var(--text);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.agenda{display:grid;gap:1rem}.agenda-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}.agenda-day.is-overdue{border-color:var(--dayoff)}.agenda-date{font-size:1rem;margin-block-end:.5rem}.item-list{display:grid;gap:.4rem}.item-link{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;width:100%;padding:.5rem .6rem;border:1px solid transparent;border-radius:var(--radius-small);background:var(--surface-2);text-align:start;cursor:pointer}.item-link:hover{border-color:var(--border)}.item-time{font-variant-numeric:tabular-nums;font-weight:600}.item-title{font-weight:600;min-width:0;overflow-wrap:anywhere}.item-link.is-done .item-title{text-decoration:line-through;color:var(--muted)}.task-row,.birthday-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.3rem .75rem}.birthday-row{grid-template-columns:minmax(0,1fr)}.task-check{width:1.35rem;height:1.35rem;accent-color:var(--task)}.task-due{grid-column:2;font-size:.85rem}.task-due.is-overdue{color:var(--dayoff);font-weight:600}.empty{padding:1rem 0}.form-grid{display:grid;grid-template-columns:minmax(8rem,max-content) minmax(0,1fr);gap:.75rem 1rem;align-items:center}.span-2{grid-column:1 / -1}.form-grid input:not([type=checkbox],[type=radio]),.form-grid select,.form-grid textarea,#confirm-input{width:100%;min-height:2.6rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface)}.form-grid textarea{resize:vertical}.field-error{color:var(--danger);font-size:.875rem;margin-block-start:-.4rem}.kind-picker{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.kind-picker legend{font-weight:600;margin-block-end:.35rem;float:left;width:100%}.kind-picker label{display:inline-flex;gap:.4rem;align-items:center}@media(max-width:34rem){.form-grid{grid-template-columns:minmax(0,1fr)}}.dialog{width:min(100% - 1.5rem,34rem);max-height:calc(100dvh - 2rem);padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:0 20px 60px #0000004d}.dialog::backdrop{background:#140c0873}.dialog-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-block-start:.5rem}#item-form>.dialog-actions{position:sticky;bottom:-1.25rem;margin-block-end:-1.25rem;padding-block:.75rem 1.25rem;background:var(--surface);border-block-start:1px solid var(--border)}.spacer{flex:1}.toast{position:fixed;inset-inline:0;bottom:1.25rem;width:fit-content;max-width:calc(100% - 2rem);margin-inline:auto;padding:.7rem 1.1rem;border-radius:999px;background:var(--text);color:var(--bg);font-weight:600;opacity:0;transform:translateY(.5rem);transition:opacity .2s,transform .2s;pointer-events:none}.toast.is-visible{opacity:1;transform:none}body.app .toast{bottom:calc(5rem + env(safe-area-inset-bottom,0px))}@media(min-width:56rem){body.app .toast{bottom:1.25rem}}}@layer utilities{.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none}[aria-invalid=true]{border-color:var(--danger)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none;transition:none;scroll-behavior:auto}}@media print{.site-header,.site-footer,.calendar-toolbar button,.toggles,.skip-link,.side-column>:not(:first-child){display:none}.card{box-shadow:none}}}
