.file-header{padding:calc(var(--sp-4) + var(--safe-top)) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line)}.file-header__top{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-dim);display:flex}.file-header__code{color:var(--accent)}.file-header__rule{background:repeating-linear-gradient(90deg, var(--line-strong) 0 4px, transparent 4px 7px);flex:1;height:1px}.file-header__back{min-height:var(--tap);margin:calc(var(--sp-3) * -1) 0;color:var(--text-dim);align-items:center;display:inline-flex}.file-header__row{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);margin-top:var(--sp-2);display:flex}.file-header__title{font-size:var(--fs-xl);letter-spacing:.02em;text-transform:uppercase;font-weight:700;line-height:1.1}.file-header__meta{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.page{padding:var(--sp-4);gap:var(--sp-5);flex-direction:column;display:flex}.panel__label{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;display:flex}.panel__label:before{content:"//";color:var(--accent)}.panel__label:after{content:"";background:var(--line);flex:1;height:1px}.panel__body{border:1px solid var(--line);background:var(--surface)}.kv{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3);font-size:var(--fs-sm);display:flex}.kv+.kv{border-top:1px solid var(--line)}.kv__k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.kv__v{text-align:right}.btn{min-height:var(--tap);padding:0 var(--sp-4);justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;transition:border-color .12s,background .12s;display:inline-flex}.btn:active{background:var(--line)}.btn:disabled{opacity:.4;pointer-events:none}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.btn--primary:active{background:color-mix(in srgb, var(--accent) 80%, black)}.btn--ghost{color:var(--text-dim);background:0 0;border-color:#0000}.btn--danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.btn--block{width:100%}.btn-row{gap:var(--sp-2);display:flex}.btn-row>.btn{flex:1}.empty{padding:var(--sp-6) var(--sp-4);border:1px dashed var(--line-strong);text-align:center;align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.empty__stamp{padding:var(--sp-1) var(--sp-3);border:1px solid var(--accent-line);color:var(--accent);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;display:inline-block;transform:rotate(-2deg)}.empty__text{max-width:30ch;font-size:var(--fs-sm);color:var(--text-dim)}.sheet{width:100%;max-width:var(--max-w);border:1px solid var(--line-strong);background:var(--surface);max-height:88dvh;color:var(--text);border-bottom:0;margin:auto auto 0;padding:0}.sheet::backdrop{background:#000000b3}.sheet[open]{animation:.18s ease-out sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.sheet__head{padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;display:flex}.sheet__close{min-width:var(--tap);min-height:var(--tap);color:var(--text-dim)}.sheet__body{padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + var(--safe-bottom));gap:var(--sp-4);flex-direction:column;display:flex}.notice{padding:var(--sp-3);border-left:2px solid var(--accent);background:var(--accent-dim);font-size:var(--fs-sm)}.notice--danger{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.cal{border:1px solid var(--line);background:var(--surface)}.cal__head{border-bottom:1px solid var(--line);align-items:center;display:flex}.cal__nav{min-width:var(--tap);min-height:var(--tap);font-size:var(--fs-lg);color:var(--text-dim)}.cal__nav:disabled{opacity:.25}.cal__title{min-height:var(--tap);text-transform:uppercase;letter-spacing:.1em;font-size:var(--fs-sm);flex:1}.cal__title:disabled{cursor:default}.cal__grid{padding:var(--sp-2);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal__wd{text-align:center;color:var(--text-faint);padding-bottom:var(--sp-1);font-size:10px}.cal__day{aspect-ratio:1;min-height:36px;font-size:var(--fs-sm);color:var(--text-dim);font-variant-numeric:tabular-nums;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.cal__day:disabled{color:var(--text-faint);opacity:.4}.cal__day--marked{background:color-mix(in srgb, var(--accent) var(--lvl,40%), transparent);color:var(--text)}.cal__day--today{border-color:var(--accent);color:var(--accent)}.cal__day--marked.cal__day--today{color:var(--text)}.summary{column-gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);background:var(--surface);border-left-width:2px;grid-template-columns:3.5ch 1fr auto;align-items:baseline;display:grid}.summary:active{background:var(--surface-2)}.summary--pending{border-left-color:var(--accent)}.summary__code{color:var(--accent);font-size:var(--fs-sm)}.summary__title{text-transform:uppercase;letter-spacing:.06em;font-weight:700}.summary__value{font-size:var(--fs-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.summary__detail{font-size:var(--fs-sm);color:var(--text-dim);grid-column:2/-1}.stack{gap:var(--sp-2);flex-direction:column;display:flex}.search{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);padding-left:var(--sp-3);align-items:center;display:flex}.search:focus-within{border-color:var(--accent-line)}.search__prompt{color:var(--accent);margin-right:var(--sp-2)}.search input{min-width:0;min-height:var(--tap);background:0 0;border:0;outline:none;flex:1;font-size:16px}.search input::placeholder{color:var(--text-faint)}.search input::-webkit-search-cancel-button{display:none}.search__clear{min-width:var(--tap);min-height:var(--tap);color:var(--text-dim)}.list{border:1px solid var(--line);background:var(--surface);margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.list__item{padding:var(--sp-3);display:block}.list__item:active{background:var(--surface-2)}.list__meta{justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;display:flex}.list__text{margin-top:var(--sp-1);font-size:var(--fs-sm);overflow-wrap:anywhere}mark{background:var(--accent);color:var(--on-accent)}.tabs{border:1px solid var(--line);display:flex}.tabs__item{min-height:var(--tap);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);flex:1;justify-content:center;align-items:center;display:inline-flex}.tabs__item+.tabs__item{border-left:1px solid var(--line)}.tabs__item.active{background:var(--accent-dim);color:var(--accent)}.field{gap:var(--sp-1);flex-direction:column;display:flex}.field__label{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.field__input{min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--line-strong);background:var(--bg);outline:none;font-size:16px}.field__input:focus{border-color:var(--accent)}.stepper{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.stepper__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.stepper__row{border:1px solid var(--line-strong);background:var(--bg);align-items:center;display:flex}.stepper__row:focus-within{border-color:var(--accent)}.stepper__btn{min-width:var(--tap);min-height:var(--tap);font-size:var(--fs-lg);color:var(--text-dim)}.stepper__btn:active{background:var(--surface-2);color:var(--accent)}.stepper__input{text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;width:100%;min-width:0;font-size:18px;font-weight:700}.chart{border:1px solid var(--line);background:var(--surface);padding:var(--sp-2) var(--sp-1) 0;position:relative}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart__grid{stroke:var(--line);stroke-width:1px}.chart__axis{fill:var(--text-faint);font-size:10px;font-family:var(--font)}.chart__line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart__dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart__dot--on{stroke:var(--text)}.chart__cross{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 3}.chart__tip{top:var(--sp-1);padding:var(--sp-1) var(--sp-2);border:1px solid var(--line-strong);background:var(--surface-2);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;position:absolute}.chart__tip-detail{color:var(--text-dim);display:block}.sheet:focus{outline:none}.check{align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:0 var(--sp-3);text-align:left;background:var(--surface);grid-template-columns:22px 1fr auto;display:grid}.check:active{background:var(--surface-2)}.check__box{border:1px solid var(--line-strong);width:22px;height:22px;color:var(--accent);justify-content:center;align-items:center;font-size:14px;display:inline-flex}.check--on .check__box{border-color:var(--accent)}.check--on .check__label{color:var(--text-dim);text-decoration:line-through;-webkit-text-decoration-color:var(--text-faint);text-decoration-color:var(--text-faint)}.check__aside{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.checklist{border:1px solid var(--line)}.checklist>*+*{border-top:1px solid var(--line)}.progress{align-items:center;gap:var(--sp-3);display:flex}.progress__track{background:var(--line);flex:1;height:6px}.progress__fill{background:var(--accent);height:100%;transition:width .2s}.progress__value{text-align:right;min-width:4ch;font-size:var(--fs-xs);color:var(--text-dim)}.stars{color:var(--accent);letter-spacing:.1em}.stars--edit{display:flex}.stars--edit button{min-width:var(--tap);min-height:var(--tap);color:var(--text-faint);font-size:22px}.stars--edit button.on{color:var(--accent)}.field__textarea{min-height:120px;padding:var(--sp-3);resize:vertical;border:1px solid var(--line-strong);background:var(--bg);field-sizing:content;outline:none;font-size:16px;line-height:1.5}.field__textarea:focus{border-color:var(--accent)}input[type=date].field__input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.habits-widget{padding:0;display:block}.habits-widget__head{column-gap:var(--sp-3);padding:var(--sp-3);grid-template-columns:3.5ch 1fr auto;align-items:baseline;display:grid}.habits-widget__list,.habits-widget__list>*+*{border-top:1px solid var(--line)}.chips{gap:var(--sp-2);margin:0 calc(var(--sp-4) * -1);padding:0 var(--sp-4);scrollbar-width:none;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-strong);font-size:var(--fs-sm);color:var(--text-dim);flex:none}.chip--on{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.chip__n{color:var(--text-faint);font-size:var(--fs-xs)}.task-add{gap:var(--sp-2);grid-template-columns:1fr auto;display:grid}.task-add .btn{min-width:52px;font-size:var(--fs-lg)}.summary--skeleton{border-left-color:var(--line);min-height:66px}
