.ui-modal-overlay{position:fixed;inset:var(--dock-inset, 0);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--surface-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ui-modal{display:flex;flex-direction:column;width:100%;max-height:min(86vh,100%);overflow:hidden;font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal)}.ui-modal__header{display:flex;flex-shrink:0;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-4) 0 var(--space-5);border-bottom:1px solid var(--border-subtle)}.ui-modal__title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.4;color:var(--text-primary)}.ui-modal__close{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);margin-left:auto;color:var(--text-secondary);cursor:pointer;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);transition:background .12s,color .12s}.ui-modal__close:hover{color:var(--text-primary);background:var(--surface-muted)}.ui-modal__close:focus-visible{outline:none;border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring)}.ui-modal__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5)}.ui-modal__footer{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--surface-subtle);border-top:1px solid var(--border-subtle)}.ui-modal--flush .ui-modal__body{display:flex;padding:0;overflow:hidden}@media(max-width:640px){.ui-modal-overlay{padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) calc(var(--space-3) + env(safe-area-inset-right,0px)) calc(var(--space-3) + env(safe-area-inset-bottom,0px)) calc(var(--space-3) + env(safe-area-inset-left,0px))}.ui-modal{max-height:calc(100vh - var(--space-6));max-height:100%}.ui-modal__header{padding:0 var(--space-2) 0 var(--space-4)}.ui-modal__body{padding:var(--space-4)}}.settings-dialog{height:82vh}.settings-dialog__crumb{padding:2px var(--space-2);font-size:var(--text-xs);color:var(--color-brand-700);background:var(--color-brand-50);border-radius:var(--radius-pill)}.settings-dialog__nav{display:flex;flex:0 0 176px;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-2);overflow-y:auto;background:var(--surface-subtle);border-right:1px solid var(--border-subtle)}.settings-dialog__nav-item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-md);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);text-align:left;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);transition:background .12s,color .12s}.settings-dialog__nav-item:hover{background:var(--surface-muted)}.settings-dialog__nav-item--active{font-weight:600;color:var(--color-brand-700);background:var(--color-brand-100)}.settings-dialog__nav-item:focus-visible{outline:none;border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring)}.settings-dialog__nav-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--icon-md);height:var(--icon-md);color:var(--text-muted)}.settings-dialog__nav-icon svg{display:block;width:var(--icon-md);height:var(--icon-md)}.settings-dialog__nav-item:hover .settings-dialog__nav-icon{color:var(--text-secondary)}.settings-dialog__nav-item--active .settings-dialog__nav-icon{color:var(--color-brand-700)}.settings-dialog__nav-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.settings-dialog__nav-item:not(:has(.settings-dialog__nav-icon)) .settings-dialog__nav-label{padding-left:calc(var(--icon-md) + var(--space-2))}.settings-dialog__nav-item--off,.settings-dialog__nav-item--off .settings-dialog__nav-icon{color:var(--text-disabled)}.settings-dialog__nav-item--off:hover,.settings-dialog__nav-item--off:hover .settings-dialog__nav-icon{color:var(--text-secondary)}.settings-dialog__nav-off{flex-shrink:0;margin-left:auto;padding:0 var(--space-1);font-size:var(--text-xs);color:var(--text-disabled);background:var(--surface-muted);border-radius:var(--radius-xs)}.settings-dialog__nav-new{flex-shrink:0;margin-left:auto;height:18px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-brand-600);color:#fff;font-size:var(--text-xs);font-weight:600;line-height:18px}.settings-dialog__main{flex:1;min-width:0;padding:var(--space-5) var(--space-6);overflow-y:auto}.settings-dialog__main .settings-section{margin-bottom:var(--space-6)}.settings-dialog__main .settings-section:last-child{margin-bottom:0}.settings-dialog__main .usage-block{margin-top:var(--space-3)}.settings-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.settings-field{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-md);font-size:var(--text-sm);color:var(--text-primary)}.settings-field--stack{flex-direction:column;align-items:stretch;gap:var(--space-2);margin-top:var(--space-3)}.settings-field__label{flex:1;min-width:0}.settings-field--stack .settings-field__label{flex:none;font-size:var(--text-xs);color:var(--text-secondary)}.settings-field__control{display:inline-flex;flex-shrink:0;align-items:center;gap:var(--space-2)}.settings-field--stack .settings-field__control{flex-shrink:1}.settings-field__number{width:76px;text-align:right}.settings-field__select{min-width:200px}.settings-prio{position:relative}.settings-prio__btn{display:flex;align-items:center;gap:8px;box-sizing:border-box;min-width:200px;min-height:var(--control-md);padding:6px 32px 6px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface-card);font-family:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.settings-prio__mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.settings-prio__list{position:absolute;top:calc(100% + 4px);right:0;min-width:100%;z-index:100;padding:4px;background:var(--c-card, #fff);border:1px solid var(--c-border);border-radius:10px;box-shadow:0 8px 24px #00000024}.settings-prio__item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:14px;cursor:pointer}.settings-prio__item--active{font-weight:600}.settings-prio--p0{color:#dc2626}.settings-prio--p1{color:#ca8a04}.settings-prio--p2{color:#0f766e}.settings-prio__btn.settings-prio--p0{border-color:#dc262673}.settings-prio__btn.settings-prio--p1{border-color:#ca8a0473}.settings-prio__btn.settings-prio--p2{border-color:#0f766e73}.settings-prio__item.settings-prio--p0:hover,.settings-prio__item--active.settings-prio--p0{background:#dc26261a}.settings-prio__item.settings-prio--p1:hover,.settings-prio__item--active.settings-prio--p1{background:#ca8a041f}.settings-prio__item.settings-prio--p2:hover,.settings-prio__item--active.settings-prio--p2{background:#0f766e1f}.settings-prio__item:focus-visible,.settings-prio__btn:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}.settings-field__text{flex:1;min-width:0}.settings-field__unit{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.settings-field__slider{width:180px;cursor:pointer;accent-color:var(--color-brand-600)}.settings-weekdays{flex-wrap:wrap}.settings-weekdays__btn{width:32px;height:32px;padding:0;font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:50%;transition:border-color .12s,background .12s,color .12s}.settings-weekdays__btn:hover{border-color:var(--border-strong)}.settings-weekdays__btn--on{font-weight:600;color:var(--color-brand-700);background:var(--color-brand-50);border-color:var(--color-brand-600)}.settings-weekdays__btn:focus-visible{outline:none;border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring)}.settings-choice-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.settings-choice{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);font-family:var(--font-sans);text-align:left;cursor:pointer;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color .12s,background .12s,box-shadow .12s}.settings-choice:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card)}.settings-choice--active{background:var(--color-brand-50);border-color:var(--color-brand-600)}.settings-choice:focus-visible{outline:none;border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring)}.settings-choice__name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.settings-choice--active .settings-choice__name{color:var(--color-brand-700)}.settings-choice__desc{font-size:var(--text-xs);color:var(--text-secondary)}.settings-inline-confirm{padding:var(--space-3);background:var(--color-danger-50);border:1px solid var(--color-danger-500);border-radius:var(--radius-md)}.settings-inline-confirm__text{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-primary)}.settings-inline-confirm__actions{display:flex;gap:var(--space-2)}.stat-line__value{display:inline-flex;align-items:center;gap:var(--space-3)}@media(max-width:640px){.settings-dialog{height:auto;max-height:100%}.settings-dialog .ui-modal__body{flex-direction:column}.settings-dialog__nav{flex:0 0 auto;flex-direction:row;gap:var(--space-1);padding:var(--space-2);overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--border-subtle)}.settings-dialog__nav-item{width:auto;white-space:nowrap}.settings-dialog__main{padding:var(--space-4)}.settings-field{flex-wrap:wrap}.settings-field__select,.settings-field__slider{min-width:0;width:100%}}.fb-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);overflow-x:auto}.fb-tabs__item{display:inline-flex;flex-shrink:0;align-items:center;gap:var(--space-2);min-height:var(--control-lg);padding:0 var(--space-3);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--text-md);font-weight:600;cursor:pointer}.fb-tabs__item:hover{color:var(--text-primary)}.fb-tabs__item--active{border-bottom-color:var(--color-brand-600);color:var(--color-brand-700)}.fb-tabs__count{min-width:16px;height:16px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-danger-600);color:#fff;font-size:var(--text-xs);font-weight:700;line-height:16px;text-align:center}.fb-form{display:flex;flex-direction:column;gap:var(--space-4)}.fb-seg{display:inline-flex;align-self:flex-start;padding:var(--space-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle)}.fb-seg__item{min-height:var(--control-sm);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer}.fb-seg__item--active{background:var(--color-brand-600);color:#fff}.fb-textarea{width:100%;resize:vertical;line-height:1.5}.fb-textarea--mono{font-size:var(--text-xs)}.fb-hint{color:var(--text-muted);font-size:var(--text-xs)}.fb-hint--right{align-self:flex-end}.fb-logs-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.fb-logs-actions{display:inline-flex;gap:var(--space-2)}.fb-error{margin:0;color:var(--color-danger-600);font-size:var(--text-sm)}.fb-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.fb-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.fb-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-8) 0;color:var(--text-muted);font-size:var(--text-sm)}.fb-list{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.fb-item{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.fb-item--fresh{border-color:var(--color-brand-600);background:var(--color-brand-50)}.fb-new{position:absolute;top:var(--space-3);right:var(--space-4);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-brand-600);color:#fff;font-size:var(--text-xs);font-weight:700;line-height:18px}.fb-item__head{display:flex;align-items:center;gap:var(--space-2)}.fb-item__time{margin-left:auto;color:var(--text-muted);font-size:var(--text-xs)}.fb-item--fresh .fb-item__time{margin-right:56px}.fb-item__meta{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.fb-item__content{margin:0;color:var(--text-primary);font-size:var(--text-md);white-space:pre-wrap;overflow-wrap:anywhere}.fb-tag{height:20px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;line-height:20px}.fb-tag--bug{background:var(--color-danger-50);color:var(--color-danger-600)}.fb-tag--suggestion{background:var(--color-brand-50);color:var(--color-brand-700)}.fb-tag--open{color:var(--color-warning-500)}.fb-tag--done{color:var(--color-success-500)}.fb-reply{padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-brand-600);border-radius:var(--radius-sm);background:var(--surface-subtle)}.fb-reply__title{color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.fb-reply__title time{margin-left:var(--space-2);color:var(--text-muted);font-weight:400}.fb-reply__text{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere}.fb-link{align-self:flex-start;min-height:var(--control-sm);padding:0;border:0;background:transparent;color:var(--text-link);font-size:var(--text-sm);font-weight:600;cursor:pointer}.fb-admin{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.fb-pre{max-height:240px;margin:0;padding:var(--space-3);overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:640px){.fb-textarea{font-size:16px}.fb-actions .btn{flex:1}}.fb-new--wait{background:var(--color-warning-500)}.fb-quick{display:flex;gap:var(--space-2)}.fb-quick__input{flex:1;min-width:0}.fb-bar{display:flex;align-items:center;gap:var(--space-2)}.fb-bar__spacer{flex:1}.fb-bar .btn--danger{color:var(--color-danger-600)}.fb-notify{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-warning-500);border-radius:var(--radius-lg);background:var(--surface-subtle);color:var(--text-primary);font-size:var(--text-sm)}.fb-notify .btn{flex-shrink:0}@media(max-width:640px){.fb-quick__input{font-size:16px}.fb-notify{flex-direction:column;align-items:stretch}}.fb-nick{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.fb-nick__name{color:var(--text-primary);font-size:var(--text-sm)}.fb-nick__input{width:160px}.fb-row{display:flex;align-items:flex-start;gap:var(--space-2)}.fb-type{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);margin-top:var(--space-1);border-radius:var(--radius-sm)}.fb-type--bug{background:var(--color-danger-50);color:var(--color-danger-600)}.fb-type--suggestion{background:var(--color-brand-50);color:var(--color-brand-700)}.fb-card{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-left-width:3px;border-radius:var(--radius-md);background:var(--surface-card)}.fb-row--open .fb-card{border-color:var(--color-warning-500);background:color-mix(in srgb,var(--color-warning-500) 7%,var(--surface-card))}.fb-row--done .fb-card{border-color:var(--color-brand-100);border-left-color:var(--color-brand-600);background:var(--color-brand-50)}.fb-card__top{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm)}.fb-card__spacer{flex:1}.fb-card__time{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.fb-wait{display:inline-flex;color:var(--color-warning-500)}.fb-nick__acc{color:var(--text-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.fb-ico{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;min-width:var(--control-sm);height:var(--control-sm);padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.fb-ico:not(:disabled):hover{background:var(--surface-muted);color:var(--text-primary)}.fb-ico--sm{min-width:24px;height:24px;color:var(--text-muted)}.fb-ico--on{background:var(--surface-muted);color:var(--text-primary)}.fb-ico--ok:not(:disabled):hover{background:var(--color-brand-50);color:var(--color-brand-700)}.fb-ico--danger:not(:disabled):hover{background:var(--color-danger-50);color:var(--color-danger-600)}.fb-reply-line{display:flex;align-items:flex-start;gap:var(--space-1);margin:0;color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.fb-reply-line svg{flex-shrink:0;margin-top:3px}.fb-thread{display:flex;flex-direction:column;gap:var(--space-1)}.fb-done-image{display:block;max-width:160px;max-height:160px;margin:var(--space-1) 0 0 var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-md);object-fit:contain}.fb-reply-line__who{flex-shrink:0;color:var(--text-muted);font-size:var(--text-xs);font-weight:600;line-height:1.5;margin-top:1px}.fb-reply-line__dot{flex-shrink:0;width:6px;height:6px;margin:7px 4px 0;border-radius:50%;background:var(--color-brand-600)}.fb-reply-line--user{color:var(--text-primary)}.fb-await{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-warning-500);color:#fff;font-size:var(--text-xs);font-weight:600;line-height:18px}.fb-row .fb-item__content{font-size:var(--text-sm)}.fb-row .fb-quick__input{min-height:var(--control-sm);font-size:var(--text-sm)}.fb-row{gap:0}.fb-type{margin-top:var(--space-2);margin-right:-1px;width:26px;height:30px;border-radius:var(--radius-sm) 0 0 var(--radius-sm);border:1px solid var(--border-subtle);border-right:0}.fb-type--bug{border-color:#fecaca}.fb-type--suggestion{border-color:var(--color-brand-100)}.fb-type{position:relative;z-index:1;width:28px;height:32px;margin-top:var(--space-2);margin-right:-3px;border:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm);box-shadow:-1px 1px 3px #102b1d2e;color:#fff}.fb-type--bug{background:var(--color-danger-600);color:#fff}.fb-type--suggestion{background:var(--color-brand-600);color:#fff}.fb-type--report{background:var(--color-warning-500);color:#fff;border-color:var(--color-warning-500)}.fb-type svg{width:var(--icon-md);height:var(--icon-md)}.fb-seg__item{display:inline-flex;align-items:center;gap:var(--space-1)}.fb-seg__item svg{width:var(--icon-md);height:var(--icon-md)}.fb-seg__item--bug.fb-seg__item--active{background:var(--color-danger-600);color:#fff}.fb-seg__item--suggestion.fb-seg__item--active{background:var(--color-brand-600);color:#fff}.fb-list--tight{gap:var(--space-2)}.fb-card__status{color:var(--text-muted);font-size:var(--text-xs);font-weight:600}.fb-new--inline{position:static}.fb-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.fb-switch svg{width:var(--icon-lg);height:var(--icon-lg)}.fb-switch:hover{background:var(--surface-muted);color:var(--text-primary)}.fb-switch[aria-pressed=true]{background:var(--color-brand-50);color:var(--color-brand-700)}.fb-switch__count{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-danger-600);color:#fff;font-size:var(--text-xs);font-weight:700;line-height:16px;text-align:center}.fb-check{display:inline-flex;align-items:center;align-self:flex-start;gap:var(--space-2);min-height:var(--control-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.fb-actions{align-items:center}.fb-actions .fb-check{align-self:center;margin-right:var(--space-1)}.fb-check svg{flex-shrink:0}.fb-actions .fb-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-md);cursor:pointer}.fb-toggle__box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-card);color:#fff}.fb-toggle__box svg{width:12px;height:12px;stroke-width:3}.fb-toggle--on{border-color:var(--color-brand-600);background:var(--color-brand-50);color:var(--color-brand-700)}.fb-toggle--on .fb-toggle__box{border-color:var(--color-brand-600);background:var(--color-brand-600)}.fb-images{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none}.fb-images__item{position:relative;width:80px;height:80px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle)}.fb-images__item img{display:block;width:100%;height:100%;object-fit:cover}.fb-images__open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.fb-images__open:focus-visible,.fb-images__del:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:-2px}.fb-images__del{position:absolute;top:var(--space-1);right:var(--space-1);width:20px;height:20px;padding:0;border:0;border-radius:50%;background:#0009;color:#fff;font-size:var(--text-md);line-height:20px;text-align:center;cursor:pointer}.fb-images__del:hover{background:var(--color-danger-600)}.fb-images__big{display:block;max-width:100%;max-height:70vh;margin:0 auto;border-radius:var(--radius-md)}.fb-fix{display:inline-flex;flex-direction:column;justify-content:center;gap:2px;width:112px;height:28px;color:var(--color-brand-600)}.fb-fix--done{color:var(--color-success-500)}.fb-fix--failed{color:var(--color-danger-600)}.fb-fix__head{display:flex;justify-content:space-between;font-size:var(--text-xs);line-height:1.3;white-space:nowrap}.fb-fix__label{font-weight:600}.fb-fix__time{color:var(--text-muted)}.fb-fix__track{position:relative;display:block;height:8px;margin:0 4px}.fb-fix__bar{position:absolute;left:0;right:0;top:2px;height:4px;border-radius:999px;background:#00000014;overflow:hidden}.fb-fix__fill{display:block;height:100%;border-radius:inherit;background:currentColor;transition:width .4s ease}.fb-fix__fill--running{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);background-size:200% 100%;animation:fb-fix-shine 1.6s linear infinite}@keyframes fb-fix-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.fb-fix__node{position:absolute;top:0;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--surface, #fff);border:1.5px solid rgba(0,0,0,.2);box-sizing:border-box;cursor:default}.fb-fix__node.is-past{background:currentColor;border-color:currentColor}.fb-fix__node.is-current{border-color:currentColor;box-shadow:0 0 0 2px #ffffffe6}.fb-fix__node:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}@media(prefers-reduced-motion:reduce){.fb-fix__fill--running{animation:none}}.fb-fix-summary{margin:var(--space-2) 0 0;padding-left:var(--space-2);border-left:2px solid var(--color-success-500);white-space:pre-wrap;font-size:var(--text-sm);color:var(--text-secondary);max-height:160px;overflow:auto}.fb-fix-summary--failed{border-left-color:var(--color-danger-600);color:var(--color-danger-600)}.report-dialog{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-md);color:var(--text-primary)}.report-dialog__target{display:flex;flex-direction:column;gap:var(--space-1);margin:0;font-size:var(--text-sm);overflow-wrap:anywhere}.report-dialog__ref{color:var(--text-secondary)}.report-dialog__reasons{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:0;border:0}.report-dialog__reason{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);cursor:pointer}.report-dialog__detail{width:100%;resize:vertical}.report-dialog__note{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.report-dialog__error{margin:0;font-size:var(--text-sm);color:var(--color-danger-600)}.crop-desc{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.crop-stage-wrap{display:flex;justify-content:center;padding:var(--space-3);border-radius:var(--radius-lg);background:repeating-conic-gradient(var(--surface-muted) 0% 25%,var(--surface-card) 0% 50%) 50% / 16px 16px}.crop-stage{position:relative;display:inline-block;max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.crop-stage>img{display:block;max-width:100%;max-height:320px;min-width:120px}.crop-box{position:absolute;border:2px solid var(--color-brand-600);box-shadow:0 0 0 9999px #0f171380;cursor:move;box-sizing:border-box}.crop-handle{position:absolute;width:14px;height:14px;border:2px solid var(--color-brand-600);border-radius:var(--radius-xs);background:var(--surface-card)}.crop-handle--nw{left:-8px;top:-8px;cursor:nwse-resize}.crop-handle--ne{right:-8px;top:-8px;cursor:nesw-resize}.crop-handle--sw{left:-8px;bottom:-8px;cursor:nesw-resize}.crop-handle--se{right:-8px;bottom:-8px;cursor:nwse-resize}.crop-hint{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.crop-tools{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.settings-inline-row{display:flex;margin-top:var(--space-2)}.friends-scale{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.friends-scale__label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.friends-scale__row{display:flex;align-items:center;gap:var(--space-3);max-width:420px}.friends-scale__range{flex:1;min-width:0;accent-color:var(--color-brand-600);cursor:pointer}.friends-scale__value{min-width:44px;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-align:right}.friends-scale__hint{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.friends-hidden{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.friends-hidden__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-lg);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--surface-subtle)}.friends-hidden__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);color:var(--text-primary)}.avatar-upload{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.avatar-upload__title{margin:0;font-size:var(--text-md);font-weight:600;color:var(--text-primary)}.avatar-upload__desc{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.avatar-upload__slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.avatar-upload__slot{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-subtle)}.avatar-upload__preview{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-md);background:var(--surface-muted);overflow:hidden}.avatar-upload__preview img{max-width:100%;max-height:100%;object-fit:contain}.avatar-upload__preview .avatar-crop{max-width:100%;max-height:100%}.avatar-upload__preview .avatar-crop>img{max-width:none;max-height:none;object-fit:fill}.avatar-upload__actions{flex-wrap:wrap}.avatar-upload__info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.avatar-upload__label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.avatar-upload__tag{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;line-height:18px}.avatar-upload__hint{font-size:var(--text-xs);color:var(--text-muted)}.avatar-upload__actions{display:inline-flex;gap:var(--space-2);margin-top:var(--space-1)}.avatar-upload__file{display:none}.avatar-upload__add{min-height:136px;border-style:dashed;font:inherit;text-align:left;cursor:pointer;color:var(--text-secondary)}.avatar-upload__add:hover:not(:disabled){border-color:var(--color-brand-600);color:var(--color-brand-700)}.avatar-upload__add:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}.avatar-upload__add:disabled{cursor:not-allowed;opacity:.6}.avatar-upload__add-plus{color:inherit}.avatar-upload__label{position:relative}.avatar-upload__colors{position:absolute;top:calc(100% + var(--space-1));left:0;z-index:20;display:flex;flex-wrap:nowrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-popover)}.avatar-upload__swatch{width:18px;height:18px;padding:0;border:0;border-radius:50%;cursor:pointer;box-shadow:0 0 0 1px var(--border-subtle)}.avatar-upload__swatch--on{box-shadow:0 0 0 2px var(--surface-card),0 0 0 3px var(--text-primary)}.avatar-upload__swatch:disabled{cursor:not-allowed;opacity:.5}.avatar-upload__swatch:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}.avatar-upload__name{field-sizing:content;min-width:2em;max-width:100%;margin:0;padding:0;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-weight:600;line-height:inherit}.avatar-upload__name:hover{border-bottom-color:var(--border-subtle)}.avatar-upload__name:focus{outline:none;border-bottom-color:var(--color-brand-600)}.avatar-upload__slot{position:relative}.avatar-upload__auto{position:absolute;left:var(--space-3);right:var(--space-3);top:calc(100% - var(--space-2));z-index:20;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-popover)}.avatar-upload__auto-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer}.avatar-upload__auto-input{box-sizing:border-box;width:100%;height:34px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);font:inherit;font-size:var(--text-md);color:var(--text-primary);background:var(--surface-card)}.avatar-upload__auto-input:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}.avatar-upload__kw{display:flex;flex-direction:column;gap:var(--space-2)}.avatar-upload__kw-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.avatar-upload__kw-input-row{display:flex;align-items:center;gap:var(--space-2)}.avatar-upload__kw-input-row .avatar-upload__auto-input{flex:1;min-width:0;width:auto}.avatar-upload__kw-input-row .avatar-upload__auto-input{height:40px;border:2px solid var(--color-brand-600);background:var(--surface-muted)}.avatar-upload__kw-input-row .avatar-upload__auto-input:disabled{border-color:var(--border-subtle);color:var(--text-disabled);cursor:not-allowed;opacity:.7}.avatar-upload__kw-input-row--on .avatar-upload__auto-input{background:var(--surface-card);box-shadow:0 0 0 3px var(--color-brand-100, rgba(22, 163, 74, .2))}.avatar-upload__kw-example{display:inline-flex;align-items:center;height:24px;padding:0 var(--space-2);border:1px dashed var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-sm)}.avatar-upload__kw-tag{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.avatar-upload__kw-x{width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);line-height:1;cursor:pointer}.avatar-upload__kw-x:hover{color:var(--color-danger-600)}.avatar-upload__kw-x:focus-visible{outline:2px solid var(--color-brand-600)}.avatar-upload__auto--on{border-color:var(--color-brand-600);color:var(--color-brand-700)}.avatar-upload__error{margin:0;font-size:var(--text-sm);color:var(--color-danger-600)}.avatar-upload>.btn{align-self:flex-start}@media(max-width:640px){.avatar-upload__slots{grid-template-columns:1fr}}.settings-section{margin-bottom:var(--space-8)}.settings-section__title{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);background:var(--color-brand-100);border-left:4px solid var(--color-brand-600);border-radius:0 var(--radius-md, 8px) var(--radius-md, 8px) 0}.stat-line{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm);border-bottom:1px solid var(--surface-muted)}.stat-line:last-child{border-bottom:none}.settings-hint{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.settings-hint--brand{margin:0 0 var(--space-4);color:var(--color-brand-700)}.settings-hint__meta{margin:var(--space-3) 0 0;font-size:var(--text-xs);line-height:1.5;color:var(--text-muted)}.settings-hint__meta--under-check{margin:calc(-1 * var(--space-1)) 0 var(--space-3) var(--space-6)}.settings-download__warn{margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:1.5;color:var(--color-warning-700)}.settings-download__copy{margin-left:var(--space-1);padding:0;border:none;background:none;font-family:inherit;font-size:inherit;line-height:inherit;color:var(--color-brand-700);text-decoration:underline;cursor:pointer}.settings-download__copy:hover{color:var(--color-brand-600)}.settings-download__copy:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px;border-radius:4px}.done-images{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none}.done-images__item{position:relative;width:80px;height:80px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle)}.done-images__item img{display:block;width:100%;height:100%;object-fit:cover}.done-images__del{position:absolute;top:var(--space-1);right:var(--space-1);width:20px;height:20px;padding:0;border:0;border-radius:50%;background:#0009;color:#fff;font-size:var(--text-md);line-height:20px;cursor:pointer}.done-images__del:hover:not(:disabled){background:var(--color-danger-600)}.done-images__del:disabled{cursor:not-allowed;opacity:.6}.done-images__del:focus-visible,.done-images__add:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}.done-images__add{width:80px;height:80px;border:1px dashed var(--border-subtle);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.done-images__add:hover:not(:disabled){border-color:var(--color-brand-600);color:var(--color-brand-600)}.done-images__add:disabled{cursor:not-allowed;color:var(--text-disabled)}.done-images__error{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-danger-600)}.tag-manager{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tag-managed{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--c-primary-light);color:var(--c-primary-dark);border-radius:12px;font-size:12px}.tag-managed__del{width:16px;height:16px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center}.tag-managed__del:hover{background:var(--c-danger);color:#fff}.tag-add{display:flex;gap:8px}.tag-add .field__input{flex:1}.field--row{display:flex;font-size:var(--text-sm);cursor:pointer}.field--row input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--color-brand-600)}.usage-block{margin-top:4px}.usage-block__subtitle{font-size:13px;font-weight:600;color:var(--c-text);margin:4px 0 8px}.usage-list{list-style:none;margin:0;padding:0}.usage-row{display:flex;align-items:center;gap:var(--space-3);padding:6px 0;font-size:var(--text-sm);border-bottom:1px solid var(--surface-muted)}.usage-row:last-child{border-bottom:none}.usage-row__keys{flex:0 0 auto;min-width:110px;display:inline-flex;align-items:center;gap:4px;color:var(--c-text-secondary)}.usage-row__desc{flex:1;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.usage-row__tag{font-size:var(--text-xs);padding:1px 8px;border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary)}.usage-color-dot{flex:0 0 auto;width:14px;height:14px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px #0000000f}.usage-row kbd{display:inline-block;padding:1px 6px;min-width:18px;text-align:center;font-family:var(--font-body);font-size:12px;line-height:1.4;color:var(--c-text);background:#fff;border:1px solid var(--c-border);border-bottom-width:2px;border-radius:4px}.nav-rail-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nav-rail-col{background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3)}.nav-rail-col__title{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--c-text)}.nav-rail-col__sep{height:1px;background:var(--border-subtle);margin:var(--space-3) 0 var(--space-2)}.nav-rail-col__sub-hint{margin:0 0 6px;font-size:var(--text-xs);color:var(--text-secondary);font-style:italic}.nav-rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-rail-list__item{display:flex;align-items:center;gap:6px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--surface-card);transition:background .12s}.nav-rail-list__item:hover{background:var(--surface-muted)}.nav-rail-list__item--hidden{opacity:.5}.nav-rail-list__label{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;font-size:13px;color:var(--c-text);min-width:0}.nav-rail-list__label input[type=checkbox]{flex-shrink:0;width:16px;height:16px;cursor:pointer}.nav-rail-list__icon{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--c-text-secondary)}.nav-rail-list__icon svg{width:16px;height:16px;display:block}.nav-rail-list__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-rail-list__off{flex-shrink:0;padding:0 var(--space-1);font-size:var(--text-xs);color:var(--text-disabled);background:var(--surface-muted);border-radius:var(--radius-xs)}.nav-rail-list__actions{flex-shrink:0;display:flex;gap:2px}.nav-rail-list__move{width:24px;height:24px;border-radius:4px;background:transparent;color:var(--c-text-secondary);font-size:14px;line-height:1;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s,border-color .12s}.nav-rail-list__move:hover:not(:disabled){background:var(--c-primary-light);color:var(--c-primary-dark);border-color:var(--c-primary)}.nav-rail-list__move:disabled{opacity:.3;cursor:not-allowed}.nav-rail-editor__actions{display:flex;gap:8px;margin-top:12px}.feature-gate__list{margin-top:var(--space-3)}.feature-gate__uid{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);-webkit-user-select:all;user-select:all}.feature-gate__error{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-danger-600)}.ai-config .btn--primary{border-color:var(--color-brand-600);background:var(--color-brand-600);color:#fff}.ai-config .btn--primary:not(:disabled):hover{border-color:var(--color-brand-700);background:var(--color-brand-700)}.ai-config .btn--danger{border-color:color-mix(in srgb,var(--color-danger-500) 35%,#fff);background:var(--color-danger-50);color:var(--color-danger-600)}.ai-config{display:flex;flex-direction:column;gap:var(--space-3);max-width:520px}.ai-config .field__input{width:100%}.ai-config__key-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-md)}.ai-config__key-mask{color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:1px}.ai-config__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.ai-config__clear{margin-right:auto}.ai-config__status{margin:0;padding:var(--space-2) var(--space-3);border:1px solid;border-radius:var(--radius-md);font-size:var(--text-sm);overflow-wrap:anywhere}.ai-config__status--ok{color:var(--color-brand-700);background:var(--color-brand-50);border-color:var(--color-brand-100)}.ai-config__status--info{color:var(--text-secondary);background:var(--surface-subtle);border-color:var(--border-subtle)}.ai-config__status--error{color:var(--color-danger-600);background:var(--color-danger-50);border-color:#fecaca}@media(max-width:640px){.nav-rail-cols{grid-template-columns:1fr}}.friends-search{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid var(--color-brand-600);border-radius:var(--radius-lg);background:var(--color-brand-50);box-shadow:var(--shadow-card)}.friends-search .settings-section__title{margin:0;background:transparent;padding-left:var(--space-3)}.friends-search .field__input{background:var(--surface-card);border-color:var(--color-brand-600)}.friends-search--plain{margin-bottom:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:var(--space-3)}.friends-search--plain .settings-section__title{padding-left:var(--space-3);background:var(--color-brand-100)}.friends-search--plain .field__input{border-color:var(--border-default, var(--border-subtle))}.friends-search__label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.friends-search__row{display:flex;gap:var(--space-2)}.friends-search__input{flex:1;min-width:0}.friends-intro{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.friends-intro__input{width:160px;max-width:50%}.friends-intro__check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.friends-intro__check input{margin:0;cursor:pointer}.friends-intro__check input:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}.friends-intro__check--sm{font-size:var(--text-xs)}.friends-hint{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.friends-hint--error{color:var(--color-danger-600)}.friends-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid #fecaca;border-radius:var(--radius-md);background:var(--color-danger-50);color:var(--color-danger-600);font-size:var(--text-sm)}.friends-banner>span{min-width:0;overflow-wrap:anywhere}.friends-banner .btn{flex-shrink:0;white-space:nowrap}.friends-section{margin-bottom:var(--space-4)}.friends-section__title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:600;color:var(--text-primary)}.friends-section__hint{font-size:var(--text-sm);font-weight:400;color:var(--text-secondary)}.friends-count{min-width:20px;height:20px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;line-height:20px;text-align:center}.friends-empty{margin:0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-sm)}.friends-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-lg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md)}.friends-row:hover{background:var(--surface-subtle)}.friends-row--hit{border:1px solid var(--border-subtle);background:var(--surface-subtle)}.friends-row__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);color:var(--text-primary)}.friends-row__names{flex:1;min-width:0;display:flex;flex-direction:column}.friends-row__names .friends-row__name{flex:none}.friends-row__nameline{display:flex;align-items:center;gap:var(--space-1);min-width:0}.friends-row__nameline .friends-row__name{flex:0 1 auto}.friends-row__edit-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.friends-row__edit-btn:hover,.friends-row__edit-btn:focus-visible{background:var(--surface-muted);color:var(--text-primary);outline:none}.friends-row__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.friends-row__edit{display:flex}.friends-row__input{width:100%;max-width:240px;min-width:0;height:28px}.friends-row__actions{display:inline-flex;gap:var(--space-2)}.friends-row__actions--respond{gap:var(--space-6)}.friends-agree{min-height:var(--control-md, 34px);padding:0 var(--space-5);border:1px solid var(--color-brand-600);border-radius:var(--radius-md);background:var(--color-brand-600);color:#fff;font-size:var(--text-md);font-weight:700;cursor:pointer}.friends-agree:not(:disabled):hover{background:var(--color-brand-700);border-color:var(--color-brand-700)}.friends-agree:focus-visible{outline:2px solid var(--color-brand-700);outline-offset:2px}.friends-agree:disabled{opacity:.5;cursor:not-allowed}.friends-count--alert{background:var(--color-danger-500);color:#fff}.friends-row__state{font-size:var(--text-xs);font-weight:600;color:var(--text-muted)}.friends-row__state--online{color:var(--color-success-500)}.friends-row__state--focus{color:var(--color-warning-500)}.friends-row__state--break{color:var(--color-info-500)}.friends-tag{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;line-height:24px}.friends-avatar{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px}.friends-avatar__img{display:block;max-width:56px;height:40px;width:auto;object-fit:contain}.friends-avatar .friends-dot{position:absolute;right:0;bottom:2px;box-shadow:0 0 0 2px var(--surface-card, #fff)}.friends-avatar--offline .friends-avatar__img{filter:grayscale(1);opacity:.55}.friends-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--text-disabled)}.friends-dot--online{background:var(--color-success-500)}.friends-dot--focus{background:var(--color-warning-500)}.friends-dot--break{background:var(--color-info-500)}@media(max-width:640px){.friends-search__input{font-size:var(--text-lg)}}.usage-range{display:flex;gap:var(--space-1);margin-left:var(--space-2);padding:2px;background:var(--surface-muted);border-radius:var(--radius-md)}.usage-range__btn{min-height:var(--control-sm);padding:0 var(--space-3);color:var(--text-secondary);font-size:var(--text-sm);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .16s ease,color .16s ease}.usage-range__btn:not(:disabled):hover{color:var(--text-primary)}.usage-range__btn--active{color:var(--color-brand-700);font-weight:600;background:var(--surface-card);border-color:var(--border-subtle);box-shadow:var(--shadow-card)}.usage-body{display:flex;flex-direction:column;gap:var(--space-6);transition:opacity .16s ease}.usage-body--loading{opacity:.6}.usage-note,.usage-section__hint{margin:0;color:var(--text-muted);font-size:var(--text-xs)}.usage-section{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.usage-section__title{margin:0;font-size:var(--text-lg);font-weight:600}.usage-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.usage-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.usage-card__label{color:var(--text-secondary);font-size:var(--text-xs)}.usage-card__value{color:var(--text-primary);font-size:var(--text-2xl);font-weight:700;line-height:1.3}.usage-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--text-secondary);font-size:var(--text-xs)}.usage-legend span{display:inline-flex;align-items:center;gap:var(--space-1)}.usage-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.usage-line--user{color:var(--color-brand-600)}.usage-line--guest{color:var(--color-warning-500)}.usage-line--new{color:var(--color-info-500)}.usage-dot.usage-line--user,.usage-dot.usage-line--guest,.usage-dot.usage-line--new{background:currentColor}.usage-chart{position:relative;height:200px;margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-2) var(--space-6) var(--space-8)}.usage-chart__plot{position:relative;width:100%;height:100%;border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}.usage-chart__grid{position:absolute;right:0;left:0;height:0;border-top:1px dashed var(--border-subtle)}.usage-chart__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.usage-line{stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.usage-chart__dot{position:absolute;width:8px;height:8px;background:currentColor;border:2px solid var(--surface-card);border-radius:50%;box-sizing:content-box;transform:translate(-50%,-50%);pointer-events:none}.usage-chart__hits{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.usage-chart__hits{inset:0 calc(-1 * var(--space-2));cursor:crosshair}.usage-chart__cursor{position:absolute;top:0;bottom:0;width:1px;background:var(--border-strong);pointer-events:none}.usage-chart__tip{position:absolute;top:var(--space-2);z-index:2;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-popover);color:var(--text-primary);font-size:var(--text-xs);white-space:nowrap;transform:translate(var(--space-3));pointer-events:none}.usage-chart__tip--left{transform:translate(calc(-100% - var(--space-3)))}.usage-chart__yaxis{position:absolute;top:var(--space-2);bottom:var(--space-6);left:0;width:calc(var(--space-8) - var(--space-2));color:var(--text-muted);font-size:var(--text-xs)}.usage-chart__yaxis span{position:absolute;right:0;transform:translateY(-50%)}.usage-chart__xaxis{position:absolute;right:var(--space-2);bottom:0;left:var(--space-8);height:var(--space-5);color:var(--text-muted);font-size:var(--text-xs)}.usage-chart__xaxis span{position:absolute;white-space:nowrap;transform:translate(-50%)}.usage-chart__xaxis span:first-child{transform:translate(0)}.usage-chart__xaxis span:last-child{transform:translate(-100%)}.usage-toggle{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-1);margin-left:calc(var(--space-1) * -1);color:inherit;font:inherit;font-weight:600;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.usage-toggle:hover{background:var(--surface-muted)}.usage-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .16s ease}.usage-chevron--open{transform:rotate(90deg)}.usage-plain-name{padding-left:var(--space-5);font-weight:600}.usage-row--child{background:var(--surface-subtle)}.usage-child-name{padding-left:var(--space-8);color:var(--text-secondary)}.usage-row--group td{background:var(--surface-subtle)}.usage-dialog .usage-table{display:table;width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--text-sm)}.usage-dialog .ui-modal__body{scrollbar-gutter:stable}.usage-dialog .usage-table td:first-child{overflow:hidden;text-overflow:ellipsis}.usage-dialog .usage-table thead{display:table-header-group}.usage-dialog .usage-table tbody{display:table-row-group}.usage-dialog .usage-table tr{display:table-row}.usage-dialog .usage-table th,.usage-dialog .usage-table td{display:table-cell;padding:var(--space-2) var(--space-3);text-align:center;vertical-align:middle;white-space:nowrap;border-bottom:1px solid var(--border-subtle)}.usage-dialog .usage-table th{color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;background:var(--surface-subtle)}.usage-dialog .usage-table th:first-child,.usage-dialog .usage-table td:first-child{width:36%;text-align:left}.usage-dialog .usage-table tbody tr:hover td{background:var(--surface-subtle)}.usage-account{max-width:260px;overflow:hidden;text-overflow:ellipsis}.usage-muted{color:var(--text-muted)}.usage-badge{display:inline-flex;align-items:center;height:18px;margin-left:var(--space-2);padding:0 var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-pill)}.usage-badge--closed{color:var(--text-secondary);background:var(--surface-muted);border:1px solid var(--border-strong)}.usage-badge--low{color:var(--color-warning-700);background:var(--color-warning-50);border:1px solid var(--color-warning-200)}.usage-ratio{display:flex;align-items:center;gap:var(--space-2)}.usage-ratio__track{width:80px;height:6px;background:var(--surface-muted);border-radius:var(--radius-pill);overflow:hidden}.usage-ratio__fill{height:100%;background:var(--color-brand-600)}.usage-empty{margin:0;padding:var(--space-4);color:var(--text-muted);font-size:var(--text-sm);text-align:center;background:var(--surface-subtle);border-radius:var(--radius-md)}.usage-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);text-align:center}.usage-state__title{margin:0;font-size:var(--text-lg);font-weight:600}.usage-state__text{margin:0;color:var(--text-secondary)}.usage-inline-error{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);color:var(--color-danger-600);font-size:var(--text-sm);background:var(--color-danger-50);border-radius:var(--radius-md)}.usage-ai{padding:var(--space-4);background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.usage-ai__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.usage-ai__output{padding:var(--space-4);font-size:var(--text-md);line-height:1.7;white-space:pre-wrap;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}@media(max-width:640px){.usage-dialog .ui-modal__header{flex-wrap:wrap;height:auto;min-height:56px;padding-top:var(--space-2);padding-bottom:var(--space-2)}.usage-range{order:3;width:100%;margin-left:0}.usage-range__btn{flex:1;min-height:var(--control-lg)}.usage-cards{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.usage-body,.usage-range__btn{transition:none}}.friend-avatars{pointer-events:none;-webkit-user-select:none;user-select:none}.friend-float{position:fixed;z-index:10000;pointer-events:auto;cursor:grab;touch-action:none;border-radius:var(--radius-lg)}.friend-float--dragging{cursor:grabbing}.friend-float--dragging .friend-avatar__img{filter:drop-shadow(0 6px 10px rgba(16,43,29,.28))}.friend-float:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}.friend-avatar{position:relative;display:flex;justify-content:flex-end;animation:friend-avatar-peek .35s ease-out both}.friend-avatar__img{display:block;width:auto;height:calc(72px * var(--avatar-scale, 1));filter:drop-shadow(0 2px 4px rgba(16,43,29,.18));transition:opacity .2s ease,filter .2s ease;-webkit-user-drag:none}.friend-avatar--focus .friend-avatar__img{animation:friend-avatar-bob 2.4s ease-in-out infinite}.friend-avatar__img--custom{max-width:calc(96px * var(--avatar-scale, 1));object-fit:contain}.avatar-crop{position:relative;display:block;overflow:hidden}.avatar-crop>img,.avatar-crop>canvas{position:absolute;display:block;height:auto;max-width:none}.friend-avatar__img--custom.avatar-crop{max-width:none}.friend-avatar--focus .friend-avatar__img--custom{animation:none}.friend-avatar--hidden .friend-avatar__img{opacity:.45}.friend-avatar__focus{position:absolute;left:50%;top:-8px;transform:translate(-50%);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-warning-500);color:#fff;font-size:var(--text-xs);font-weight:700;line-height:18px;white-space:nowrap;box-shadow:var(--shadow-card)}.friend-name{position:absolute;bottom:calc(100% + var(--space-1));left:0;right:0;text-align:center;white-space:nowrap;color:var(--text-primary);font-size:var(--text-sm);font-weight:700;line-height:1.4;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 4px #fff,0 0 8px rgba(255,255,255,.9);pointer-events:none}.friend-name--lifted{bottom:calc(100% + var(--space-3) + var(--space-1))}.friend-name--below{bottom:auto;top:calc(100% + var(--space-1))}.friend-bubble{position:absolute;bottom:calc(100% + var(--space-2));left:50%;transform:translate(-50%);max-width:180px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-lg);background:#ffffff9e;-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);border:1px solid rgba(255,255,255,.85);color:var(--text-primary);font-size:var(--text-sm);font-weight:700;line-height:1.4;white-space:nowrap;box-shadow:0 4px 16px #102b1d2e,inset 0 1px #ffffffe6;pointer-events:none;animation:friend-bubble-in .25s ease-out both}.friend-bubble:after{content:"";position:absolute;left:50%;top:100%;width:8px;height:8px;margin:-4px 0 0 -4px;transform:rotate(45deg);background:#ffffff9e;border-right:1px solid rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.friend-bubble--lifted{bottom:calc(100% + var(--space-6))}.friend-bubble--below{bottom:auto;top:calc(100% + var(--space-2))}.friend-bubble--below:after{top:0;transform:rotate(225deg)}@keyframes friend-bubble-in{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.friend-bubble{animation:none}}@keyframes friend-avatar-peek{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes friend-avatar-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.friend-menu{position:fixed;z-index:10001;pointer-events:auto;display:flex;flex-direction:column;min-width:152px;padding:var(--space-1);border:1px solid var(--menu-border);border-radius:var(--radius-md);background:var(--menu-surface);box-shadow:var(--shadow-menu);color:var(--menu-text)}.friend-menu__item{position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--menu-text);font-size:var(--text-sm);line-height:1.2;text-align:left;cursor:pointer}.friend-menu__title{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:600;color:var(--menu-text-muted)}.friend-menu__item--icon{display:flex;align-items:center;gap:var(--space-2)}.friend-menu__item--icon svg{flex-shrink:0}.friend-menu__list{display:flex;flex-direction:column;max-height:232px;overflow-y:auto}.friend-menu__item--candidate{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.friend-menu__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-menu__state{flex-shrink:0;font-size:var(--text-xs);color:var(--menu-text-muted)}.friend-menu__remark{display:flex;flex-direction:column;gap:var(--space-2);width:224px;padding-bottom:var(--space-2)}.friend-menu__remark .friend-menu__title{padding-left:0}.friend-menu__remark{padding-left:var(--space-2);padding-right:var(--space-2)}.friend-menu__remark-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.friend-menu .field__input{background:#ffffff0f;border-color:#ffffff29;color:var(--menu-text)}.friend-menu .field__input::placeholder{color:var(--menu-text-muted)}.friend-menu .field__input:focus{border-color:var(--color-brand-500);box-shadow:0 0 0 2px #10b98138}.friend-menu__remark-actions .btn{background:#ffffff14;border-color:#ffffff29;color:var(--menu-text)}.friend-menu__remark-actions .btn:hover{background:#ffffff24}.friend-menu__remark-actions .btn--primary{background:var(--color-brand-600);border-color:var(--color-brand-600);color:#fff}.friend-menu__remark-actions .btn--primary:hover{background:var(--color-brand-700)}.friend-menu__item--active{background:var(--menu-active);color:#34d399;font-weight:600;box-shadow:inset 0 0 0 1px #10b9818c}.friend-menu__item--danger{color:var(--menu-danger);font-weight:600}.friend-menu__item--danger:before{content:"";position:absolute;left:calc(-1 * var(--space-1));right:calc(-1 * var(--space-1));top:-1px;height:1px;background:var(--menu-divider)}.friend-menu__item--danger:hover,.friend-menu__item--danger:focus-visible{background:var(--menu-danger-hover);color:var(--menu-danger)}.friend-menu--me{min-width:184px}.friend-menu--me .friend-menu__name{flex:1;text-align:left}.friend-menu--me .friend-menu__state{margin-left:var(--space-2)}.friend-menu--me .friend-menu__sub-trigger>svg:last-child{margin-left:var(--space-1);opacity:.6}.friend-menu__item--add{display:flex;align-items:center;justify-content:center;color:var(--menu-text-muted)}.friend-menu__sub{position:relative;display:flex;flex-direction:column}.friend-menu__sub-trigger{width:100%}.friend-menu__sub:hover>.friend-menu__sub-trigger,.friend-menu__sub:focus-within>.friend-menu__sub-trigger{background:var(--menu-hover)}.friend-menu__submenu{display:none;position:absolute;top:calc(-1 * var(--space-1));left:calc(100% - var(--space-1));min-width:0;width:max-content;white-space:nowrap}.friend-menu__sub--left>.friend-menu__submenu{left:auto;right:calc(100% - var(--space-1))}.friend-menu__sub:hover>.friend-menu__submenu,.friend-menu__sub:focus-within>.friend-menu__submenu{display:flex}.friend-menu__item:hover,.friend-menu__item:focus-visible{background:var(--menu-hover);outline:none}@media(max-width:640px){.friend-avatar__img{height:calc(56px * var(--avatar-scale, 1))}}@media(prefers-reduced-motion:reduce){.friend-avatar,.friend-avatar--focus .friend-avatar__img{animation:none}}.icon-rail{width:var(--rail-w);min-height:0;background:var(--c-rail);display:flex;flex-direction:column;align-items:center;padding:12px 0;flex-shrink:0}.icon-rail__logo{width:32px;height:32px;background:var(--c-primary);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;margin-bottom:20px;cursor:pointer}.icon-rail__nav{display:flex;flex-direction:column;gap:4px;flex:1}.icon-rail__item{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);text-decoration:none;color:#e8f0eab8;transition:background .15s,color .15s}.icon-rail__item:hover{background:#ffffff14;color:#fff}.icon-rail__item--active{background:var(--c-rail-active)!important;color:#fff}button.icon-rail__item{padding:0;font:inherit;cursor:pointer;background:transparent;border:none}.icon-rail__item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--c-primary)}.icon-rail__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.icon-rail__icon svg{display:block}.icon-rail__badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;background:var(--c-danger);color:#fff;font-size:10px;font-weight:600;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.icon-rail__dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--c-danger)}.icon-rail__item--gated{outline:1px dashed rgba(232,240,234,.4);outline-offset:-2px}.icon-rail__item--gated .icon-rail__icon{opacity:.55}.icon-rail__item--gated.icon-rail__item--active .icon-rail__icon,.icon-rail__item--gated:hover .icon-rail__icon{opacity:1}.icon-rail__settings{margin-top:4px}.icon-rail__me{margin-bottom:4px;background:#ffffff1a}.icon-rail__me:hover{background:#ffffff2e}.icon-rail__me-avatar{width:28px;height:28px;display:flex;align-items:center;justify-content:center;overflow:hidden}.icon-rail__me-avatar img{display:block;max-width:28px;max-height:28px}.icon-rail__me-avatar .avatar-crop{max-width:28px;max-height:28px}.icon-rail__me-avatar .avatar-crop>img{max-width:none;max-height:none;object-fit:fill}.icon-rail__bottom{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:auto}.icon-rail__tool-btn,.icon-rail__log-btn{background:transparent;border:none;cursor:pointer;padding:0}.icon-rail__item--pomo .icon-rail__icon{transform:scale(1.21);transform-origin:center}.icon-rail__item--running .icon-rail__icon{color:#4ade80e6}.icon-rail__item--break .icon-rail__icon{color:#60a5faeb}.icon-rail__pomo-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.icon-rail__pomo-ring__track{stroke:#ffffff29}.icon-rail__pomo-ring__progress{stroke:#4ade80;transition:stroke-dashoffset .35s linear,stroke .2s}.icon-rail__pomo-ring--break .icon-rail__pomo-ring__progress{stroke:#3b82f6}.icon-rail__pomo-ring--paused .icon-rail__pomo-ring__progress{stroke:currentColor}.icon-rail__item--dragging{opacity:.35}.icon-rail__item--drag-over{position:relative}.icon-rail__item--drag-over:before{content:"";position:absolute;left:4px;right:4px;top:-3px;height:2px;background:var(--c-primary, #10b981);border-radius:2px;pointer-events:none}.rail-promo{position:fixed;z-index:1300;width:240px;padding:var(--space-3);background:#fff;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);animation:rail-promo-in .18s ease-out}.rail-promo:before{content:"";position:absolute;left:-5px;bottom:13px;width:8px;height:8px;background:#fff;border-left:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);transform:rotate(45deg)}@keyframes rail-promo-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.rail-promo{animation:none}}.rail-promo__title{margin:0;padding-right:20px;font-size:var(--text-md);font-weight:600;line-height:1.4;color:var(--text-primary)}.rail-promo__list{margin:var(--space-2) 0 var(--space-3);padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.rail-promo__list li{position:relative;padding-left:14px;font-size:var(--text-xs);line-height:1.6;color:var(--text-secondary)}.rail-promo__list li:before{content:"";position:absolute;left:2px;top:7px;width:4px;height:4px;border-radius:50%;background:var(--color-brand-600)}.rail-promo__cta{width:100%;justify-content:center}.rail-promo__meta{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.rail-promo__meta--warn{margin-top:var(--space-1);line-height:1.5;color:var(--color-warning-700)}.rail-promo__close{position:absolute;top:var(--space-1);right:var(--space-1);width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.rail-promo__close:hover{background:#102b1d0f;color:var(--text-primary)}.rail-promo__close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--c-primary)}.feature-guide__spot{position:fixed;z-index:calc(var(--z-modal) + 1);border:2px solid var(--color-brand-600);border-radius:var(--radius-md);box-shadow:0 0 0 9999px #00000073;pointer-events:none;transition:top .2s,left .2s,width .2s,height .2s}.feature-guide__dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) + 1);background:#00000073}.feature-guide.feature-guide--center{top:50%;left:50%;width:360px;transform:translate(-50%,-50%)}.feature-guide{position:fixed;z-index:calc(var(--z-modal) + 2);width:280px;max-width:calc(100vw - var(--space-4));padding:var(--space-3) var(--space-4);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);background:#ffffff9e;-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);color:var(--text-primary);box-shadow:var(--shadow-popover);font-family:Microsoft YaHei,微软雅黑,sans-serif;font-size:var(--text-md);line-height:1.5}.feature-guide:before{content:"";position:absolute;left:var(--arrow-x, 24px);width:20px;height:9px;margin-left:-10px;background:#ffffff9e;-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);display:none}.feature-guide--bottom:before{display:block;top:-8px;clip-path:polygon(50% 0,100% 100%,0 100%)}.feature-guide--top:before{display:block;bottom:-8px;clip-path:polygon(0 0,100% 0,50% 100%)}.feature-guide--right:before{display:block;left:-8px;top:var(--arrow-y, 24px);width:9px;height:20px;margin:-10px 0 0;clip-path:polygon(0 50%,100% 0,100% 100%)}.feature-guide--left:before{display:block;left:auto;right:-8px;top:var(--arrow-y, 24px);width:9px;height:20px;margin:-10px 0 0;clip-path:polygon(0 0,100% 50%,0 100%)}.feature-guide__text{margin:0 0 var(--space-3)}.feature-guide__lead-icon{display:inline-flex;vertical-align:-4px;margin-right:var(--space-2)}.feature-guide__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.feature-guide__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(0,0,0,.08);border-radius:50%;background:#ffffffb3;color:var(--text-secondary);cursor:pointer}.feature-guide__icon-btn:hover{background:#fff;color:var(--text-primary)}.feature-guide__icon-btn:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}.feature-guide__icon-btn--primary{border-color:var(--color-brand-600);background:var(--color-brand-600);color:#fff}.feature-guide__icon-btn--primary:hover{background:var(--color-brand-700);color:#fff}@media(prefers-reduced-motion:reduce){.feature-guide__spot{transition:none}}.pomodoro-page{position:relative;width:100%;height:100%;color:#e8f0ea;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.pomodoro-page--bg-leaves{background:linear-gradient(#0000004d,#0000004d),url(/leaves-bg.png) left center / cover no-repeat fixed}.pomodoro-page--bg-dnd{background:#000}.pomodoro-dnd-banner{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;padding:0 4vw;max-width:100%;box-sizing:border-box;margin-bottom:20px;animation:pomo-dnd-breath 4.5s ease-in-out infinite}.pomodoro-dnd-banner__main{font-family:var(--font-title);font-weight:900;font-size:clamp(24px,calc(88vw / (var(--len, 8) + 1)),160px);letter-spacing:.06em;line-height:1.05;white-space:nowrap}.pomodoro-dnd-banner__sub{margin-top:14px;font-family:var(--font-title);font-weight:800;font-size:clamp(20px,calc(70vw / (var(--len, 4) + 1)),96px);letter-spacing:.1em;line-height:1}@keyframes pomo-dnd-breath{0%,to{opacity:1}50%{opacity:.78}}.pomodoro-dnd-banner--focusing{animation-duration:4.5s}.pomodoro-dnd-banner--focusing .pomodoro-dnd-banner__main{color:#ef4444;text-shadow:0 0 30px rgba(239,68,68,.6),0 0 80px rgba(239,68,68,.3)}.pomodoro-dnd-banner--focusing .pomodoro-dnd-banner__sub{color:#f87171;text-shadow:0 0 20px rgba(248,113,113,.45)}.pomodoro-dnd-banner--available{animation-duration:3s}.pomodoro-dnd-banner--available .pomodoro-dnd-banner__main{color:#22c55e;text-shadow:0 0 30px rgba(34,197,94,.6),0 0 80px rgba(34,197,94,.3)}.pomodoro-dnd-banner--available .pomodoro-dnd-banner__sub{color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.45)}.pomodoro-title{position:absolute;top:20px;left:28px;display:flex;align-items:center;gap:12px;z-index:2}.pomodoro-title h1{color:#fff}.pomodoro-title__float-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffffffa6;cursor:pointer;transition:background .15s,color .15s,border-color .15s;margin-left:4px}.pomodoro-title__float-btn:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.pomodoro-title__float-btn--active{background:#05966938;border-color:var(--c-primary);color:#a7d7c5}.pomodoro-dial{position:relative;width:min(72vmin,480px);height:min(72vmin,480px);display:flex;align-items:center;justify-content:center;margin-bottom:32px}.pomodoro-dial__svg{width:100%;height:100%;overflow:visible}.pomodoro-dial__outer-hit{fill:none;stroke:transparent;stroke-width:28;cursor:pointer;pointer-events:stroke}.pomodoro-dial__outer-hit:hover+.pomodoro-dial__outer-track{stroke:#ffffff3d}.pomodoro-dial__outer-track{fill:none;stroke:#ffffff40;stroke-width:6;pointer-events:none;transition:stroke .15s;filter:drop-shadow(0 0 4px rgba(255,255,255,.12))}.pomodoro-dial--no-goal .pomodoro-dial__outer-track{stroke:#ffffff14;stroke-dasharray:4 6;filter:none}.pomodoro-dial__outer-progress{fill:none;stroke:#f59e0b;stroke-width:6;stroke-linecap:round;pointer-events:none;opacity:.75;transition:stroke-dashoffset .4s linear,stroke .2s,opacity .3s}.pomodoro-dial__outer-progress--reached{filter:drop-shadow(0 0 8px rgba(34,197,94,.55))}.pomodoro-dial--break .pomodoro-dial__outer-progress--reached{filter:drop-shadow(0 0 8px rgba(59,130,246,.55))}.pomodoro-dial__inner-track{fill:none;stroke:#fff3;stroke-width:10;pointer-events:none;filter:drop-shadow(0 0 5px rgba(255,255,255,.1))}.pomodoro-dial__inner-progress{fill:none;stroke:var(--c-primary);stroke-width:10;stroke-linecap:round;pointer-events:none;opacity:.75;transition:stroke-dashoffset .4s linear,opacity .3s}.pomodoro-dial--break .pomodoro-dial__inner-progress{stroke:#3b82f6}.pomodoro-dial--running .pomodoro-dial__inner-progress{filter:drop-shadow(0 0 6px rgba(5,150,105,.6))}.pomodoro-dial--break.pomodoro-dial--running .pomodoro-dial__inner-progress{filter:drop-shadow(0 0 6px rgba(59,130,246,.6))}.pomodoro-dial--running .pomodoro-dial__time{color:#fff}.pomodoro-dial:not(.pomodoro-dial--running):not(.pomodoro-dial--paused) .pomodoro-dial__inner-track,.pomodoro-dial:not(.pomodoro-dial--running):not(.pomodoro-dial--paused) .pomodoro-dial__outer-track,.pomodoro-dial:not(.pomodoro-dial--running):not(.pomodoro-dial--paused) .pomodoro-dial__outer-progress{opacity:.45}.pomodoro-dial:not(.pomodoro-dial--running):not(.pomodoro-dial--paused) .pomodoro-dial__time{opacity:.45}.pomodoro-dial__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.pomodoro-dial__center>*{pointer-events:auto}.pomodoro-dial__time{font-family:var(--font-title);font-size:68px;font-weight:700;letter-spacing:2px;font-variant-numeric:tabular-nums;color:#fff;line-height:1}.pomodoro-dial--break .pomodoro-dial__time{color:#bfdbfe}.pomodoro-controls{display:flex;flex-direction:column;align-items:center;gap:10px}.pomodoro-btn{--pomo-btn-border: rgba(255, 255, 255, .12);--pomo-btn-border-w: 1.5px;position:relative;margin:0;padding:11px 37px;border:0;border-radius:999px;background:transparent;font-family:inherit;font-size:14px;font-weight:600;line-height:1;text-align:center;box-sizing:border-box;color:#fff;cursor:pointer;min-width:120px;letter-spacing:1px;transition:background .15s,box-shadow .15s,color .15s}.pomodoro-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 var(--pomo-btn-border-w) var(--pomo-btn-border);pointer-events:none}.pomodoro-btn--primary{--pomo-btn-border: rgba(5, 150, 105, .55)}.pomodoro-btn--primary:hover{--pomo-btn-border: rgba(5, 150, 105, .8);background:#05966924;box-shadow:0 0 14px #05966947}.pomodoro-btn--primary.pomodoro-btn--running{--pomo-btn-border: rgba(255, 255, 255, .12)}.pomodoro-btn--primary.pomodoro-btn--running:hover{--pomo-btn-border: rgba(255, 255, 255, .26);background:#ffffff17;box-shadow:none}.pomodoro-btn--end:hover{--pomo-btn-border: rgba(239, 68, 68, .4);background:#ef444426;color:#fca5a5}.pomodoro-btn--hidden{visibility:hidden;pointer-events:none}.pomodoro-dial__tasks{display:flex;flex-direction:column;align-items:center;gap:4px;width:250px;margin-bottom:12px}.pomodoro-dial__task,.pomodoro-dial__task-input{box-sizing:border-box;width:100%;border:1px solid transparent;border-radius:8px;font-family:var(--font-title);line-height:1.2;text-align:center}.pomodoro-dial__task--main,.pomodoro-dial__task-input--main{padding:4px 10px;font-weight:600;color:#ffffffeb;letter-spacing:.3px}.pomodoro-dial__task--sec,.pomodoro-dial__task-input--sec{padding:3px 8px;font-weight:500;color:#ffffff9e;letter-spacing:.2px}.pomodoro-dial__task{display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;background:transparent;transition:background .15s,color .15s,border-color .15s}.pomodoro-dial__task:hover{background:#ffffff0f;border-color:#ffffff1a}.pomodoro-dial__task--empty{color:#ffffff52;font-style:italic;font-weight:500}.pomodoro-dial__task--empty:hover{color:#ffffff8c}.pomodoro-dial__task-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pomodoro-dial__task-clear{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:14px;font-weight:400;line-height:1;color:#ffffff59;opacity:0;transition:opacity .15s,background .15s,color .15s}.pomodoro-dial__task:hover .pomodoro-dial__task-clear{opacity:1}.pomodoro-dial__task-clear:hover{background:#ef444438;color:#fca5a5}.pomodoro-dial__task-input{background:#ffffff14;border-color:#ffffff38;color:#fff;outline:none;font-family:var(--font-title)}.pomodoro-dial__task-input:focus{border-color:var(--c-primary);background:#ffffff1f}.pomodoro-dial__task-input::placeholder{color:#ffffff52;font-style:italic;font-weight:500}.pomodoro-dial__task-add{padding:2px 10px;border:1px dashed rgba(255,255,255,.22);border-radius:999px;background:transparent;color:#ffffff80;font-family:inherit;font-size:12px;line-height:1.4;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.pomodoro-dial__task-add:hover{color:#ffffffd9;border-color:#fff6;background:#ffffff0d}.pomodoro-dial__time-btn{display:flex;align-items:center;justify-content:center;padding:4px 12px;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:12px;transition:background .15s}.pomodoro-dial__time-btn:hover{background:#ffffff0a}.pomodoro-page{container-type:size;justify-content:safe center;overflow-y:auto;padding-top:64px;box-sizing:border-box}.pomodoro-page .pomodoro-dial{width:var(--pomo-dial, min(72vmin, 480px));height:var(--pomo-dial, min(72vmin, 480px));margin-bottom:16px;flex:none}.pomodoro-page .pomodoro-dial__center{transform:translate(-50%,-50%) scale(var(--pomo-scale, 1))}.pomodoro-page .pomodoro-dnd-banner{margin-bottom:8px}.pomodoro-page .pomodoro-dnd-banner__main{font-size:clamp(20px,min(calc(88cqw / (var(--len, 8) + 1)),10cqh),160px)}.pomodoro-page .pomodoro-dnd-banner__sub{font-size:clamp(14px,min(calc(44cqw / (var(--len, 8) + 1)),5cqh),80px)}.pomodoro-dock{position:fixed;z-index:9000;box-sizing:border-box;background:#000;box-shadow:var(--shadow-popover)}.pomodoro-dock__body{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.pomodoro-dock__resize{position:absolute;z-index:2;background:transparent;touch-action:none;transition:background .15s}.pomodoro-dock__resize:hover,.pomodoro-dock__resize--active{background:var(--color-brand-600);opacity:.8}.pomodoro-dock--top .pomodoro-dock__resize,.pomodoro-dock--bottom .pomodoro-dock__resize{left:0;right:0;height:6px;cursor:ns-resize}.pomodoro-dock--left .pomodoro-dock__resize,.pomodoro-dock--right .pomodoro-dock__resize{top:0;bottom:0;width:6px;cursor:ew-resize}.pomodoro-dock--top .pomodoro-dock__resize{bottom:0}.pomodoro-dock--bottom .pomodoro-dock__resize{top:0}.pomodoro-dock--left .pomodoro-dock__resize{right:0}.pomodoro-dock--right .pomodoro-dock__resize{left:0}.pomodoro-dock-guide{position:fixed;z-index:8999;background:var(--color-brand-600);opacity:.35;border:2px solid var(--color-brand-600);box-sizing:border-box;pointer-events:none}.pomodoro-dock-guide--top{top:0;left:0;right:0}.pomodoro-dock-guide--bottom{bottom:0;left:0;right:0}.pomodoro-dock-guide--left{left:0;top:0;bottom:0}.pomodoro-dock-guide--right{right:0;top:0;bottom:0}.pomodoro-dock__handle{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffffffa6;cursor:grab;touch-action:none;transition:background .15s,color .15s,border-color .15s}.pomodoro-dock__handle:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.pomodoro-dock__handle:active{cursor:grabbing}.pomodoro-dock__handle:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}.pomodoro-float{position:fixed;z-index:9000;border-radius:50%;background:url(/leaves-bg.png) center / cover no-repeat;box-shadow:0 8px 24px #0006;-webkit-user-select:none;user-select:none;font-family:var(--font-body);color:#e8f0ea;cursor:pointer;transition:box-shadow .15s,transform .1s;touch-action:none}.pomodoro-float:active{cursor:grabbing;transform-origin:center}.pomodoro-float--dragging{box-shadow:0 14px 36px #0000008c;cursor:grabbing}.pomodoro-float__ring{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.pomodoro-float__ring-track{stroke:#ffffff40}.pomodoro-float__ring-track--inner{stroke:#fff3}.pomodoro-float__ring-progress--outer{opacity:.75;transition:stroke-dashoffset .3s ease,stroke .2s,opacity .3s}.pomodoro-float__ring-progress--reached{filter:drop-shadow(0 0 6px rgba(34,197,94,.55))}.pomodoro-float--break .pomodoro-float__ring-progress--reached{filter:drop-shadow(0 0 6px rgba(59,130,246,.55))}.pomodoro-float__ring-progress--inner{stroke:var(--c-primary);opacity:.75;transition:stroke-dashoffset .3s linear,opacity .3s}.pomodoro-float--break .pomodoro-float__ring-progress--inner{stroke:#3b82f6}.pomodoro-float--idle .pomodoro-float__ring-track,.pomodoro-float--idle .pomodoro-float__ring-track--inner{opacity:.45}.pomodoro-float--idle .pomodoro-float__ring-progress--outer,.pomodoro-float--idle .pomodoro-float__ring-progress--inner{opacity:.35}.pomodoro-float--idle .pomodoro-float__time,.pomodoro-float--idle .pomodoro-float__bg-icon{opacity:.55}.pomodoro-float__bg-icon{position:absolute;top:50%;left:50%;width:53px;height:53px;transform:translate(-50%,-50%);color:#fff6;pointer-events:none;z-index:1;line-height:0}.pomodoro-float:hover .pomodoro-float__bg-icon{color:#ffffff80}.pomodoro-float__time{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-title);font-size:20px;font-weight:700;line-height:1;letter-spacing:.5px;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 4px rgba(0,0,0,.75);pointer-events:none;z-index:3}.pomodoro-float--break .pomodoro-float__time{color:#bfdbfe}.global-tooltip{position:fixed;z-index:var(--z-tooltip);max-width:320px;padding:var(--space-2) var(--space-3);background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);color:var(--text-inverse);font-family:Microsoft YaHei,微软雅黑,sans-serif;font-size:var(--text-md);font-weight:400;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere;pointer-events:none;animation:global-tooltip-in .12s ease-out}@keyframes global-tooltip-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.global-tooltip{animation:none}}.version-dialog__current{color:var(--text-muted);font-size:var(--text-xs)}.version-dialog__list{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.version-dialog__release{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.version-dialog__head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--color-brand-50)}.version-dialog__ver{flex-shrink:0;color:var(--text-primary);font-size:var(--text-md);font-weight:700;line-height:1.4;font-variant-numeric:tabular-nums}.version-dialog__ver--latest{color:var(--color-brand-700)}.version-dialog__title{flex:1;min-width:0;margin:0;color:var(--text-primary);font-size:var(--text-md);font-weight:600;line-height:1.4;overflow-wrap:anywhere}.version-dialog__date{flex-shrink:0;margin-left:auto;color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.version-dialog__changes{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:var(--space-3) var(--space-4);list-style:none}.version-dialog__change{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);line-height:1.5}.version-dialog__tag{flex-shrink:0;min-width:36px;height:18px;padding:0 6px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;line-height:18px;text-align:center;margin-top:1px}.version-dialog__tag--feature{background:var(--color-brand-700);color:var(--text-inverse)}.version-dialog__tag--improve{background:var(--color-info-500);color:var(--text-inverse)}.version-dialog__tag--fix{background:var(--color-danger-600);color:var(--text-inverse)}.version-dialog__tag--remove{background:var(--text-secondary);color:var(--text-inverse)}.version-dialog__text{color:var(--text-secondary);overflow-wrap:anywhere}.ctm-overlay{position:fixed;inset:var(--dock-inset, 0);background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.ctm-modal{width:min(680px,92vw);max-height:85vh;background:#fff;border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;position:relative}.ctm-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--c-border)}.ctm-title{font-size:16px;font-weight:600;margin:0}.ctm-subtitle{font-size:12px;color:var(--c-text-secondary);flex:1}.ctm-close{width:26px;height:26px;border-radius:6px;border:none;background:transparent;cursor:pointer;font-size:20px;line-height:1;color:var(--c-text-secondary);display:flex;align-items:center;justify-content:center}.ctm-close:hover{background:#0000000d;color:#000}.ctm-body{flex:1;overflow-y:auto;padding:16px 20px}.ctm-empty{padding:24px 16px;text-align:center;color:var(--c-text-secondary);font-size:13px;background:#00000005;border-radius:var(--radius-md);margin-bottom:12px}.ctm-field-list{list-style:none;margin:0;padding:0}.ctm-field-wrapper{position:relative;margin-bottom:8px}.ctm-field{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:#fff;transition:opacity .15s}.ctm-field--dragging{opacity:.4}.ctm-field-drop-line{height:2px;background:var(--c-primary);border-radius:2px;margin:2px 0;box-shadow:0 0 4px #05966999;pointer-events:none}.ctm-drag-handle{color:var(--c-text-secondary);cursor:grab;-webkit-user-select:none;user-select:none;font-size:14px;opacity:.4;transition:opacity .15s;flex-shrink:0;line-height:1}.ctm-field:hover .ctm-drag-handle{opacity:.8}.ctm-drag-handle:active{cursor:grabbing}.ctm-icon-btn{width:22px;height:20px;border:1px solid var(--c-border);background:#fff;border-radius:4px;cursor:pointer;font-size:11px;color:var(--c-text-secondary);display:flex;align-items:center;justify-content:center;padding:0}.ctm-icon-btn:hover:not(:disabled){background:var(--c-primary-light);color:var(--c-primary-dark)}.ctm-icon-btn:disabled{opacity:.3;cursor:not-allowed}.ctm-type{height:32px;padding:0 8px;border:1px solid var(--c-border);border-radius:var(--radius-md);font-size:13px;background:#fff;flex-shrink:0;width:110px}.ctm-label{flex:1;height:32px;padding:0 10px;border:1px solid var(--c-border);border-radius:var(--radius-md);font-size:13px;background:#fff}.ctm-label:focus{outline:none;border-color:var(--c-primary)}.ctm-icon{height:32px;padding:0 6px;border:1px solid var(--c-border);border-radius:var(--radius-md);font-size:14px;background:#fff;width:60px;flex-shrink:0}.ctm-del{border-color:transparent;color:var(--c-danger)}.ctm-del:hover:not(:disabled){background:#fee2e2;color:var(--c-danger)}.ctm-hide-label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--c-text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0}.ctm-hide-label input{margin:0;cursor:pointer}.ctm-add-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--c-border);font-size:13px;color:var(--c-text-secondary)}.ctm-add-btn{height:28px;padding:0 10px;border:1px dashed var(--c-border);background:transparent;border-radius:var(--radius-md);cursor:pointer;font-size:12px;color:var(--c-text-secondary)}.ctm-add-btn:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-light)}.ctm-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--c-border);background:#00000005}.ctm-footer__right{display:flex;gap:8px}.ctm-btn--clear{color:var(--c-danger)}.ctm-btn--clear:hover{background:#fee2e2}.ctm-required-badge{flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:600;color:var(--c-danger);background:#fee2e2;border-radius:4px;letter-spacing:.5px}.ctm-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--radius-lg)}.ctm-confirm{width:min(420px,88%);background:#fff;border-radius:var(--radius-lg);box-shadow:0 12px 32px #00000040;padding:18px 20px 16px}.ctm-confirm__title{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--c-text)}.ctm-confirm__list{margin:0 0 16px;padding-left:20px;font-size:13px;color:var(--c-text);line-height:1.6}.ctm-confirm__list li{margin-bottom:2px}.ctm-confirm__actions{display:flex;justify-content:flex-end;gap:8px}.cb-card{position:relative;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:#fff;box-shadow:0 1px 2px #0000000a,0 1px 3px #0000000f;overflow:visible;transition:border-color .15s,box-shadow .15s,transform .15s}.cb-card:hover{border-color:#05966959;box-shadow:0 2px 4px #0000000d,0 4px 10px #00000014;transform:translateY(-1px)}.cb-card__header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px dashed var(--c-border);background:#0596690d;min-height:38px}.cb-card__actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.cb-card__title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:4px;max-width:calc(100% - 100px);pointer-events:auto}.cb-card__title-text{font-size:16px;font-weight:600;color:var(--c-text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;cursor:text;padding:2px 6px;border-radius:4px;transition:background .15s}.cb-card__title-text:hover{background:#05966914}.cb-card__title-text--empty{color:var(--c-text-secondary);font-weight:500;font-style:italic}.cb-card__title-input{width:100%;max-width:100%;font-size:16px;font-weight:600;color:var(--c-text);line-height:1.3;text-align:center;padding:2px 6px;border:1px solid var(--c-primary);border-radius:4px;background:#fff;outline:none;box-shadow:0 0 0 3px #05966926;font-family:inherit}.cb-card--mastered .cb-card__title-text{text-decoration:line-through;opacity:.7}.cb-drag-handle{color:var(--c-text-secondary);cursor:grab;-webkit-user-select:none;user-select:none;font-size:14px;opacity:.5;transition:opacity .15s}.cb-card:hover .cb-drag-handle{opacity:1}.cb-drag-handle:active{cursor:grabbing}.cb-card__title-hint{font-size:11px;color:var(--c-text-secondary);letter-spacing:.5px;text-transform:uppercase;flex:1}.cb-card__tick{font-size:11px;color:var(--c-primary);font-weight:700;flex-shrink:0}.cb-card__master-btn{width:22px;height:22px;border:1px solid var(--c-border);background:#fff;color:var(--c-text-secondary);border-radius:50%;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s,border-color .15s}.cb-card:hover .cb-card__master-btn{opacity:.85}.cb-card__master-btn:hover{background:var(--c-primary-light);color:var(--c-primary-dark);border-color:var(--c-primary)}.cb-card--mastered .cb-card__master-btn{opacity:1;background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.cb-card--mastered .cb-card__body{opacity:.45}.cb-card--mastered:hover .cb-card__body{opacity:.7}.cb-card__del{width:22px;height:22px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--c-text-secondary);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.4;transition:opacity .15s,background .15s,color .15s}.cb-card:hover .cb-card__del{opacity:1}.cb-card__del:hover{background:#fee2e2;color:var(--c-danger)}.cb-card__body{padding:10px 12px 14px;display:flex;flex-direction:column;gap:14px}.cb-card__empty{color:var(--c-text-secondary);font-size:12px;text-align:center;padding:8px;font-style:italic}.cb-field{display:flex;flex-direction:column;gap:4px}.cb-field__label{font-size:11px;color:var(--c-text-secondary);font-weight:500;letter-spacing:.3px}.cb-field__value{width:100%}.cb-input,.cb-longtext{width:100%;padding:6px 10px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:#fff;font-size:14px;font-family:inherit}.cb-input:focus,.cb-longtext:focus{outline:none;border-color:var(--c-primary)}.cb-longtext{min-height:48px;line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word}.cb-image-wrap{width:100%}.cb-image-paste-zone{width:100%;min-height:48px;border:1px dashed var(--c-border);border-radius:var(--radius-md);outline:none;cursor:pointer;transition:border-color .15s}.cb-image-paste-zone:focus,.cb-image-paste-zone:hover{border-color:var(--c-primary)}.cb-image-pick{width:100%;padding:14px;border:1px dashed var(--c-border);border-radius:var(--radius-md);background:transparent;cursor:pointer;font-size:13px;color:var(--c-text-secondary);transition:all .15s}.cb-image-pick:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-light)}.cb-image-preview{position:relative;border-radius:var(--radius-md);overflow:visible;background:#f6f7f6;max-width:100%;outline:none}.cb-image-preview img{display:block;max-width:100%;margin:0 auto;border-radius:var(--radius-md)}.cb-image-resize-handle{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--c-primary);border:2px solid #fff;box-shadow:0 1px 4px #00000040;cursor:nwse-resize;right:-4px;bottom:-4px;opacity:0;transition:opacity .15s;z-index:2}.cb-image-preview:hover .cb-image-resize-handle,.cb-image-preview:focus-within .cb-image-resize-handle{opacity:1}.cb-image-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border:none;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.cb-image-preview:hover .cb-image-remove{opacity:1}.cb-rating{display:flex;gap:4px;align-items:center}.cb-rating__icon{width:28px;height:28px;border:none;background:transparent;cursor:pointer;font-size:18px;line-height:1;padding:0;opacity:.28;filter:grayscale(.8);transition:opacity .15s,filter .15s,transform .08s}.cb-rating__icon:hover{transform:scale(1.15)}.cb-rating__icon--active{opacity:1;filter:none}.cb-tags-field{position:relative;width:100%}.cb-tags-field__list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:28px}.cb-tag{display:inline-flex;align-items:center;padding:3px 10px;background:var(--c-primary);color:#fff;border-radius:var(--radius-md);font-size:12px;line-height:1.4;white-space:nowrap}.cb-tags-field__input{flex:1;min-width:20px;max-width:100%;height:24px;border:none;background:transparent;font-size:12px;outline:none;padding:0 4px;color:var(--c-text)}.cb-tags-field__input:focus{min-width:80px}.cb-tags-field__input::placeholder{color:var(--c-text-secondary);font-size:11px}.cb-tags-suggest{position:absolute;top:100%;left:0;margin-top:4px;min-width:100px;max-width:100%;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001f;z-index:10;padding:4px 0;max-height:160px;overflow-y:auto}.cb-tags-suggest__item{padding:5px 12px;font-size:13px;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.cb-tags-suggest__item:hover{background:var(--c-primary-light);color:var(--c-primary-dark)}.cb-card:has(.cb-tags-suggest){z-index:20}.cb-card__resize-handle{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--c-primary);border:2px solid #fff;box-shadow:0 1px 4px #00000040;cursor:nwse-resize;right:-4px;bottom:-4px;opacity:0;transition:opacity .15s;z-index:2}.cb-card:hover .cb-card__resize-handle{opacity:1}.kd-page{height:100%;overflow-y:auto;padding:20px 32px;flex:1}.kd-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.kd-topbar__actions{display:flex;gap:8px;align-items:center}.kd-share-btn{width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-border);border-radius:var(--radius-md);background:#fff;color:var(--c-text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.kd-share-btn:hover:not(:disabled){background:var(--c-primary-light);color:var(--c-primary-dark);border-color:var(--c-primary)}.kd-share-btn:disabled{cursor:default;opacity:.6}.kd-share-btn__spinner{width:12px;height:12px;border-radius:50%;border:2px solid var(--c-border);border-top-color:var(--c-primary);animation:kd-share-spin .7s linear infinite}@keyframes kd-share-spin{to{transform:rotate(360deg)}}.kd-content--exporting{background:#fff;padding:24px 28px;border-radius:0}.kd-content--exporting .kd-drag-handle,.kd-content--exporting .kd-section-del,.kd-content--exporting .kd-add-point,.kd-content--exporting .kd-add-section,.kd-content--exporting .kd-point-master-btn,.kd-content--exporting .kd-tasks-section,.kd-content--exporting .kd-section-drop-line{display:none!important}.kd-content--exporting .kd-section-block{border:none!important;background:transparent!important;border-radius:0!important;padding:0!important;margin-bottom:18px}.kd-find-replace{position:fixed;top:80px;right:32px;z-index:100;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 6px 20px #0000001f}.kd-find-replace__input{width:160px;padding:6px 10px;font-size:13px;border:1px solid var(--c-border);border-radius:4px;background:#fff;color:var(--c-text, #1f2937)}.kd-find-replace__input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.kd-find-replace__count{font-size:12px;color:var(--c-text-secondary);white-space:nowrap;min-width:40px;text-align:right}.kd-find-replace .btn{padding:6px 12px;font-size:13px;border-radius:4px;border:1px solid var(--c-border);background:#fff;color:var(--c-text, #1f2937);cursor:pointer}.kd-find-replace .btn--primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.kd-find-replace .btn--primary:disabled{opacity:.45;cursor:not-allowed}mark.kd-find-hl{background:#facc158c;color:inherit;padding:0 1px;border-radius:2px}.btn--danger{font-size:13px;padding:4px 12px;border-radius:var(--radius-md);border:1px solid var(--c-border);background:#fff;color:var(--c-danger);transition:background .15s,border-color .15s}.btn--danger:hover{background:#fee2e2;border-color:var(--c-danger)}.kd-mastered-btn{font-size:13px;padding:4px 12px;border-radius:var(--radius-md);border:1px solid var(--c-border);background:#fff;color:var(--c-text, #1f2937);transition:background .15s,color .15s,border-color .15s}.kd-mastered-btn:hover{background:var(--c-primary-light);color:var(--c-primary-dark);border-color:var(--c-primary)}.kd-mastered-btn--on{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.kd-mastered-btn--on:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}.kd-template-btn{font-size:13px;padding:4px 12px;border-radius:var(--radius-md);border:1px solid var(--c-border);background:#fff;color:var(--c-text, #1f2937);transition:background .15s,color .15s,border-color .15s}.kd-template-btn:hover,.kd-template-btn--on{background:var(--c-primary-light);color:var(--c-primary-dark);border-color:var(--c-primary)}.kd-cards{margin-top:16px}.kd-cards__add-btn{width:32px;padding:0;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.kd-cards__empty{padding:20px;text-align:center;color:var(--c-text-secondary);font-size:13px;background:#00000004;border-radius:var(--radius-md);border:1px dashed var(--c-border)}.kd-cards__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-w, 240px),1fr));gap:12px;align-items:start}.kd-mastery-suggest{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:16px;border-radius:var(--radius-md);background:#0596691f;border:1px solid rgba(5,150,105,.35)}.kd-mastery-suggest__icon{font-size:18px}.kd-mastery-suggest__text{flex:1;font-size:13px;line-height:1.5;color:#ffffffd9}.kd-mastery-suggest__text small{display:block;font-size:11px;color:#ffffff8c;margin-top:2px}.kd-mastery-suggest__actions{display:flex;gap:8px;flex-shrink:0}.kd-title{font-size:22px;font-weight:700;margin-bottom:8px}.kd-meta{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.kd-tag{color:var(--c-primary);font-size:13px}.kd-source{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:calc(var(--space-2) * -1) 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.kd-source__badge{padding:2px var(--space-2);border:1px solid var(--color-brand-100);border-radius:var(--radius-pill);background:var(--color-brand-50);color:var(--color-brand-700);font-size:var(--text-xs);font-weight:600;line-height:16px}.kd-source__text{overflow-wrap:anywhere}.editable-text{cursor:text;border-radius:4px;padding:1px 2px;outline:none;min-width:60px;white-space:pre-wrap;word-break:break-word;transition:background .15s}.editable-text:hover{background:#00000008}.editable-text:focus{background:#0000000a;box-shadow:0 0 0 2px var(--c-primary-light)}.editable-text strong,.editable-text b,.editable-text .md-mark--strong{font-weight:700}.editable-text--empty:not(:focus):before{content:attr(data-placeholder);color:var(--c-text-secondary);font-style:italic;pointer-events:none}.kd-points{margin-bottom:32px;position:relative}.kd-img-resize-handle{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--c-primary);border:2px solid #fff;box-shadow:0 1px 3px #00000040;cursor:nwse-resize;z-index:5;pointer-events:auto}.kd-section-wrapper{position:relative}.kd-section-block{margin-bottom:20px;padding:12px 16px;background:var(--c-surface, rgba(0,0,0,.02));border-radius:var(--radius-lg);border:1px solid var(--c-border);transition:opacity .15s}.kd-section-block--dragging{opacity:.45}.kd-section-drop-line{height:2px;background:var(--c-primary);border-radius:2px;margin:-1px 0 7px;box-shadow:0 0 4px #05966999;pointer-events:none}.kd-section-wrapper+.kd-section-wrapper .kd-section-drop-line:first-child{margin-top:-12px}.kd-drag-handle{color:var(--c-text-secondary);font-size:16px;cursor:grab;flex-shrink:0;-webkit-user-select:none;user-select:none;opacity:.4;transition:opacity .15s;line-height:1}.kd-section-block:hover .kd-drag-handle{opacity:.8}.kd-section-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--c-border)}.kd-heading-text{font-size:15px;font-weight:600;flex:1}.kd-section-del{width:22px;height:22px;border-radius:50%;border:none;cursor:pointer;color:var(--c-text-secondary);font-size:14px;line-height:1;background:transparent;transition:all .15s;display:flex;align-items:center;justify-content:center}.kd-section-del:hover{background:#fee2e2;color:var(--c-danger)}.kd-point-list{list-style:none;margin:0;padding:0}.kd-point{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.04);position:relative}.kd-point:last-child{border-bottom:none}.kd-point--media{padding-left:0}.kd-point-bullet{color:var(--c-primary);font-size:14px;line-height:1.6;flex-shrink:0;margin-top:1px;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:16px;text-align:center}.kd-point-bullet:hover{opacity:.7}.kd-point-bullet--num{font-size:12px;font-weight:600;color:var(--c-primary)}.kd-point-bullet--tick{font-weight:700;font-size:12px}.kd-point-text{font-size:14px;line-height:1.6;flex:1}.kd-point--selected{background:#05966914;border-radius:4px;box-shadow:0 0 0 2px var(--c-primary, #059669);outline:none}.editable-text--two-state.editable-text--selected:not(.editable-text--editing){caret-color:transparent;cursor:default;-webkit-user-select:none;user-select:none}.kd-point--selected .editable-text:focus,.kd-point--selected .editable-text:hover{background:transparent;box-shadow:none}.editable-text--two-state.editable-text--editing{caret-color:auto;cursor:text;-webkit-user-select:text;user-select:text}.editable-text--two-state:not(.editable-text--selected):not(.editable-text--editing){cursor:default}.kd-point--mastered .kd-point-text{opacity:.45;text-decoration:line-through}.kd-point--mastered:hover .kd-point-text{opacity:.7}.kd-point-master-btn{flex-shrink:0;width:22px;height:22px;border:1px solid var(--c-border);background:#fff;color:var(--c-text-secondary);border-radius:50%;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s,border-color .15s}.kd-point:hover .kd-point-master-btn{opacity:.85}.kd-point-master-btn:hover{background:var(--c-primary-light);color:var(--c-primary-dark);border-color:var(--c-primary)}.kd-point--mastered .kd-point-master-btn{opacity:1;background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.kd-point-text img,.kd-point-text video{display:block;max-width:min(200%,1120px);border-radius:var(--radius-md);margin:4px 0;box-shadow:var(--shadow-sm)}.kd-point-text img:not([style*=width]){max-height:200px;object-fit:contain}.kd-add-point{display:flex;margin-top:4px;align-items:center;justify-content:center;gap:8px}.kd-add-point__btn{border:none;border-radius:4px;padding:2px 8px;font-size:16px;background:transparent;color:#00000026;width:30px;text-align:center;cursor:pointer;line-height:1.6;transition:all .15s}.kd-add-point__btn:hover{color:var(--c-primary);background:var(--c-primary-light)}.kd-add-section{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;margin:8px auto 0;color:#00000026;font-size:18px;cursor:pointer;background:transparent;transition:all .15s}.kd-add-section:hover{color:var(--c-primary);background:var(--c-primary-light)}.kd-section{margin-bottom:24px}.kd-section__title{font-size:14px;font-weight:600;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--c-border)}.kd-empty{font-size:13px;color:var(--c-text-secondary)}.kd-task-list{list-style:none;margin-bottom:10px}.kd-task{display:flex;gap:8px;align-items:center;padding:6px 0;font-size:13px;cursor:pointer}.kd-task:hover{color:var(--c-primary)}.kd-task--done .kd-task__title{text-decoration:line-through;color:var(--c-text-secondary)}.kd-task__status{font-size:11px;color:var(--c-text-secondary);margin-left:auto}.kd-task__del{width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:var(--c-text-secondary);font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s;display:flex;align-items:center;justify-content:center}.kd-task:hover .kd-task__del{opacity:1}.kd-task__del:hover{background:#fee2e2;color:var(--c-danger)}.kd-task-create{display:flex;gap:8px}.kd-task-create .field__input{flex:1}.library-distill-entry{display:flex;flex:none;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-lg);margin-bottom:var(--space-3);padding:0 var(--space-3) 0 var(--space-2);border:1px solid var(--color-brand-500);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-brand-600),var(--color-brand-700));box-shadow:var(--shadow-card);color:#fff;font-family:inherit;font-size:var(--text-md);font-weight:600;text-align:left;cursor:pointer;transition:filter .16s ease,box-shadow .16s ease,border-color .16s ease}.library-distill-entry__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-sm);background:#fff3}.library-distill-entry__icon>svg{width:16px;height:16px}.library-distill-entry:hover{filter:brightness(1.1);box-shadow:var(--shadow-card-hover)}.library-distill-entry:active{filter:brightness(.95)}.library-distill-entry--active,.library-distill-entry--active:hover{border-color:#fff;box-shadow:0 0 0 2px var(--color-brand-100)}.library-distill-entry:focus-visible{outline:2px solid #fff;outline-offset:2px}.library-distill-entry__tag{margin-left:auto;padding:0 var(--space-2);border-radius:var(--radius-pill);background:#00000040;color:#ffffffe6;font-size:var(--text-xs);font-weight:400;line-height:18px}.library-distill-pane{height:100%;min-height:0}.library-distill-pane[hidden]{display:none}.distill-lead,.distill-muted{margin:0;color:var(--text-secondary);line-height:1.5}.distill-lead{margin-bottom:var(--space-4);font-size:var(--text-sm)}.distill-muted{font-size:var(--text-xs)}.distill-page .btn--primary{border-color:var(--color-brand-600);background:var(--color-brand-600);color:#fff}.distill-page .btn--primary:not(:disabled):hover{border-color:var(--color-brand-700);background:var(--color-brand-700)}.distill-page .btn--danger{border-color:color-mix(in srgb,var(--color-danger-500) 35%,#fff);background:var(--color-danger-50);color:var(--color-danger-600)}.distill-notices{display:flex;flex-direction:column;gap:var(--space-2)}.distill-notices:not(:empty){margin-bottom:var(--space-4)}.distill-notice{display:flex;align-items:center;gap:var(--space-3);margin:0;padding:var(--space-2) var(--space-3);border:1px solid;border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5}.distill-notice>span{flex:1;min-width:0;overflow-wrap:anywhere}.distill-notice>.btn{flex:none}.distill-notice--info{color:var(--color-brand-700);background:var(--color-brand-50);border-color:var(--color-brand-100)}.distill-notice--warning{color:var(--text-primary);background:color-mix(in srgb,var(--color-warning-500) 10%,#fff);border-color:color-mix(in srgb,var(--color-warning-500) 45%,#fff)}.distill-notice--error{color:var(--color-danger-600);background:var(--color-danger-50);border-color:color-mix(in srgb,var(--color-danger-500) 35%,#fff)}.kd-section-block>.distill-notice{margin-top:var(--space-3)}.distill-title-input{display:block;width:100%;padding:0 var(--space-1);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;font-family:inherit;line-height:1.3}.distill-title-input:hover{border-color:var(--border-subtle)}.distill-title-input:focus-visible,.distill-topic__select:focus-visible,.distill-source__input:focus-visible,.distill-point-input:focus-visible{border-color:var(--color-brand-600);outline:2px solid var(--color-brand-100);outline-offset:0}.distill-topic{display:inline-flex;align-items:center}.distill-topic__select{padding:0 var(--space-1);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--c-primary);font-family:inherit;font-size:var(--text-sm);cursor:pointer}.distill-source{display:inline-flex;flex:1 1 240px;align-items:center;gap:var(--space-1);min-width:0}.distill-source__input{flex:1;min-width:0;padding:0 var(--space-1);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;font-family:inherit;font-size:var(--text-sm)}.distill-source__input:hover{border-color:var(--border-subtle)}.distill-heading-input{width:100%;min-width:0;padding:0 var(--space-1);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;font-family:inherit}.distill-heading-input:hover{border-color:var(--border-subtle)}.distill-heading-input:focus-visible{border-color:var(--color-brand-600);outline:2px solid var(--color-brand-100);outline-offset:0}.distill-point-input{width:100%;padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;font-family:inherit;font-size:var(--text-md);line-height:1.6;resize:vertical}.distill-point-input:hover{border-color:var(--border-subtle)}.distill-point-input{flex:1 1 auto;min-width:0;field-sizing:content}.distill-field{width:100%;font-family:inherit}textarea.distill-field{padding:var(--space-2) 10px;line-height:1.6;resize:vertical}.distill-article{min-height:calc(var(--space-12) * 6)}.distill-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3)}.distill-foot__right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-left:auto}.distill-model{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.distill-model__label{color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.distill-model .distill-model__select{width:auto;min-width:calc(var(--space-12) * 3);max-width:calc(var(--space-12) * 5)}.distill-model .distill-model__input{width:calc(var(--space-12) * 4)}.distill-model__status{color:var(--text-secondary);font-size:var(--text-xs)}.distill-model-used{color:var(--text-secondary);font-size:var(--text-xs);overflow-wrap:anywhere}.distill-actions .distill-model{margin-right:auto}.distill-count{color:var(--text-secondary);font-size:var(--text-xs)}.distill-count--over{color:var(--color-danger-600);font-weight:600}.distill-stream{max-height:calc(var(--space-12) * 7);margin:0;padding:var(--space-3);overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.distill-raw summary{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.distill-actions{position:sticky;bottom:calc(var(--space-5) * -1);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) 0;background:var(--surface-raised);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.distill-actions__msg{margin-right:auto;color:var(--text-primary);font-size:var(--text-sm)}@media(prefers-reduced-motion:reduce){.library-distill-entry{transition:none}}@media(max-width:640px){.distill-actions .btn{flex:1 1 auto}.distill-actions__msg{flex:1 1 100%}.distill-page input,.distill-page textarea,.distill-page select,.library-distill-entry{font-size:16px}}.library-page{display:flex;height:100%}.library-page__panel{flex-shrink:0;padding:20px 16px;display:flex;flex-direction:column;overflow-y:auto}.library-page--misc .library-page__panel{padding-top:0}.library-page--misc .library-page__panel>.records-tabs.records-tabs--left{margin:var(--space-2) calc(var(--space-3) - 16px) var(--space-3);width:auto}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-header .panel-title{margin:0}.panel-header__actions{display:flex;align-items:center;gap:6px}.panel-title__eye{width:26px;height:26px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#ffffffbf;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.panel-title__eye:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.panel-title__eye--hidden{color:#ffffff73}.panel-title__add{width:26px;height:26px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fffc;font-size:16px;line-height:1;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.panel-title__add:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.panel-title__collapse{width:26px;height:26px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fffc;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.panel-title__collapse:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.tree-item--mastered .tree-item__title{color:#ffffff8c}.tree-item__mastered-tick{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:4px;font-size:11px;color:var(--c-primary);flex-shrink:0}.tree-topic__all-mastered{padding:6px 12px 10px 28px;font-size:12px;color:#fff6;font-style:italic}.panel-search{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);background:#ffffff1a;font-size:inherit;margin-bottom:12px;color:#e8f0ea}.panel-search::placeholder{color:#fff6}.panel-search:focus{outline:none;border-color:var(--c-primary)}.library-divider{width:4px;flex-shrink:0;cursor:col-resize;background:transparent;transition:background .15s;position:relative}.library-divider:after{content:"";position:absolute;top:0;bottom:0;left:1px;width:2px;background:var(--c-border);transition:background .15s}.library-divider:hover:after,.library-divider:active:after{background:var(--c-primary);width:3px;left:0}.library-tree{flex:1;overflow-y:auto;margin-bottom:12px}.tree-indent-guide{position:relative}.tree-indent-guide:before{content:"";position:absolute;left:var(--indent-left, 28px);top:-16px;bottom:8px;width:1.5px;background:#ffffff38;pointer-events:none}.tree-arrow{display:inline-block;width:1.1em;font-size:1.6em;color:#ffffffa6;transition:transform .15s;flex-shrink:0;text-align:center}.tree-arrow--collapsed{transform:rotate(-90deg)}.tree-arrow--sm{font-size:1.35em}.tree-arrow--placeholder{visibility:hidden;pointer-events:none}.tree-topic{margin-bottom:2px}.tree-topic__header{display:flex;align-items:center;gap:4px;padding:6px;cursor:pointer;border-radius:var(--radius-md);font-size:inherit;font-weight:600;color:#fff;-webkit-user-select:none;user-select:none}.tree-topic__header:hover{background:#ffffff1a}.tree-topic__header--drop-into{background:var(--surface-sidebar-active);outline:1px dashed var(--color-brand-500)}.tree-topic__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.tree-topic__rename{flex:1;font:inherit;font-weight:600;color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.4);border-radius:4px;padding:2px 6px;outline:none}.tree-topic__count{font-size:.75em;color:#fff9;background:#ffffff1a;padding:1px 6px;border-radius:8px;font-weight:400}.tree-topic__add{width:20px;height:20px;border:none;cursor:pointer;background:transparent;color:#ffffffb3;font-size:16px;line-height:1;border-radius:4px;opacity:0;transition:opacity .15s,background .15s,color .15s;display:flex;align-items:center;justify-content:center}.tree-topic__count-slot{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;flex-shrink:0;min-width:20px;height:20px}.tree-topic__count-slot .tree-topic__add{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none}.tree-topic__header:hover .tree-topic__count-slot .tree-topic__count{visibility:hidden}.tree-topic__header:hover .tree-topic__add,.tree-topic__add:focus-visible{opacity:1;pointer-events:auto}.tree-topic__add:hover{background:#ffffff26;color:#fff}.tree-module{margin-left:10px}.tree-module__header{display:flex;align-items:center;gap:4px;padding:4px 6px;cursor:pointer;border-radius:var(--radius-md);font-size:.92em;font-weight:500;color:#ffffffb3;-webkit-user-select:none;user-select:none}.tree-module__header:hover{background:#ffffff1a;color:#fff}.tree-module__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-module__count{font-size:.75em;color:#ffffff80;padding:0 4px;font-weight:400}.tree-items{list-style:none;margin:0;padding:0}.tree-item{padding:5px 8px;cursor:pointer;border-radius:var(--radius-md);margin-bottom:1px;display:flex;align-items:center;gap:4px}.tree-item:hover{background:#ffffff1a}.tree-item--active{background:#ffffff26!important;box-shadow:inset 3px 0 0 var(--c-primary)}.tree-item--drop-into{background:#ffffff2e!important;outline:1px dashed rgba(255,255,255,.4)}.tree-item--search-hit{background:#ffc1072e}.tree-item--search-hit:hover{background:#ffc10747}.tree-item__title{font-size:.92em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e8f0ea;flex:1;min-width:0}.tree-item__add{flex-shrink:0;width:18px;height:18px;border:none;background:transparent;color:#fff6;font-size:14px;line-height:1;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s}.tree-item:hover .tree-item__add{opacity:1}.tree-item__add:hover{background:#ffffff26;color:#fff}.tree-li--dragging{opacity:.4}.tree-topic--dragging>.tree-topic__header{opacity:.4}.tree-drop-line{height:2px;background:var(--c-primary);border-radius:1px;margin:1px 8px;pointer-events:none}.ctx-menu{position:fixed;z-index:9999;background:#1e2823b8;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:4px 0;box-shadow:0 8px 24px #00000047,0 1px #ffffff0f inset;list-style:none;min-width:128px}.ctx-menu__item{padding:7px 14px;font-size:13px;cursor:pointer;color:#ffffffd1;-webkit-user-select:none;user-select:none;transition:background .12s}.ctx-menu__item:hover{background:#ffffff1a;color:#fff}.ctx-menu__item--danger{color:#ff6464e6}.ctx-menu__item--danger:hover{background:#ef444426;color:#fca5a5}.library-list__empty{font-size:inherit;color:#ffffff80;text-align:center;padding:20px 0}.panel-bottom-btn{width:100%;justify-content:center;flex-shrink:0;font-size:inherit}.library-page__main{flex:1;padding:24px 32px;overflow-y:auto}.library-main-hint{display:flex;align-items:center;justify-content:center;height:100%}.library-main-hint .empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.library-main-hint .empty-state__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.library-main-hint .empty-state__icon>svg{display:block}.misc-tab-wrap{position:relative}.misc-side{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden}.misc-side__body{flex:1;min-height:0;padding:16px 14px 10px;display:flex;flex-direction:column;overflow:hidden}.misc-side .panel-title{color:#ffffffe6;font-size:15px;font-weight:700;margin:0}.misc-side .library-tree{flex:1;overflow-y:auto;margin:4px 0 0}.misc-divider{background:transparent}.misc-main{padding:20px 28px;display:flex;flex-direction:column;overflow:hidden}.misc-detail{flex:1;display:flex;flex-direction:column;min-height:0;gap:12px}.misc-detail__title{width:100%;padding:10px 12px;font-size:20px;font-weight:700;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--c-text);font-family:inherit}.misc-detail__title:hover,.misc-detail__title:focus{outline:none;border-color:var(--c-border);background:#fff}.misc-detail__content{flex:1;min-height:0;width:100%;padding:12px 14px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:#ffffffd9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--c-text);font-family:var(--font-body);font-size:14px;line-height:1.7;resize:none;-moz-tab-size:2;tab-size:2}.misc-detail__content:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light, rgba(5, 150, 105, .15));background:#fff}.misc-sections{flex:1;min-height:0;overflow-y:auto;padding:4px 0}.misc-section{margin-bottom:20px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:#ffffffd9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:12px 14px}.misc-section__head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.misc-section__heading{flex:1;font-size:15px;font-weight:600;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--c-text);font-family:inherit}.misc-section__heading:hover,.misc-section__heading:focus{outline:none;border-color:var(--c-border);background:#fff}.misc-section__del{width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--c-text-muted, #999);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s}.misc-section:hover .misc-section__del{opacity:.8}.misc-section__del:hover{background:#fee2e2;color:var(--c-danger);opacity:1}.misc-point-list{list-style:none;margin:0;padding:0}.misc-point{display:flex;align-items:flex-start;gap:6px;padding:3px 0;border-bottom:1px solid rgba(0,0,0,.04)}.misc-point:last-child{border-bottom:none}.misc-point__bullet{color:var(--c-primary);font-size:14px;line-height:1.6;flex-shrink:0;margin-top:1px;-webkit-user-select:none;user-select:none;min-width:14px;text-align:center}.misc-point__text{flex:1;font-size:14px;line-height:1.6;min-height:1.6em;padding:1px 4px;border-radius:3px;outline:none;white-space:pre-wrap;word-break:break-word}.misc-point__text:focus{background:#0596690f}.misc-point__text:empty:before{content:attr(data-placeholder);color:var(--c-text-muted, #aaa);pointer-events:none}.misc-section__add-point{display:inline-block;margin-top:6px;padding:2px 10px;font-size:12px;color:var(--c-primary);background:transparent;border:1px dashed var(--c-border);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s}.misc-section:hover .misc-section__add-point{opacity:1}.misc-section__add-point:hover{background:#0596690f}.misc-sections__add{display:block;width:100%;padding:8px;font-size:13px;color:var(--c-primary);background:transparent;border:1px dashed var(--c-border);border-radius:var(--radius-md);cursor:pointer;margin-top:4px}.misc-sections__add:hover{background:#0596690f}.misc-empty{flex:1;display:flex;align-items:center;justify-content:center}.tree-topic__header--drop-into{background:#05966940!important;outline:1px dashed var(--c-primary);outline-offset:-2px}.misc-side .library-list__empty{color:#ffffff80}.records-page{display:flex;flex-direction:column;height:100%;background:transparent}.records-tabs{display:flex;gap:4px;padding:10px 16px;background:#fff9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--c-border);flex-shrink:0}.records-tabs--inline{padding:0;background:transparent;border:none}.records-tabs--left{display:flex;gap:0;padding:0;background:#00000059;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:1}.records-tabs--left .records-tabs__item{flex:1;border:none;border-radius:0;border-bottom:2px solid transparent;padding:12px 4px;text-align:center;color:#ffffffa6;font-size:13px;font-weight:700;background:transparent}.records-tabs--left .records-tabs__item:hover{color:#ffffffe6;background:#ffffff0d}.records-tabs--left .records-tabs__item--active{color:#fff;background:#05966926;border-bottom-color:var(--c-primary)}.records-tabs--left .records-tabs__item--active:hover{background:#05966933;color:#fff}.records-tabs__item{padding:6px 14px;font-size:13px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);cursor:pointer;color:#fff9;transition:all .15s}.records-tabs__item:hover{background:#ffffff14;color:#ffffffe6}.records-tabs__item--active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.records-tabs__item--active:hover{background:var(--c-primary-dark);color:#fff}.records-body{flex:1;min-height:0;display:flex;overflow:hidden}.records-split{display:flex;flex:1;min-height:0;width:100%}.records-split__list{width:320px;flex-shrink:0;border-right:1px solid rgba(255,255,255,.06);background:linear-gradient(#0000004d,#0000004d),url(/leaves-bg.png) left center / cover no-repeat fixed;display:flex;flex-direction:column;min-height:0;color:#ffffffd9}.records-split__main{flex:1;min-width:0;padding:39px 24px 20px;overflow-y:auto;background:transparent}.records-plain{flex:1;display:flex;flex-direction:column;padding:16px 20px;overflow:hidden;min-height:0}.records-toolbar{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.records-add-icon{width:28px;height:28px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fffc;font-size:18px;line-height:1;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.records-add-icon:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.records-toolbar--row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:none;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.records-list{flex:1;overflow-y:auto;list-style:none;padding:8px 6px}.records-list__item{padding:10px 12px;margin:2px 0;border-radius:var(--radius-md);cursor:pointer;transition:background .15s;border:1px solid transparent}.records-list__item:hover{background:#ffffff0f}.records-list__item--expiring{background:#ef444438}.records-list__item--expiring:hover{background:#ef444447}.records-list__item--active{background:#05966926!important;border-color:#05966966}.records-list__item--active.records-list__item--expiring{background:#ef444457!important;border-color:#05966966}.records-list__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;padding:2px 4px;border-radius:4px}.records-list__title{font-size:14px;font-weight:600;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-list__expire{font-size:11px;color:#ffffff80;white-space:nowrap;flex-shrink:0}.records-list__sub{display:flex;justify-content:space-between;font-size:11px;color:#ffffff80;margin-bottom:6px}.records-list__empty{padding:24px 12px;text-align:center;color:#ffffff73;font-size:13px}.records-progress{height:4px;background:#ffffff1f;border-radius:2px;overflow:hidden}.records-progress__bar{height:100%;background:var(--c-primary);transition:width .3s}.records-badge{display:inline-block;padding:2px 8px;font-size:11px;border-radius:10px;font-weight:500;white-space:nowrap}.records-badge--active{background:#05966933;color:#6ee7b7}.records-badge--done{background:#ffffff1a;color:#ffffff80}.records-badge--info{background:#3b82f626;color:#93c5fd}.records-detail{width:100%}.records-detail__head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.records-detail__title{flex:1;font-size:20px;font-weight:700;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--c-text)}.records-detail__title:hover,.records-detail__title:focus{border-color:var(--c-border);background:#fff;outline:none}.records-detail__section{margin-top:20px;background:#00000008;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-md);padding:14px 16px}.records-detail__section h3{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--c-text)}.records-detail__section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.records-detail__section-head h3{margin:0}.records-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;background:#ffffffb3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:14px 16px;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-md)}.records-field{display:flex;flex-direction:column;gap:4px}.records-field--wide{grid-column:1 / -1}.records-field__label{font-size:12px;color:var(--c-text-secondary)}.records-field__input{padding:6px 10px;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:#fff;font-size:13px;color:var(--c-text);font-family:inherit;width:100%;text-align:center}.records-field__input::placeholder{color:#c0c4cc;opacity:1}.records-field__input[type=number]::-webkit-inner-spin-button,.records-field__input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.records-field__input[type=number]{-moz-appearance:textfield}.records-field__input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.records-summary{display:flex;flex-direction:column;gap:18px;margin-top:12px;padding:10px 14px;background:#ffffffe6;border-radius:var(--radius-md);font-size:13px;color:var(--c-text)}.records-summary__row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.records-summary b{color:var(--c-primary-dark)}.records-summary__unit{cursor:pointer;border-bottom:1px dashed rgba(0,0,0,.3);margin-left:1px;transition:color .15s}.records-summary__unit:hover{color:var(--c-primary)}.records-summary__project{position:relative;display:block;padding:6px 22px 6px 8px;border-radius:10px;background:#22c55e1a;color:#15803d;font-size:12px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;text-align:center;box-sizing:border-box}.records-summary__project:hover{background:#22c55e33}.records-summary__project-delete{position:absolute;top:4px;right:4px;width:18px;height:18px;border:none;border-radius:999px;background:#ef444424;color:#dc2626;font-size:12px;line-height:18px;padding:0;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s,background .15s}.records-summary__project:hover .records-summary__project-delete{opacity:1;pointer-events:auto}.records-summary__project-delete:hover{background:#ef44443d}.records-summary__project-count{color:#d97706;font-weight:700}.records-summary__project-expire{font-size:10px;color:#888}.records-expire--warn{color:#ef4444!important;font-weight:700}.records-summary__row--projects{display:grid;grid-template-columns:repeat(auto-fill,var(--project-col-w, 160px));gap:12px 32px}.records-summary__expire{margin-left:auto;font-size:12px;color:#00000073}.records-table-wrap{flex:1;overflow:auto}.records-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.records-table__col-date{width:140px}.records-table__col-project{width:240px}.records-table__col-amount{width:120px}.records-table__col-expire{width:140px}.records-table__col-action{width:40px}.records-table th,.records-table td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06);text-align:center;vertical-align:middle}.records-table th{background:#0000000a;font-size:12px;color:#00000080;font-weight:600;position:sticky;top:0}.records-table th:last-child{border-right:none}.records-table td .records-field__input{padding:4px 6px;font-size:12px;text-align:center}.records-field__input--ghost{background:transparent;border-color:transparent;box-shadow:none}.records-field__input--ghost:focus{background:#fff;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.records-field__input--ghost:hover:not(:focus){border-color:#00000026}.records-field__input--ghost[type=date]:not(:focus)::-webkit-calendar-picker-indicator{opacity:0;pointer-events:none}.records-field__input--ghost[data-empty]:not(:focus){color:transparent}.records-field__input--ghost[data-empty]:not(:focus)::-webkit-datetime-edit{color:transparent}.records-field__input--ghost[data-empty]:not(:focus)::-webkit-calendar-picker-indicator{opacity:0}.date-input{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:1px;padding:4px 24px 4px 6px;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:#fff;font-size:12px;color:var(--c-text);font-family:inherit;width:100%;box-sizing:border-box}.date-input:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.date-input__seg{border:none;outline:none;background:transparent;font:inherit;color:inherit;padding:0;text-align:center}.date-input__seg--year{width:36px}.date-input__seg--month,.date-input__seg--day{width:18px}.date-input__seg::placeholder{color:#606266;opacity:1}.date-input__sep{color:#606266;-webkit-user-select:none;user-select:none}.date-input__calendar{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer}.date-input__calendar:before{content:"";position:absolute;left:2px;top:3px;width:12px;height:11px;border:2px solid #111827;border-radius:2px;box-sizing:border-box}.date-input__calendar:after{content:"";position:absolute;left:4px;top:7px;width:8px;height:2px;background:#111827;box-shadow:0 -4px 0 -1px #111827}.date-input__picker{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:18px;height:18px;opacity:0;pointer-events:none}.records-table .date-input{background:transparent;border-color:transparent;box-shadow:none}.records-table .date-input:focus-within{background:#fff;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.records-table .date-input:hover:not(:focus-within){border-color:#00000026}.records-table .date-input__calendar{opacity:0;pointer-events:none;transition:opacity .15s}.records-table .date-input:focus-within .date-input__calendar{opacity:1;pointer-events:auto}.records-table__empty{text-align:center!important;padding:20px 0!important;color:#6b7280;font-size:13px}.btn.btn--sm{padding:3px 10px;font-size:12px}.btn.btn--danger-plain{background:transparent;color:var(--c-danger);border:1px solid var(--c-border);padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.btn.btn--danger-plain:hover{background:#fee2e2;border-color:var(--c-danger)}.records-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:20px}.records-chart{background:#ffffffb3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-md);padding:14px 16px}.records-chart h4{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--c-text)}.finance-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:20px}.finance-card{padding:12px 14px;border-radius:var(--radius-md);background:#e0f2fec7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.5);color:#0c4a6e}.finance-card__label{font-size:12px;opacity:.7;margin-bottom:4px}.finance-card__value{font-size:18px;font-weight:700}.finance-card__hint{font-size:10px;opacity:.6;margin-top:2px}.finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.records-unit-toggle{display:inline-block;margin-left:6px;padding:1px 8px;font-size:11px;line-height:1.5;border:1px solid var(--c-border);border-radius:10px;background:#fff;color:var(--c-primary-dark);cursor:pointer;font-weight:600;transition:all .15s;vertical-align:middle}.records-unit-toggle:hover{background:var(--c-primary-light);border-color:var(--c-primary)}.records-add-date-btn{border:1px dashed var(--c-border);border-radius:var(--radius-sm);background:transparent;color:#00000073;padding:6px 14px;font-size:13px;cursor:pointer;transition:all .15s;margin-top:20px}.records-add-date-btn:hover{color:var(--c-primary);border-color:var(--c-primary)}.records-field__value{font-size:18px;font-weight:600;color:var(--c-text);padding:4px 0;line-height:1.4}.records-action-buttons{display:flex;justify-content:center;align-items:center;gap:16px;padding:8px 0;margin-bottom:4px}.records-action-buttons__btn{border:none;border-radius:50%;width:32px;height:32px;line-height:32px;font-size:20px;font-weight:700;background:transparent;cursor:pointer;transition:all .15s;text-align:center;padding:0}.records-action-buttons__btn--spend{color:#e08080}.records-action-buttons__btn--spend:hover,.records-action-buttons__btn--spend.records-action-buttons__btn--active{background:#e080801f;color:#d06060}.records-action-buttons__btn--deposit{color:#6dc06d}.records-action-buttons__btn--deposit:hover,.records-action-buttons__btn--deposit.records-action-buttons__btn--active{background:#6dc06d1f;color:#50a850}.records-action-bar__expire{font-size:12px;color:var(--c-text-secondary);display:flex;align-items:center;gap:4px;margin-left:auto}.records-field__input--inline{width:auto;padding:2px 6px;font-size:12px}.records-action-form{padding:10px 0;border-bottom:1px solid var(--c-border);margin-bottom:8px;animation:fadeSlideDown .15s ease-out}.records-action-form--spend{border-left:3px solid #ef4444;padding-left:12px}.records-action-form--deposit{border-left:3px solid #22c55e;padding-left:12px}.records-action-form__row{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.records-action-form__row .records-field__input{min-width:80px}.records-action-form__date{width:140px;flex:0 0 140px}.records-action-form__project{width:240px;flex:0 0 240px}.records-action-form__amount{width:120px;flex:0 0 120px}.records-action-form__expire{width:140px;flex:0 0 140px}.records-action-form__note{flex:1;min-width:60px}.records-action-form__row .btn--sm{flex-shrink:0}.records-action-form__projects{margin-top:6px;display:flex;flex-direction:column;gap:4px}.records-action-form__project-row{display:flex;gap:8px;align-items:center;padding-left:148px}.records-action-form__project-row .records-action-form__project{flex:0 0 240px}.records-action-form__pcount{width:90px;flex:0 0 90px}.records-action-form__remove-project{color:#ef4444;padding:2px 6px;font-size:14px}.records-action-form__add-project{align-self:flex-start;margin-left:148px;color:var(--c-primary);font-size:12px}.records-action-form__expire-toggle{flex-shrink:0;color:var(--c-primary);font-size:12px;white-space:nowrap}.records-action-form__expire-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.records-action-form__expire-mode{font-size:11px;padding:2px 6px;border-radius:4px;background:#0000000d;white-space:nowrap}.records-action-form__expire-num,.records-action-form__expire-unit{width:68px!important;flex:0 0 68px!important;min-width:0!important;padding:6px!important;box-sizing:border-box}.records-form--compact{padding:4px 0 8px}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.records-add-usage{display:flex;justify-content:center;align-items:center;margin-top:4px}.records-add-usage__btn{border:none;border-radius:4px;padding:2px 8px;font-size:16px;background:transparent;color:#00000026;width:30px;text-align:center;cursor:pointer;line-height:1.6;transition:all .15s}.records-add-usage__btn:hover{color:var(--c-primary);background:var(--c-primary-light)}.records-split .ctx-menu{position:fixed;z-index:9999;background:#1e2823b8;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:4px 0;box-shadow:0 8px 24px #00000047,0 1px #ffffff0f inset;list-style:none;min-width:128px}.records-split .ctx-menu__item{padding:7px 14px;font-size:13px;cursor:pointer;color:#ffffffd1;-webkit-user-select:none;user-select:none;transition:background .12s}.records-split .ctx-menu__item:hover{background:#ffffff1a;color:#fff}.records-split .ctx-menu__item--danger{color:#ff6464e6}.records-split .ctx-menu__item--danger:hover{background:#ef444426;color:#fca5a5}.body-sidebar__nav{display:flex;flex-direction:column;gap:6px;padding:16px 12px}.body-sidebar__btn{padding:10px 14px;font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);background:transparent;color:#ffffffb3;cursor:pointer;transition:all .15s;text-align:center}.body-sidebar__btn:hover{background:#ffffff14;color:#fff}.body-sidebar__btn--active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.body-sidebar__btn--active:hover{background:var(--c-primary-dark);color:#fff}.body-view__title{font-size:17px;font-weight:700;color:#1a1a1a;margin:0 0 12px;padding:0;line-height:1.4}.body-table__add-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;border:none;background:var(--c-primary);color:#fff;font-size:16px;font-weight:600;line-height:1;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px #0596694d}.body-table__add-btn:hover{background:var(--c-primary-dark);transform:scale(1.1);box-shadow:0 2px 6px #05966966}.body-table__add-row td{padding:0;border-bottom:1px solid rgba(0,0,0,.06);text-align:center}.body-table__add-btn--row{display:flex;align-items:center;justify-content:center;width:100%;height:28px;border:none;border-radius:0;background:transparent;color:#00000040;font-size:16px;font-weight:400;line-height:1;cursor:pointer;transition:background .15s,color .15s;outline:none;box-shadow:none}.body-table__add-btn--row:hover{background:#05966912;color:var(--c-primary)}.body-table__del-btn{display:none}.body-td--date{white-space:nowrap}.body-row__del{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:#0003;font-size:12px;line-height:1;cursor:pointer;vertical-align:middle;margin-right:2px;padding:0;transition:color .15s,background .15s}.body-row__del:hover{color:#ef4444;background:#ef44441a}.body-table th:nth-child(1){width:108px}.body-table th:nth-child(2),.body-table th:nth-child(3),.body-table th:nth-child(4),.body-table th:nth-child(5),.body-table th:nth-child(6),.body-table th:nth-child(7),.body-table th:nth-child(8),.body-table th:nth-child(9),.body-table th:nth-child(10){width:72px}.body-table-row--active{background:#05966914}.body-cell{position:relative}.body-cell .records-field__input{width:100%}.body-delta{position:absolute;right:1px;top:50%;transform:translateY(-50%);font-size:9px;font-weight:500;white-space:nowrap;pointer-events:none;line-height:1;opacity:.85}.body-table .records-field__input{background:transparent;border-color:transparent;box-shadow:none}.body-table .records-field__input:focus{background:#fff;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.body-table .records-field__input:hover:not(:focus){border-color:#00000026}.body-table .date-input{background:transparent;border-color:transparent;box-shadow:none}.body-table .date-input:focus-within{background:#fff;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.body-table .date-input:hover:not(:focus-within){border-color:#00000026}.body-table .date-input__calendar{opacity:0;pointer-events:none;transition:opacity .15s}.body-table .date-input:focus-within .date-input__calendar{opacity:1;pointer-events:auto}.body-chart{background:#ffffffb3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-md);padding:16px 18px}.body-chart__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.body-chart__title{font-size:14px;font-weight:600;color:var(--c-text);margin:0}.body-chart__latest{font-size:20px;font-weight:700}.finance-table{table-layout:auto;width:100%}.finance-table th,.finance-table td{white-space:nowrap;padding:6px 8px;font-size:12px}.finance-table .records-field__input{width:72px;background:transparent;border-color:transparent;box-shadow:none;font-size:12px;padding:4px 6px}.finance-table .records-field__input:focus{background:#fff;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.finance-table .records-field__input:hover:not(:focus){border-color:#00000026}.finance-td--month{font-weight:700;color:var(--c-text);position:sticky;left:0;background:transparent;z-index:1;white-space:nowrap;text-align:center;padding-left:24px;padding-right:24px}.finance-row__del{position:absolute;left:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:#0003;font-size:12px;line-height:1;cursor:pointer;margin:0;padding:0;transition:color .15s,background .15s}.finance-row__del:hover{color:#ef4444;background:#ef44441a}.finance-th--derived,.finance-td--derived{color:#000000d9;font-weight:600;font-size:12px;text-align:center;cursor:default}.finance-th--derived{color:#000000a6}.finance-cell{position:relative;width:100%;min-width:82px;font-variant-numeric:tabular-nums}.finance-cell--negative{color:#dc2626!important}.finance-cell--negative>span:first-child{color:#dc2626!important}.finance-cell>span:first-child{display:block;width:100%;text-align:center}.finance-td--progress{display:none}.finance-row{position:relative}.finance-row:after{content:var(--progress-label, "");position:absolute;left:48.5%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-body);font-size:18px;font-weight:900;color:#05966947;letter-spacing:2px;pointer-events:none;z-index:0}.finance-row>td{position:relative;z-index:1}.finance-delta{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);z-index:2;font-size:9px;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none;opacity:.9}.finance-table th{border-right:1.5px solid rgba(240,240,240,.9);background:transparent;border-bottom:1.5px solid rgba(0,0,0,.08)}.finance-table th:last-child{border-right:none}.finance-td--val{text-align:right;padding-right:10px;font-size:12px;font-variant-numeric:tabular-nums}.finance-add-bar{padding:8px 12px}.finance-add-bar__btn{padding:5px 14px;border-radius:6px;border:1px dashed rgba(0,0,0,.2);background:transparent;color:var(--c-text-secondary, rgba(0,0,0,.55));font-size:12px;cursor:pointer;transition:all .15s}.finance-add-bar__btn:hover{border-color:var(--c-primary);color:var(--c-primary);background:#0596690a}.finance-add-form{margin:8px 12px 12px;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff9;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 60px)}.finance-add-form__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.finance-add-form__title{font-size:13px;font-weight:600;color:var(--c-text)}.finance-add-form__close{width:22px;height:22px;border:none;border-radius:50%;background:transparent;font-size:16px;color:#0006;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.finance-add-form__close:hover{background:#0000000f;color:#000000b3}.finance-add-form__body{display:flex;flex-direction:column;gap:10px;padding:12px 14px;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.finance-add-form__body::-webkit-scrollbar:horizontal{display:none}.finance-add-form__group{display:flex;flex-direction:column;gap:4px}.finance-add-form__group-label{font-size:11px;font-weight:600;color:#000000b8;letter-spacing:.5px}.finance-add-form__group-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.finance-add-form__field{display:flex;flex-direction:column;gap:3px;width:140px;flex:0 0 140px;position:relative}.finance-add-form__field--wide,.finance-add-form__field--note{width:100%;flex:1 1 100%}.finance-add-form__field--note>input{text-align:left!important}.finance-add-form__field>span{font-size:11px;color:#000000bf;text-align:center}.finance-add-form__field-title{display:block;text-align:center;position:relative}.finance-field-pin{position:relative;width:17px;height:17px;border:none;background:transparent;font-size:11px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;opacity:.25;filter:grayscale(1);transition:opacity .15s,filter .15s;flex-shrink:0}.finance-field-pin:hover{opacity:.7;filter:grayscale(0)}.finance-field-pin--active,.finance-field-pin--cycled{opacity:1;filter:grayscale(0)}.finance-field-pin-wrap{position:absolute;right:0;top:50%;transform:translateY(-50%);width:17px;height:17px}.finance-delta-popover{position:absolute;bottom:calc(100% + 8px);right:0;background:#1e1e1ee0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 4px 16px #0000004d;padding:8px 10px;width:160px;z-index:1000}.finance-delta-popover:after{content:"";position:absolute;top:100%;right:6px;border:5px solid transparent;border-top-color:#1e1e1ee0}.finance-delta-popover__input{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid rgba(255,255,255,.25);border-radius:5px;font-size:13px;text-align:center;background:#ffffff1a;color:#fff;margin-bottom:8px}.finance-delta-popover__input::placeholder{color:#fff6}.finance-delta-popover__actions{display:flex;justify-content:center;gap:8px}.finance-delta-popover__actions button{padding:4px 12px;border:1px solid rgba(255,255,255,.2);border-radius:5px;background:#ffffff1a;color:#fffc;cursor:pointer;font-size:12px}.finance-delta-popover__actions button:hover{background:#fff3}.finance-delta-popover__actions button[type=submit]{background:var(--color-brand-600);color:#fff;border-color:var(--color-brand-600)}.finance-add-form__field>input,.finance-add-form__field>.date-input{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-size:13px;background:#fff;text-align:center;transition:border-color .15s,box-shadow .15s}.finance-add-form__field>input::placeholder{color:#0003}.finance-add-form__field>input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light, rgba(5,150,105,.15))}.finance-add-form__field>input[type=number]::-webkit-inner-spin-button,.finance-add-form__field>input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.finance-add-form__field>input[type=number]{-moz-appearance:textfield}.finance-add-form__footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0}.finance-add-form__cancel{padding:5px 14px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:transparent;font-size:12px;cursor:pointer}.finance-add-form__cancel:hover{background:#0000000a}.finance-add-form__submit{padding:5px 14px;border:none;border-radius:6px;background:var(--c-primary, #059669);color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.finance-add-form__submit:hover{background:var(--c-primary-dark, #047857)}.records-split__list.finance-sidebar{overflow:hidden;display:flex;flex-direction:column}.records-split__list.finance-sidebar .finance-add-form{margin:8px 10px 16px;flex:1;min-height:0;max-height:none}.finance-sidebar .finance-add-form{background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.finance-sidebar .finance-add-form__header{border-bottom:1px solid rgba(255,255,255,.08)}.finance-sidebar .finance-add-form__title{color:#fff;font-weight:700}.finance-sidebar .finance-add-form__close{color:#ffffffbf}.finance-sidebar .finance-add-form__close:hover{background:#ffffff1f;color:#fff}.finance-sidebar .finance-add-form__group-label{display:none}.finance-sidebar .finance-add-form__group+.finance-add-form__group{border-top:2px solid rgba(255,255,255,.18);padding-top:16px;margin-top:14px}.finance-sidebar .finance-add-form__field{width:calc((100% - 20px) / 3);flex:0 0 calc((100% - 20px) / 3)}.finance-sidebar .finance-add-form__group--date .finance-add-form__field{width:100%;flex:1 1 100%}.finance-sidebar .finance-add-form__field>span{color:#f3f4f6;font-weight:500}.finance-sidebar .finance-add-form__field>input,.finance-sidebar .finance-add-form__field>.date-input{background:#ffffff1a;border:1px solid rgba(255,255,255,.22);color:#facc15;font-weight:700}.month-input{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;height:30px;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:0 30px 0 10px;box-sizing:border-box;gap:1px;font-size:13px;font-weight:700}.month-input:focus-within{border-color:var(--c-primary, #10B981);background:#10b9811a}.month-input__seg{background:transparent;border:none;outline:none;color:#facc15;font-weight:700;font-family:inherit;font-size:13px;text-align:center;padding:2px;border-radius:3px;caret-color:#facc15}.month-input__seg:focus{background:#facc1526}.month-input__seg::placeholder{color:#facc1573;font-weight:600}.month-input__seg--year{width:3.6em}.month-input__seg--month{width:1.8em}.month-input__seg::-webkit-outer-spin-button,.month-input__seg::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.month-input__sep{color:#fff;font-weight:500;pointer-events:none;-webkit-user-select:none;user-select:none}.month-input__calendar{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .12s}.month-input__calendar:hover{opacity:1}.month-input__calendar:before{content:"📅";font-size:14px;line-height:1}.month-input__popup{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:240px;padding:12px;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000040;display:flex;flex-direction:column;gap:10px}.month-input__popup-year{width:100%;height:32px;padding:0 10px;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:#f5f5f5;color:#222;font-size:14px;font-weight:600;font-family:inherit;outline:none;box-sizing:border-box}.month-input__popup-year:focus{border-color:var(--c-primary, #10B981);background:#fff}.month-input__popup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.month-input__popup-cell{height:36px;border:none;border-radius:4px;background:transparent;color:#333;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .12s,color .12s}.month-input__popup-cell:hover{background:#10b9811a;color:#10b981}.month-input__popup-cell.is-selected{background:var(--c-primary, #10B981);color:#fff;font-weight:700;box-shadow:0 0 0 2px #f59e0b inset}.month-input__popup-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.08);padding-top:8px}.month-input__popup-link{border:none;background:transparent;color:var(--c-primary, #10B981);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;padding:4px 6px;border-radius:3px}.month-input__popup-link:hover{background:#10b9811a}.month-input__popup-link--primary{font-weight:700}.month-input--compact{height:24px;padding:0 28px 0 6px;font-size:13px}.month-input--compact .month-input__seg--year{width:3.8em}.month-input--compact .month-input__seg--month{width:2em}.month-input--compact .month-input__calendar{width:20px;height:20px;right:4px}.month-input--compact .month-input__calendar:before{font-size:12px}.finance-sidebar .finance-entry__amount{color:#facc15!important;font-weight:700}.finance-sidebar .finance-entry__amount::placeholder{color:#facc1580!important}.finance-sidebar .finance-add-form__field>input::placeholder{color:#ffffff73}.finance-sidebar .finance-add-form__field>input:focus{border-color:var(--c-primary);background:#ffffff14;box-shadow:0 0 0 2px var(--c-primary-light, rgba(5,150,105,.25))}.finance-sidebar .finance-add-form__footer{border-top:1px solid rgba(255,255,255,.08)}.finance-sidebar .finance-add-form__cancel{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:500}.finance-sidebar .finance-add-form__cancel:hover{background:#ffffff1f;color:#fff}.finance-sidebar .finance-entries{padding-top:0!important;margin-top:14px;border-top:none!important;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 10px;align-items:end}.finance-entries__title-row,.finance-entries__add{grid-column:1 / -1}.finance-entries__title-row{display:flex;align-items:flex-start;margin:0 0 6px;padding:0;border-top:2px solid rgba(255,255,255,.18)}.finance-entries__title{display:inline-flex;align-items:center;margin-top:-2px;padding:3px 10px;border-radius:0 0 4px 4px;border:2px solid rgba(255,255,255,.18);border-top:none;background:#ffffff1a;font-size:11px;font-weight:400;color:#ffffffd9;letter-spacing:.4px}.finance-entry{position:relative;display:flex;align-items:center;gap:6px;width:100%}.finance-entry__label{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0}.finance-sidebar .finance-entries .finance-entry{display:flex;flex-direction:column;align-items:stretch;gap:3px;width:100%;min-width:0}.finance-sidebar .finance-entry__label{position:relative;display:block;min-width:0}.finance-sidebar .finance-entry__label .finance-entry__name{display:block;width:100%;flex:none;min-width:0;height:20px;padding:0 20px;border:none;background:transparent;font-size:11px;color:#f3f4f6;font-weight:500;text-align:center;box-sizing:border-box}.finance-sidebar .finance-entry__pin-wrap{position:absolute;right:0;top:50%;transform:translateY(-50%);width:17px;height:17px}.finance-sidebar .finance-entry__pin{position:absolute;right:0;top:50%;transform:translateY(-50%);width:17px;height:17px;border:none;background:transparent;font-size:11px;line-height:1;padding:0;cursor:pointer;opacity:.25;filter:grayscale(1);transition:opacity .15s,filter .15s}.finance-sidebar .finance-entry__pin--cycled{opacity:1;filter:grayscale(0)}.finance-sidebar .finance-entry__pin:hover{opacity:.7;filter:grayscale(0)}.finance-sidebar .finance-entry__pin--active{opacity:1;filter:grayscale(0)}.finance-sidebar .finance-entry__remove{position:absolute;top:16px;right:-6px;cursor:pointer;width:16px;height:16px;padding:0;font-size:12px;line-height:1;border:none;border-radius:50%;background:#1e1e1ed9;color:#ffffffbf;z-index:2}.finance-sidebar .finance-entry__remove:hover{color:#fff;background:#dc2626d9}.finance-sidebar .finance-entries .finance-entry__amount{width:100%;flex:none;height:34px;box-sizing:border-box;padding:0 10px;border-radius:6px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;font-size:14px;font-weight:700;text-align:center}.finance-entry__name{flex:1 1 0;min-width:0;height:30px;padding:0 8px;border-radius:6px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#fff;font-size:12px;font-weight:500;box-sizing:border-box;text-align:center}.finance-entry__name::placeholder{color:#ffffff73;text-align:center}.finance-entry__name:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light, rgba(5,150,105,.25))}.finance-entry__amount{flex:0 0 90px;width:90px;height:30px;padding:0 8px;border-radius:6px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#facc15;font-size:13px;font-weight:700;box-sizing:border-box;text-align:center}.finance-entry__amount::placeholder{color:#facc1573;text-align:center}.finance-entry__amount::-webkit-inner-spin-button,.finance-entry__amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.finance-entry__amount{-moz-appearance:textfield}.finance-entry__amount:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light, rgba(5,150,105,.25))}.finance-entry__amount--negative,.finance-sidebar .finance-entry__amount--negative{color:#dc2626!important}.finance-entry__amount--negative::placeholder{color:#dc262680!important}.finance-entry__pin{flex:0 0 18px;width:18px;height:18px;border:none;background:transparent;font-size:11px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;opacity:.3;filter:grayscale(1);transition:opacity .15s,filter .15s}.finance-entry__pin:hover{opacity:.7;filter:grayscale(0)}.finance-entry__pin--active{opacity:1;filter:grayscale(0)}.finance-entry__remove{flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:#ffffff8c;font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.finance-entry__remove:hover{background:#dc262638;color:#fff}.finance-entries__add{align-self:center;width:28px;height:26px;margin-top:2px;padding:0;border:none;background:transparent;color:#ffffffb3;font-size:20px;line-height:1;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.finance-entries__add:hover{background:#ffffff24;color:#fff}.records-split__main.finance-main{display:flex;flex-direction:column;gap:16px;padding:24px 24px 20px}.finance-section{flex-shrink:0}.finance-section--data .records-table-wrap{overflow:visible}.finance-row--clickable{cursor:pointer;transition:background-color .12s ease}.finance-row--clickable:hover td{background-color:#10b98124;box-shadow:inset 0 0 0 9999px #ffffff05}.finance-row--clickable:hover td:first-child{box-shadow:inset 3px 0 #10b981,inset 0 0 0 9999px #ffffff05}.fp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:1200}.fp-popover{position:fixed;background:#16161a;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 12px 36px #0000008c;display:flex;flex-direction:column;color:#ffffffeb;isolation:isolate}.fp-popover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;overflow:hidden;background:linear-gradient(#0000008c,#0000008c),url(/leaves-bg.png) left center / cover no-repeat;transform:scaleX(-1);z-index:0;pointer-events:none}.fp-popover>*{position:relative;z-index:1}.fp-popover:after{content:"";position:absolute;left:28px;width:10px;height:10px;background:#16161a;border:1px solid rgba(255,255,255,.2);transform:rotate(45deg);z-index:2}.fp-popover--above:after{bottom:-6px;border-top:none;border-left:none}.fp-popover--below:after{top:-6px;border-bottom:none;border-right:none}.fp-header{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:6px 12px;border-bottom:1px solid rgba(255,255,255,.14);background:#00000047;border-radius:8px 8px 0 0;flex:0 0 auto}.fp-title{font-size:12px;font-weight:600;color:#ffffffe0;letter-spacing:.4px}.fp-month{flex:0 0 auto;width:auto;min-width:130px}.fp-btn{height:26px;padding:0 16px;border-radius:4px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;font-size:12px;cursor:pointer;transition:background-color .12s}.fp-btn:hover{background:#ffffff1f}.fp-btn--primary{background:#10b981;border-color:#10b981;color:#fff}.fp-btn--primary:hover{background:#0ea372}.fp-header__save{margin-left:auto}.fp-body{flex:1 1 auto;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;gap:4px;border-radius:0 0 8px 8px}.fp-grid{display:grid;grid-template-columns:3.5fr 2fr 2fr;gap:0;align-items:stretch}.fp-grid__fields{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:10px}.fp-grid__col{display:flex;flex-direction:column;gap:6px;min-width:0;padding:0 10px;border-left:1px dashed rgba(255,255,255,.18)}.fp-row{display:flex;align-items:center;gap:4px;padding:3px 0}.fp-row__label{flex:0 0 24px;width:24px;font-size:11px;font-weight:600;color:#ffffff8c;letter-spacing:.4px;text-align:right;white-space:nowrap}.fp-row__fields{flex:1 1 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:4px 6px}.fp-popover .finance-add-form__field{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;min-width:0;flex:none;box-sizing:border-box}.fp-popover .finance-add-form__field>span{font-size:10px;color:#ffffffe0;text-align:center;line-height:1.2;white-space:nowrap}.fp-popover .finance-add-form__field>input{width:100%;height:22px;padding:0 4px;box-sizing:border-box;background:transparent;border:1px solid transparent;border-radius:3px;color:#facc15;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;text-align:center;outline:none;transition:border-color .12s,background-color .12s}.fp-popover .finance-add-form__field>input::placeholder{color:#facc1559}.fp-popover .finance-add-form__field>input:hover{border-color:#ffffff47;background:#ffffff14}.fp-popover .finance-add-form__field>input:focus{border-color:var(--c-primary, #10B981);background:#10b98124}.fp-popover .finance-add-form__field>input[type=number]::-webkit-outer-spin-button,.fp-popover .finance-add-form__field>input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fp-popover .finance-add-form__field>input[type=number]{-moz-appearance:textfield}.fp-popover .finance-entries{margin-top:0!important;padding-top:0!important;gap:3px!important}.fp-popover .finance-entries__title-row{margin:0 0 3px!important;border-top:none!important}.fp-popover .finance-entries__title{margin-top:0!important;color:#ffffffe0!important}.fp-popover .finance-entry{width:100%!important;flex:1 1 100%!important}.fp-popover .finance-entry input{background:transparent;border:1px solid transparent;color:#fff;transition:border-color .12s,background-color .12s}.fp-popover .finance-entry input[type=number],.fp-popover .finance-entry .finance-entry__amount{color:#facc15;font-variant-numeric:tabular-nums;flex:0 0 56px;width:56px}.fp-popover .finance-entry .finance-entry__amount--negative{color:#dc2626!important}.fp-popover .finance-entry .finance-entry__name{flex:2 1 0}.fp-popover .finance-entry input:hover{border-color:#ffffff47;background:#ffffff14}.fp-popover .finance-entry input:focus{border-color:var(--c-primary, #10B981);background:#10b98124;outline:none}.del-account{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-md);color:var(--text-primary)}.del-account__lead{margin:0;line-height:1.5;overflow-wrap:anywhere}.del-account__title{margin:var(--space-2) 0 0;font-size:var(--text-md);font-weight:600}.del-account__list{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary)}.del-account__tip{margin:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-secondary)}.del-account__error{margin:0;font-size:var(--text-sm);color:var(--color-danger-600)}.work-page{display:flex;flex-direction:column;height:100%;background:transparent;overflow:hidden}.work-split{display:flex;flex:1;min-height:0;width:100%}.work-sidebar{flex-shrink:0;border-right:1px solid rgba(255,255,255,.06);background:linear-gradient(#0000004d,#0000004d),url(/leaves-bg.png) left center / cover no-repeat fixed;display:flex;flex-direction:column;min-height:0;color:#ffffffd9}.work-divider{width:4px;flex-shrink:0;cursor:col-resize;background:transparent;transition:background .15s;position:relative}.work-divider:after{content:"";position:absolute;top:0;bottom:0;left:1px;width:2px;background:#ffffff0f;transition:background .15s}.work-divider:hover:after,.work-divider:active:after{background:var(--c-primary);width:3px;left:0}.work-sidebar__head{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.work-sidebar__title{font-style:normal;color:#fff}.work-sidebar__add{width:26px;height:26px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fffc;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}.work-sidebar__add:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.work-sidebar__inline-input{width:100%;font:inherit;font-weight:600;color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.4);border-radius:4px;padding:4px 8px;outline:none}.work-sidebar__inline-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px #05966933}.work-sidebar__list{flex:1;overflow-y:auto;list-style:none;padding:6px;margin:0}.work-sidebar__item{padding:10px 12px;margin:2px 0;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:600;color:#ffffffbf;border:1px solid transparent;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s,border-color .15s}.work-sidebar__item:hover{background:#ffffff0f;color:#fff}.work-sidebar__item--active{background:#0596692e!important;border-color:#05966973;color:#fff}.work-sidebar__item--cat-drop{background:#05966947!important;border-color:#34d399d9;color:#fff;box-shadow:inset 0 0 0 1px #34d39973,0 0 0 2px #05966929}.work-sidebar__item-input{font-size:14px;font-weight:600;padding:2px 6px;border:1px solid rgba(5,150,105,.6);border-radius:4px;outline:none;color:#fff;background:#ffffff1a;width:100%;box-sizing:border-box}.work-sidebar__empty{padding:24px 12px;text-align:center;color:#ffffff73;font-size:12px}.work-main{flex:1;min-width:0;padding:24px 28px 28px;display:flex;flex-direction:column;overflow:hidden;background:transparent;color:var(--c-text)}.work-main__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:2px solid rgba(0,0,0,.08);margin-bottom:20px}.work-main__title{font-size:22px;font-weight:800;margin:0;color:var(--c-text);cursor:pointer;padding:2px 8px;border-radius:4px;transition:background .15s}.work-main__title:hover{background:var(--c-bg-hover, rgba(0, 0, 0, .04))}.work-main__title-input{font-size:22px;font-weight:800;margin:0;padding:2px 8px;border:1px solid var(--c-primary, #059669);border-radius:4px;outline:none;color:var(--c-text);background:#ffffffe6;box-sizing:border-box;max-width:100%}.work-main__add-cat{padding:6px 14px;font-size:12px;border:1px dashed rgba(0,0,0,.25);border-radius:var(--radius-sm);background:transparent;color:var(--c-text-secondary, rgba(0,0,0,.55));cursor:pointer;transition:all .15s}.work-main__add-cat:hover{border-color:var(--c-primary);color:var(--c-primary);background:#0596690f}.work-cat-columns{display:flex;align-items:flex-start;gap:16px;overflow:auto;flex:1;min-height:0;padding:6px}.work-cat-group{display:flex;flex-direction:column;gap:var(--space-2, 8px);flex-shrink:0;padding:2px 0}.work-cat-band{display:grid;gap:var(--space-2, 8px);align-items:start}.work-cat-lane{grid-row:1;display:flex;flex-direction:column;gap:var(--space-2, 8px);min-width:0}.work-cat-column{position:relative;flex-shrink:0;background:color-mix(in srgb,var(--cat-color, transparent) 14%,rgba(0,0,0,.025));border:1px solid color-mix(in srgb,var(--cat-color, transparent) 45%,rgba(0,0,0,.06));border-radius:var(--radius-md);padding:10px;display:flex;flex-direction:column;gap:6px;cursor:grab}.work-cat-column:active{cursor:grabbing}.work-cat-column--placeholder{border:2px dashed var(--color-brand-600, #059669);background:color-mix(in srgb,var(--color-brand-600, #059669) 10%,transparent)}.work-cat-column--placeholder>*{visibility:hidden}.work-cat-column--add{width:120px;min-width:100px;max-width:140px;justify-content:center;align-items:center;border-style:dashed;color:#00000059;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.work-cat-column--add:hover{color:var(--c-primary);border-color:var(--c-primary);background:#0596690a}.work-cat-column__head{display:flex;align-items:center;justify-content:center;margin-bottom:6px}.work-cat-column__title{font-size:15px;font-weight:700;margin:0;color:var(--cat-color, var(--c-primary-dark, #047857));cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;flex:1}.work-cat-column__title-input{font-size:15px;font-weight:700;margin:0;padding:2px 6px;border:1px solid var(--cat-color, var(--c-primary, #059669));border-radius:4px;outline:none;color:var(--cat-color, var(--c-primary-dark, #047857));text-align:center;width:100%;max-width:100%;box-sizing:border-box;background:#ffffffe6}.work-cat-column__bottom-add{display:flex;align-items:center;justify-content:center;width:100%;margin-top:4px;padding:4px 0;border:none;background:transparent;color:#0000004d;font-size:18px;line-height:1;cursor:pointer;transition:color .12s}.work-cat-column__bottom-add:hover{color:var(--c-primary)}.work-btn-grid{display:flex;flex-direction:column;gap:6px;min-height:32px;padding:2px;border:1px dashed transparent;border-radius:var(--radius-md);transition:border-color .12s,background .12s}.work-btn-grid--drop-target{border-color:var(--c-primary, #059669);background:#0596690f}.work-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);background:#ffffffb8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:var(--c-text);font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:all .12s;overflow:hidden;min-width:0;position:relative}.work-btn--drop-above{box-shadow:0 -2px 0 0 var(--c-primary, #059669)}.work-btn--drop-below{box-shadow:0 2px 0 0 var(--c-primary, #059669)}.work-btn:hover{border-color:var(--c-primary);background:#fffffff2;transform:translateY(-1px);box-shadow:0 3px 8px #05966926}.work-btn:active{transform:translateY(0)}.work-btn__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-btn--colored{border-color:color-mix(in srgb,var(--btn-color) 30%,transparent);background:color-mix(in srgb,var(--btn-color) 8%,rgba(255,255,255,.85));color:var(--btn-color)}.work-btn--colored:hover{border-color:var(--btn-color);background:color-mix(in srgb,var(--btn-color) 12%,rgba(255,255,255,.95));box-shadow:0 3px 8px color-mix(in srgb,var(--btn-color) 20%,transparent)}.work-empty{padding:60px 20px;text-align:center;color:#00000073;display:flex;flex-direction:column;align-items:center;gap:12px}.work-empty__hint{font-size:13px}.work-empty__add{padding:8px 18px;border:1px dashed rgba(0,0,0,.2);border-radius:var(--radius-md);background:transparent;color:#00000080;font-size:13px;cursor:pointer;transition:all .15s}.work-empty__add:hover{color:var(--c-primary);border-color:var(--c-primary);background:#0596690a}.work-ctx-menu{position:fixed;z-index:9999;background:#1e2823c7;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:4px 0;box-shadow:0 8px 24px #00000047,0 1px #ffffff0f inset;list-style:none;min-width:128px;margin:0}.work-ctx-menu__item{padding:7px 14px;font-size:13px;cursor:pointer;color:#ffffffd1;-webkit-user-select:none;user-select:none;transition:background .12s}.work-ctx-menu__item:hover{background:#ffffff1a;color:#fff}.work-ctx-menu__item--danger{color:#ff6464e6}.work-ctx-menu__item--danger:hover{background:#ef444426;color:#fca5a5}.work-ctx-menu__item--has-sub{position:relative;display:flex;align-items:center;justify-content:space-between}.work-ctx-menu__arrow{margin-left:12px;font-size:14px;opacity:.5}.work-ctx-menu--sub{display:none;position:absolute;left:100%;top:-4px;min-width:110px}.work-ctx-menu--sub-flip{left:auto;right:100%}.work-ctx-menu__item--has-sub:hover>.work-ctx-menu--sub{display:block}.work-color-picker{position:fixed;z-index:10000;background:#1e2823d1;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-radius:8px;padding:8px 10px;display:flex;flex-wrap:wrap;gap:6px;max-width:180px;box-shadow:0 6px 20px #0000004d}.work-color-picker__dot{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.2);cursor:pointer;transition:transform .12s,border-color .12s}.work-color-picker__dot:hover{transform:scale(1.2);border-color:#ffffffb3}.work-editor__overlay{position:fixed;inset:var(--dock-inset, 0);z-index:1100;background:#0006;display:flex;align-items:center;justify-content:center}.work-editor{width:min(440px,92vw);background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;overflow:hidden}.work-editor__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.08)}.work-editor__title{font-size:15px;font-weight:700;color:var(--c-text)}.work-editor__close{width:26px;height:26px;border-radius:50%;border:none;background:transparent;font-size:20px;line-height:1;color:#00000073;cursor:pointer}.work-editor__close:hover{background:#0000000f;color:#000c}.work-editor__body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.work-editor__field{display:flex;flex-direction:column;gap:6px;font-size:12px}.work-editor__field>span{color:var(--c-text-secondary, rgba(0,0,0,.55));font-weight:600}.work-editor__field>input{padding:7px 10px;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-size:13px;font-family:inherit;color:var(--c-text);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.work-editor__field>input:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light, rgba(5,150,105,.15))}.work-editor__types{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.work-editor__type{padding:6px 4px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#fff;color:var(--c-text-secondary, rgba(0,0,0,.55));font-size:12px;cursor:pointer;transition:all .12s}.work-editor__type:hover{border-color:var(--c-primary);color:var(--c-primary)}.work-editor__type--active{border-color:var(--c-primary);background:var(--c-primary);color:#fff}.work-editor__type--active:hover{background:var(--c-primary-dark, #047857);color:#fff}.work-editor__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-top:1px solid rgba(0,0,0,.08);background:#00000005}.work-editor__foot-right{display:flex;gap:8px;margin-left:auto}.work-editor__btn{padding:6px 14px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:var(--c-text);font-size:12px;cursor:pointer;transition:all .12s}.work-editor__btn:hover{background:#0000000a}.work-editor__btn--primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.work-editor__btn--primary:hover{background:var(--c-primary-dark, #047857);color:#fff}.work-editor__del{padding:6px 14px;border:1px solid rgba(239,68,68,.3);border-radius:6px;background:transparent;color:#ef4444;font-size:12px;cursor:pointer}.work-editor__del:hover{background:#ef444414;border-color:#ef4444}.work-prompt__overlay{position:fixed;inset:var(--dock-inset, 0);z-index:1200;background:#00000073;display:flex;align-items:center;justify-content:center}.work-prompt{width:min(360px,88vw);background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000059;padding:20px 22px;display:flex;flex-direction:column;gap:14px}.work-prompt__title{font-size:15px;font-weight:700;color:var(--c-text);margin:0}.work-prompt__input{padding:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:6px;font-size:14px;font-family:inherit;color:var(--c-text);outline:none;transition:border-color .15s,box-shadow .15s}.work-prompt__input:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px #05966926}.work-prompt__actions{display:flex;justify-content:flex-end;gap:8px}.work-prompt__btn{padding:6px 16px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid rgba(0,0,0,.12);background:#fff;color:var(--c-text);transition:all .12s}.work-prompt__btn:hover{background:#0000000a}.work-prompt__btn--primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.work-prompt__btn--primary:hover{background:var(--c-primary-dark, #047857);color:#fff}.checkin-page{display:flex;height:100%;overflow:hidden}.checkin-left{flex-shrink:0;display:flex;flex-direction:column;background:linear-gradient(#0000004d,#0000004d),url(/leaves-bg.png) left center / cover no-repeat fixed;color:#e8f0ea}.checkin-divider{width:4px;flex-shrink:0;cursor:col-resize;background:transparent;transition:background .15s;position:relative}.checkin-divider:after{content:"";position:absolute;top:0;bottom:0;left:1px;width:2px;background:var(--c-border);transition:background .15s}.checkin-divider:hover:after,.checkin-divider:active:after{background:var(--c-primary);width:3px;left:0}.checkin-left__head{display:flex;align-items:center;gap:12px;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.12)}.checkin-left__head h1{color:#fff}.checkin-left__summary{font-size:12px;color:#ffffffa6}.checkin-left__summary b{color:#6ee7b7;font-size:15px;font-weight:700;margin:0 1px}.checkin-add-icon{width:28px;height:28px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fffc;font-size:18px;line-height:1;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.checkin-add-icon:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.checkin-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:10px 16px 12px;border-bottom:1px solid rgba(255,255,255,.12)}.checkin-week__cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;border-radius:6px}.checkin-week__cell--today{background:#05966938}.checkin-week__label{font-size:10px;color:#fff9;line-height:1.2}.checkin-week__day{font-size:11px;color:#fff;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums}.checkin-week__cell--today .checkin-week__day{color:#6ee7b7;font-weight:700}.day-ring{position:relative;display:inline-block}.day-ring__inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:inherit;font-variant-numeric:tabular-nums}.checkin-left__list{flex:1;overflow:auto;padding:20px 12px;display:flex;flex-direction:column;gap:8px}.checkin-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffffff8c;gap:6px;padding:40px 20px}.checkin-empty p{margin:0;font-size:13px}.checkin-empty__hint{font-size:12px;opacity:.75}.habit-row{--habit-color: #059669;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);cursor:pointer;color:#e8f0ea;transition:background .15s,border-color .15s,box-shadow .15s}.habit-row:hover{background:#ffffff1f}.habit-row--active{background:#05966938;border-color:#0596698c;box-shadow:0 0 0 1px #05966973}.habit-row--off{opacity:.6}.habit-row--contest,.habit-row--contest.habit-row--active{background:color-mix(in srgb,var(--medal-gold) 6%,transparent);border-color:color-mix(in srgb,var(--medal-gold) 30%,transparent);box-shadow:none}.habit-row--contest:hover{background:color-mix(in srgb,var(--medal-gold) 10%,transparent)}.habit-row--contest{margin-top:var(--space-3);margin-bottom:var(--space-2);padding-top:var(--space-4)}.habit-row__icon-wrap{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.habit-row__icon-lg{font-size:18px;line-height:1}.habit-row__main{grid-column:1;display:flex;align-items:center;gap:12px;min-width:0}.habit-row__body{flex:1;min-width:0}.habit-row__name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habit-row__sub{grid-column:1;font-size:11px;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:48px}.habit-row__flame{display:inline-block;width:16px;height:16px;margin-right:4px;vertical-align:-4px;fill:#ff5a5f;flex:none}.habit-row__days{grid-column:2;grid-row:1 / 3;align-self:center;display:flex;align-items:center;gap:4px;flex-shrink:0}.habit-day{display:flex;align-items:center;justify-content:center;padding:2px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:inherit;transition:background .12s}.habit-day:hover{background:#ffffff26}.habit-day--today{background:#05966940}.habit-day--today:hover{background:#05966961}.habit-day--off{opacity:.45;cursor:default}.habit-day--locked,.habit-day--locked:hover{background:transparent;cursor:not-allowed}.habit-day__check{font-size:12px;font-weight:700;color:var(--habit-color, #059669);line-height:1}.habit-row__ctx-menu{position:fixed;display:flex;flex-direction:column;min-width:100px;background:#1e1e1ef5;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 4px 16px #0006;padding:4px;z-index:100}.habit-row__ctx-item{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:5px;color:#ffffffd9;font-size:13px;cursor:pointer;text-align:left;transition:background .12s}.habit-row__ctx-item:hover{background:#ffffff1f}.habit-row__ctx-item--danger{color:#f87171}.habit-row__ctx-item--danger:hover{background:#f8717126}.habit-contest{grid-column:1 / -1;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed rgba(255,255,255,.18);cursor:default}.contest-banner-wrap{position:absolute;top:0;left:50%;z-index:2;max-width:calc(100% - var(--space-8));transform:translate(-50%,-50%);display:inline-flex;justify-content:center;outline:none}.contest-banner-wrap .contest-banner{background-color:#1c2a22}.contest-banner__info{position:absolute;top:calc(100% + var(--space-1));left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:#141e18f2;border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-popover);color:#ffffffe6;font-size:var(--text-xs);font-weight:600;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s}.contest-banner-wrap:hover .contest-banner__info,.contest-banner-wrap:focus-visible .contest-banner__info{opacity:1;visibility:visible}.contest-banner-wrap:focus-visible .contest-banner{outline:2px solid var(--color-brand-600);outline-offset:2px}.habit-contest__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.habit-contest__row{display:grid;grid-template-columns:var(--space-6) minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:#ffffffd9}.habit-contest__row--me{background:#ffffff14}.habit-contest__row--pending .habit-contest__name{flex:1 1 auto;min-width:0}.habit-contest__hide{flex-shrink:0;margin-left:var(--space-2);height:28px;padding:0 var(--space-2);border:0;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-xs);cursor:pointer}.habit-contest__hide:hover{background:#ffffff1a}.habit-contest__hide:focus-visible{outline:2px solid var(--color-brand-600)}.habit-contest__row--pending{display:flex;align-items:center;min-width:0;color:var(--text-muted);font-size:var(--text-sm);padding-left:var(--space-3)}.habit-contest__medal{display:inline-flex;align-items:center;justify-content:center;color:#ffffff8c}.rank-crown{flex-shrink:0}.rank-crown--1{color:var(--medal-gold);filter:drop-shadow(0 0 4px rgba(245,196,81,.5))}.rank-crown--2{color:var(--medal-silver)}.rank-crown--3{color:var(--medal-bronze)}.rank-crown__num{font-size:var(--text-xs);font-weight:700;color:#fff9}.contest-banner{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;min-width:0;padding:var(--space-1) var(--space-3);overflow:hidden;border:1px solid color-mix(in srgb,var(--medal-gold) 65%,transparent);border-radius:var(--radius-pill);background:linear-gradient(90deg,color-mix(in srgb,var(--medal-gold) 26%,transparent),color-mix(in srgb,var(--medal-gold) 8%,transparent) 55%,color-mix(in srgb,var(--medal-gold) 26%,transparent));box-shadow:0 0 var(--space-3) color-mix(in srgb,var(--medal-gold) 22%,transparent),inset 0 1px #ffffff2e;color:var(--medal-gold);cursor:default}.contest-banner:after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,244,204,.5),transparent);transform:skew(-20deg);animation:contest-banner-shine 4.5s ease-in-out infinite;pointer-events:none}.contest-banner__spark{flex-shrink:0;opacity:.85}.contest-banner__text{min-width:0;overflow:hidden;background:linear-gradient(180deg,#fff6d6 0%,var(--medal-gold) 55%,#d99a2b 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-size:var(--text-md);font-weight:800;letter-spacing:.08em;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}@keyframes contest-banner-shine{0%,55%{left:-40%}to{left:120%}}@media(prefers-reduced-motion:reduce){.contest-banner:after{animation:none;display:none}}.habit-contest__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-contest__dots{display:inline-flex;gap:var(--space-1)}.habit-contest__dot{width:var(--icon-md);height:var(--icon-md);border-radius:50%;border:2px solid var(--habit-color, #059669);box-sizing:border-box}.habit-contest__dot--done{background:var(--habit-color, #059669)}.habit-contest__dot--part{background:linear-gradient(90deg,var(--habit-color, #059669) 50%,transparent 50%)}.habit-contest__dot--none{opacity:.45}.habit-contest__dot--off{border-style:dotted;opacity:.3}.habit-contest__days{min-width:var(--space-10);text-align:right;color:#ffffffb3;font-variant-numeric:tabular-nums}.contest-days{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.contest-days__label{min-width:48px;font-size:var(--text-md);color:var(--text-primary)}.contest-days__input{width:72px;height:var(--control-md);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-md)}.contest-days__input:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}.contest-days__input[aria-invalid=true]{border-color:var(--color-danger-500)}.contest-days__unit{font-size:var(--text-md);color:var(--text-secondary)}.contest-cancel__btn{margin-right:auto}.contest-cancel__tip{flex:1;min-width:0;margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.contest-name__input{flex:1;min-width:0;height:var(--control-md);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-md)}.contest-name__input:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}.contest-result__body{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.contest-result__hero{position:relative;overflow:hidden;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4) var(--space-4);border-radius:var(--radius-lg);border:1px solid rgba(245,196,81,.45);background:radial-gradient(ellipse at 50% 0%,rgba(245,196,81,.28),transparent 65%),linear-gradient(160deg,#0f2a1f,#123d2c 60%,#0b2017);animation:contest-result-pop .5s cubic-bezier(.2,1.2,.4,1) both}.contest-result__hero-crown{animation:contest-result-crown .9s cubic-bezier(.2,1.3,.4,1) .2s both}.contest-result__habit{margin:0;font-size:var(--text-2xl);font-weight:800;letter-spacing:.08em;background:linear-gradient(180deg,#fff3c4,var(--medal-gold) 55%,#d99a1e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.contest-result__sub{margin:0;font-size:var(--text-sm);color:#ffffffb3}.contest-result__me{margin:var(--space-1) 0 0;font-size:var(--text-lg);font-weight:600;color:var(--medal-gold)}.contest-result__spark{position:absolute;top:var(--space-4);font-size:var(--text-xl);color:var(--medal-gold);animation:contest-result-twinkle 1.6s ease-in-out 3 both}.contest-result__spark--l{left:var(--space-5)}.contest-result__spark--r{right:var(--space-5);animation-delay:.8s}.contest-fx{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:100000}@keyframes contest-result-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@keyframes contest-result-crown{0%{transform:translateY(-24px) scale(.3) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}@keyframes contest-result-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes contest-result-twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes contest-result-row-in{0%{transform:translate(-16px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.contest-result__hero,.contest-result__hero-crown,.contest-result__spark,.contest-result__row{animation:none}.contest-result__confetti{display:none}}.contest-result__list{width:100%;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-1);max-height:320px;overflow-y:auto}.contest-result__row{display:grid;grid-template-columns:40px minmax(0,1fr) 64px 64px;align-items:center;gap:var(--space-2);min-height:var(--control-lg);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--surface-subtle);font-size:var(--text-md);color:var(--text-primary);text-align:left}.contest-result__row{animation:contest-result-row-in .4s ease-out both}.contest-result__row--top1{background:linear-gradient(90deg,#f5c45159,#f5c4511a);border:1px solid var(--medal-gold);font-weight:700;box-shadow:0 0 12px #f5c45159}.contest-result__row--top2{background:linear-gradient(90deg,#c9d3cf80,#c9d3cf1f);border:1px solid var(--medal-silver);font-weight:600}.contest-result__row--top3{background:linear-gradient(90deg,#c98a5b4d,#c98a5b14);border:1px solid var(--medal-bronze);font-weight:600}.contest-result__row--me{outline:2px solid var(--color-brand-600);outline-offset:-2px}.contest-result__rank{display:flex;align-items:center;justify-content:center}.contest-result__num{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-xl, 24px);height:var(--icon-xl, 24px);border-radius:50%;background:var(--surface-card);border:1px solid var(--border-strong);font-size:var(--text-sm);font-weight:700;color:var(--text-secondary)}.contest-result__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contest-result__medal{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.rank-crown--rich{filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}.rank-crown--1.rank-crown--rich{filter:drop-shadow(0 0 6px rgba(245,196,81,.8))}.contest-result__days{text-align:right;font-size:var(--text-sm);color:var(--text-secondary)}.contest-invites{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) 0}.contest-invites__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid rgba(5,150,105,.55);background:#0596692e;color:#e8f0ea;font-size:var(--text-sm)}.contest-invite-modal .ui-modal__header{position:relative}.contest-invite-modal .ui-modal__title{position:absolute;left:56px;right:56px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contest-invite-modal .ui-modal__footer{justify-content:stretch}.contest-invite-modal .ui-modal__footer .btn{flex:1 1 0}.contest-invite-modal .ui-modal__footer .btn--primary{border-color:var(--color-brand-600);background:var(--color-brand-600);color:#fff}.contest-invite-modal .ui-modal__footer .btn--primary:not(:disabled):hover{border-color:var(--color-brand-700);background:var(--color-brand-700)}.contest-invite-detail{margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.contest-invite-detail__row{display:flex;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle, var(--border-strong));font-size:var(--text-md)}.contest-invite-detail__row:last-child{border-bottom:0}.contest-invite-detail dt{min-width:72px;color:var(--text-secondary)}.contest-invite-detail dd{margin:0;flex:1;min-width:0;color:var(--text-primary);overflow-wrap:anywhere}.contest-invites__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-row__btn{min-width:28px;height:26px;padding:0 8px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:4px;font-size:12px;color:#fff;cursor:pointer;font-weight:600;transition:background .12s,border-color .12s}.habit-row__btn:hover:not(:disabled){background:#ffffff24;border-color:var(--habit-color)}.habit-row__btn:disabled{opacity:.4;cursor:not-allowed}.habit-row__btn--primary{background:var(--habit-color);border-color:var(--habit-color);color:#fff}.habit-row__btn--primary:hover:not(:disabled){filter:brightness(1.15);background:var(--habit-color)}.habit-row__iconbtn{width:22px;height:22px;border:none;background:transparent;color:#ffffff8c;cursor:pointer;border-radius:4px;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.habit-row__iconbtn:hover{background:#ffffff24;color:#fff}.habit-check{padding:5px 12px;background:var(--habit-color);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:filter .15s}.habit-check:hover:not(:disabled){filter:brightness(1.15)}.habit-check:disabled{cursor:not-allowed;filter:grayscale(.4) brightness(.8)}.habit-check--done{background:#ffffff14;color:#6ee7b7;border:1px solid var(--habit-color)}.habit-count-inline,.habit-duration-inline{display:inline-flex;align-items:center;gap:4px}.habit-count-inline__num{font-size:12px;color:#fff;font-weight:600;font-variant-numeric:tabular-nums;margin-right:2px}.habit-duration-inline input{width:54px;height:26px;padding:0 6px;border:1px solid rgba(255,255,255,.2);border-radius:4px;font-size:12px;background:#ffffff14;color:#fff;font-family:inherit}.habit-duration-inline input:focus{outline:none;border-color:var(--habit-color)}.checkin-right{flex:1;overflow:auto;padding:20px 24px;min-width:0}.checkin-right__empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--c-text-secondary);font-size:13px}.month-view{--habit-color: #059669;display:flex;flex-direction:column;gap:14px;height:100%;min-height:0}.month-view__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--c-border);flex-shrink:0}.month-view__title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.month-view__dot{width:10px;height:10px;border-radius:50%;background:var(--habit-color)}.month-view__title h2{margin:0;font-size:18px;font-weight:600;color:var(--c-text)}.month-view__meta{font-size:12px;color:var(--c-text-secondary);margin-left:4px}.month-view__nav{display:flex;align-items:center;gap:6px;flex-shrink:0}.month-view__nav .checkin-btn{padding:4px 10px;font-size:14px}.month-view__label{font-size:14px;font-weight:600;color:var(--c-text);min-width:110px;text-align:center;font-variant-numeric:tabular-nums}.month-view__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex-shrink:0}.month-view__stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius-md)}.month-view__stat-label{font-size:11px;color:var(--c-text-secondary)}.month-view__stat-value{font-size:22px;font-weight:700;color:var(--habit-color);font-variant-numeric:tabular-nums;line-height:1.1;display:inline}.month-view__stat-suffix{font-size:11px;color:var(--c-text-secondary);margin-left:4px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:4px;flex:1;min-height:0}.month-grid__wd{text-align:center;font-size:11px;color:var(--c-text-secondary);padding:4px 0;font-weight:500}.month-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;border-radius:6px;cursor:pointer;min-height:56px;transition:background .12s}.month-cell:hover:not(:disabled){background:#ffffff8c}.month-cell--out{visibility:hidden}.month-cell--future{cursor:pointer}.month-cell--locked,.month-cell--locked:hover:not(:disabled){background:transparent;cursor:not-allowed}.month-cell--today{background:#0596691f}.month-cell--today:hover:not(:disabled){background:#05966933}.month-cell__num{font-size:13px;color:var(--c-text);font-variant-numeric:tabular-nums}.month-cell__num--done{color:var(--habit-color);font-weight:700}.month-cell__val{position:absolute;bottom:4px;font-size:10px;color:var(--c-text-secondary);font-variant-numeric:tabular-nums;line-height:1}.month-cell--off .month-cell__num{color:var(--c-text-secondary);opacity:.6}.checkin-btn{padding:5px 12px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:12px;color:var(--c-text);cursor:pointer;transition:background .12s,border-color .12s}.checkin-btn:hover{background:#00000008;border-color:var(--c-primary)}.checkin-btn--primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:600}.checkin-btn--primary:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}.checkin-btn--danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}.checkin-btn--danger:hover{filter:brightness(1.05)}.checkin-modal-overlay{position:fixed;inset:var(--dock-inset, 0);background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.checkin-modal{background:var(--c-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:18px 20px;min-width:380px;max-width:90vw;max-height:85vh;overflow:auto;color:var(--c-text)}.checkin-modal h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--c-text)}.checkin-modal p{margin:6px 0;font-size:13px;color:var(--c-text-secondary)}.checkin-modal__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--c-border)}.checkin-modal--confirm{min-width:320px}.checkin-form{display:flex;flex-direction:column;gap:14px}.checkin-field{display:flex;flex-direction:column;gap:6px}.checkin-field>span{font-size:12px;color:var(--c-text-secondary);font-weight:500}.checkin-field--row{flex-direction:row;align-items:center;gap:8px}.checkin-field--row>span:first-child{min-width:64px}.checkin-field__suffix{font-size:12px;color:var(--c-text-secondary)}.checkin-field input[type=text],.checkin-field input[type=number],.checkin-field input:not([type]){padding:7px 10px;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:13px;background:var(--c-card);color:var(--c-text);font-family:inherit}.checkin-field input:focus{outline:none;border-color:var(--c-primary)}.checkin-seg{display:flex;gap:0;border:1px solid var(--c-border);border-radius:var(--radius-sm);overflow:hidden;width:fit-content}.checkin-seg__item{padding:6px 12px;background:var(--c-card);border:none;border-right:1px solid var(--c-border);font-size:12px;color:var(--c-text-secondary);cursor:pointer;transition:background .12s,color .12s}.checkin-seg__item:last-child{border-right:none}.checkin-seg__item:hover{background:#00000008}.checkin-seg__item--active{background:var(--c-primary);color:#fff;font-weight:600}.checkin-seg__item--active:hover{background:var(--c-primary)}.checkin-weekdays{display:flex;gap:6px}.checkin-weekdays__btn{width:32px;height:32px;border:1px solid var(--c-border);background:var(--c-card);border-radius:50%;color:var(--c-text-secondary);cursor:pointer;font-size:12px;transition:background .12s,color .12s,border-color .12s}.checkin-weekdays__btn--on{background:var(--c-primary);color:#fff;border-color:var(--c-primary);font-weight:600}.checkin-colors{display:flex;gap:8px;flex-wrap:wrap}.checkin-colors__dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .12s,border-color .12s}.checkin-colors__dot:hover{transform:scale(1.1)}.checkin-colors__dot--on{border-color:var(--c-text);transform:scale(1.1)}.hf-modal{width:460px;max-width:calc(100vw - 32px);padding:24px 28px 20px;position:relative;overflow:visible}.hf-modal h3{text-align:center;font-size:17px;font-weight:600;margin:0 0 20px}.hf-name-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.hf-icon-btn{position:relative;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:filter .15s}.hf-icon-btn:hover{filter:brightness(.9)}.hf-icon-emoji{font-size:22px;line-height:1}.hf-icon-edit{position:absolute;bottom:-2px;right:-2px;font-size:11px;background:var(--c-card);border:1px solid var(--c-border);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--c-text-secondary);pointer-events:none}.hf-name-input{flex:1;padding:10px 14px;font-size:15px;border:1.5px solid var(--c-primary);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);outline:none}.hf-name-input:focus,.hf-name-input:focus-visible{outline:none;box-shadow:none}.hf-name-input::placeholder{color:var(--c-text-placeholder, #aaa)}.hf-form{display:flex;flex-direction:column;gap:0}.hf-row{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--c-border);gap:8px}.hf-row:last-child{border-bottom:none}.hf-row--sub{background:#00000005;padding-left:8px}.hf-label{font-size:14px;color:var(--c-text);width:80px;flex-shrink:0}.hf-label--tip{cursor:help;text-decoration:underline dotted;text-underline-offset:3px}.hf-select{flex:1;padding:7px 28px 7px 10px;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.hf-select:focus{outline:none;border-color:var(--c-primary)}.hf-select-wrap{flex:1;position:relative;display:flex;align-items:center}.hf-select-display{flex:1;padding:7px 28px 7px 10px;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:14px;background:var(--c-bg);color:var(--c-text);cursor:pointer}.hf-date-hidden{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.hf-num-input{width:70px;padding:6px 8px;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-size:14px;text-align:center;-moz-appearance:textfield}.hf-num-input::-webkit-outer-spin-button,.hf-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hf-num-input:focus{outline:none;border-color:var(--c-primary)}.hf-unit{font-size:13px;color:var(--c-text-secondary)}.hf-unit-input{width:90px;padding:6px 8px;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-size:14px}.hf-unit-input:focus{outline:none;border-color:var(--c-primary)}.hf-row--reminder{align-items:center;padding:10px 0}.hf-allday{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:400;color:var(--c-text-secondary);cursor:pointer;flex-shrink:0}.hf-allday input[type=checkbox]{width:16px;height:16px;accent-color:var(--c-primary);cursor:pointer}.hf-label--inline{width:auto;margin-left:0;white-space:nowrap}.hf-row--disabled{position:relative;cursor:not-allowed}.hf-row--disabled>*{opacity:.4;pointer-events:none}.hf-row--disabled input:disabled{background:#00000014;border-style:dashed}.hf-row--sub .hf-unit{white-space:nowrap;flex-shrink:0}.hf-row--sub .hf-time-input,.hf-row--sub .hf-num-input{flex-shrink:1;min-width:0}.hf-checkbox-row--sub,.hf-checkbox-row--sub span{margin:0;font-size:13px;font-weight:400;color:var(--c-text-secondary)}.hf-reminders{flex:1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.hf-reminder-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#0596691a;border:1px solid rgba(5,150,105,.3);border-radius:99px;font-size:13px;color:var(--c-primary)}.hf-reminder-del{background:none;border:none;cursor:pointer;color:var(--c-text-secondary);font-size:14px;line-height:1;padding:0}.hf-reminder-del:hover{color:var(--c-danger)}.hf-reminder-add{display:flex;align-items:center;gap:4px}.hf-time-input{padding:4px 8px;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:13px;background:var(--c-bg);color:var(--c-text);width:90px}.hf-time-input:focus{outline:none;border-color:var(--c-primary)}.hf-reminder-add-btn{width:32px;height:32px;border:1.5px dashed var(--c-border);border-radius:var(--radius-sm);background:none;cursor:pointer;font-size:18px;color:var(--c-text-secondary);display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.hf-reminder-add-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.hf-checkbox-row{display:flex;align-items:center;gap:8px;margin:14px 0 0;cursor:pointer;font-size:14px;color:var(--c-text);-webkit-user-select:none;user-select:none}.hf-checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--c-primary)}.hf-footer{justify-content:center;margin-top:20px;gap:12px}.hf-btn-save{min-width:120px;padding:9px 24px;font-size:15px;border-radius:var(--radius-md, 8px)}.hf-btn-cancel{min-width:80px;padding:9px 20px;font-size:15px;border-radius:var(--radius-md, 8px)}.hf-group-title{margin:16px 0 4px;font-size:12px;font-weight:600;color:var(--c-text-secondary)}.hf-label{width:92px}.hf-row--sub{background:none;margin-left:12px;padding-left:12px;border-left:2px solid var(--c-primary)}.hf-row--sub .hf-label{font-size:13px;color:var(--c-text-secondary);width:80px}.hf-select,.hf-select-display,.hf-num-input,.hf-time-input,.hf-unit-input{height:34px;box-sizing:border-box}.hf-reminder-add-btn{height:34px;width:34px}.hf-freq-list{left:92px}.hf-checkbox-row{margin:12px 0 0;min-height:28px}.hf-task-card{margin-top:8px;padding:4px 12px;background:#00000005;border:1px solid var(--c-border);border-radius:8px}.hf-task-card .hf-row--sub{margin-left:0;padding-left:0;border-left:none}.hf-prio-btn,.hf-prio-item{display:flex;align-items:center;gap:8px}.hf-prio-btn{cursor:pointer}.hf-select-display.hf-prio-btn--p0,.hf-freq-item.hf-prio-item--p0{color:#dc2626}.hf-select-display.hf-prio-btn--p1,.hf-freq-item.hf-prio-item--p1{color:#ca8a04}.hf-select-display.hf-prio-btn--p2,.hf-freq-item.hf-prio-item--p2{color:#0f766e}.hf-select-display.hf-prio-btn--p0{border-color:#dc262673}.hf-select-display.hf-prio-btn--p1{border-color:#ca8a0473}.hf-select-display.hf-prio-btn--p2{border-color:#0f766e73}.hf-freq-item.hf-prio-item--p0:hover,.hf-freq-item.hf-prio-item--p0.hf-freq-item--active{background:#dc26261a}.hf-freq-item.hf-prio-item--p1:hover,.hf-freq-item.hf-prio-item--p1.hf-freq-item--active{background:#ca8a041f}.hf-freq-item.hf-prio-item--p2:hover,.hf-freq-item.hf-prio-item--p2.hf-freq-item--active{background:#0f766e1f}.hf-icon-wrap{position:static;flex-shrink:0}.hf-icon-picker-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.hf-icon-picker{position:absolute;top:112px;left:28px;right:28px;z-index:100;background:var(--c-card);border:1px solid var(--c-border);border-radius:10px;box-shadow:0 8px 24px #00000024;padding:12px}.hf-icon-picker__colors{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--c-border)}.hf-icon-picker__top{display:flex;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--c-border)}.hf-icon-picker__top .hf-icon-picker__cell{width:44px;aspect-ratio:1;flex-shrink:0}.hf-icon-picker__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.hf-icon-picker__cell{width:100%;aspect-ratio:1;border-radius:50%;border:2.5px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .12s,border-color .12s;padding:0;min-width:0}.hf-icon-picker__cell:hover{transform:scale(1.12);border-color:#00000026}.hf-icon-picker__cell--active{border-color:var(--c-text, #333)!important;transform:scale(1.08)}.hf-icon-picker__cell--text{font-size:14px;font-weight:600;color:#555}.hf-freq-list{position:absolute;top:calc(100% + 4px);left:80px;right:0;z-index:100;background:var(--c-card);border:1px solid var(--c-border);border-radius:10px;box-shadow:0 8px 24px #00000024;padding:4px}.hf-freq-item{padding:8px 12px;border-radius:6px;font-size:14px;color:var(--c-text);cursor:pointer;transition:background .12s}.hf-freq-item:hover{background:#0596691a}.hf-freq-item--active{background:#05966926;color:var(--c-primary);font-weight:600}.hf-freq-more{width:28px;height:28px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);color:var(--c-text-secondary);font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,border-color .12s}.hf-freq-more:hover{background:#0596691a;border-color:var(--c-primary);color:var(--c-primary)}.hf-freq-picker{position:absolute;top:calc(100% + 4px);left:80px;right:0;z-index:100;background:var(--c-card);border:1px solid var(--c-border);border-radius:10px;box-shadow:0 8px 24px #00000024;padding:14px 16px 12px}.hf-freq-picker__sub{font-size:12px;color:var(--c-text-secondary);margin-bottom:10px}.hf-freq-picker__days{display:flex;gap:8px;margin-bottom:14px}.hf-freq-day{flex:1;aspect-ratio:1;border-radius:50%;border:none;background:var(--c-bg, #f0f0f0);font-size:14px;font-weight:500;cursor:pointer;color:var(--c-text);transition:background .12s,color .12s}.hf-row--sub .hf-freq-picker__days{flex:1;margin-bottom:0}.hf-row--sub .hf-freq-day{flex:0 0 32px;width:32px;height:32px;font-size:var(--text-sm, 13px)}.hf-freq-day:focus-visible{outline:2px solid var(--color-brand-600, #059669);outline-offset:2px}.hf-freq-day:hover{background:#05966926}.hf-freq-day--on{background:var(--c-primary);color:#fff}.hf-freq-picker__footer{display:flex;gap:8px}.hf-freq-confirm{flex:1;padding:8px 0;background:var(--c-primary);color:#fff;border:none;border-radius:var(--radius-md, 8px);font-size:14px;font-weight:600;cursor:pointer}.hf-freq-confirm:hover{background:var(--c-primary-dark, #047857)}.hf-freq-cancel{flex:1;padding:8px 0;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius-md, 8px);font-size:14px;cursor:pointer;color:var(--c-text)}.hf-freq-cancel:hover{border-color:var(--c-primary)}.schedule-page{display:flex;height:100%;overflow:hidden}.schedule-panel{flex-shrink:0;padding:0 16px 20px;display:flex;flex-direction:column;overflow-y:auto;box-sizing:border-box}.schedule-panel__form{margin-bottom:12px}.schedule-panel__form-row{display:flex;align-items:stretch;gap:8px;padding:6px 8px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);transition:border-color .15s;position:relative}.schedule-panel__form-row:focus-within{border-color:var(--c-primary)}.schedule-panel__form-input{flex:1;min-width:0;padding:4px 2px;font-size:13px;border:none;background:transparent;color:#e8f0ea;outline:none;box-sizing:border-box}.schedule-panel__form-input:focus,.schedule-panel__form-input:focus-visible{outline:none;box-shadow:none}.schedule-panel__form-input::placeholder{color:#ffffff73}.schedule-panel__prio-trigger{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#ffffff0f;cursor:pointer;transition:background .15s,border-color .15s,transform .1s,color .15s}.schedule-panel__prio-trigger:hover{background:#ffffff24}.schedule-panel__prio-trigger:active{transform:scale(.94)}.schedule-panel__prio-trigger--p0{color:#dc2626;border-color:#dc262673}.schedule-panel__prio-trigger--p1{color:#eab308;border-color:#eab30873}.schedule-panel__prio-trigger--p2{color:#14b8a6;border-color:#14b8a673}.schedule-panel__date-trigger{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#ffffff0f;color:#ffffff8c;cursor:pointer;transition:background .15s,border-color .15s,transform .1s,color .15s}.schedule-panel__date-trigger:hover{background:#ffffff24;color:#e8f0ea}.schedule-panel__date-trigger:active{transform:scale(.94)}.schedule-panel__submit{flex:0 0 auto;width:22px;height:22px;align-self:center;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:4px;background:var(--c-primary);color:#fff;cursor:pointer;transition:background .15s,transform .1s}.schedule-panel__submit:hover:not(:disabled){background:var(--color-brand-700, #047857)}.schedule-panel__submit:active:not(:disabled){transform:scale(.92)}.schedule-panel__submit:disabled{cursor:default}.schedule-panel__submit--hidden{visibility:hidden;pointer-events:none}.schedule-panel__submit:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.schedule-panel__date-trigger--active{color:var(--c-primary);border-color:#05966973}.schedule-panel__date-wrap{position:relative;flex:0 0 auto;display:flex;align-items:center}.dtpop{position:absolute;top:calc(100% + 6px);right:0;z-index:50;width:280px;padding:12px;background:#1a1f1c;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);box-shadow:0 12px 36px #0000008c;color:#e8f0ea;font-size:12px;max-height:calc(100vh - 16px);overflow-y:auto;overscroll-behavior:contain}.dtpop__shortcuts{display:flex;gap:6px;margin-bottom:10px}.dtpop__shortcut{flex:1;display:flex;align-items:center;justify-content:center;height:40px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:#ffffffa6;cursor:pointer;transition:background .12s,color .12s}.dtpop__shortcut:hover{background:#ffffff14;color:#e8f0ea}.dtpop__shortcut:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.dtpop__shortcut--active{color:var(--c-primary)}.dtpop__shortcut-icon{display:inline-flex;width:24px;height:24px}.dtpop__shortcut-icon svg{width:24px;height:24px}.dtpop__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dtpop__nav-title{font-size:13px;font-weight:600}.dtpop__nav-btns{display:flex;gap:4px}.dtpop__nav-btns button{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:#ffffff14;color:#e8f0ea;cursor:pointer;font-size:14px}.dtpop__nav-btns button:hover{background:#ffffff29}.dtpop__dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#ffffff80;font-size:11px;margin-bottom:4px}.dtpop__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtpop__cell{position:relative;width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:none;border-radius:8px;background:transparent;color:#e8f0ea;font-size:12px;cursor:pointer;transition:background .1s;padding:0}.dtpop__cell-num{line-height:1.1}.dtpop__cell-holiday{font-size:9px;line-height:1;color:var(--c-primary);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.dtpop__cell-flag{position:absolute;top:2px;right:2px;font-size:8px;line-height:1;padding:1px 3px;border-radius:3px;color:#fff;font-weight:600;pointer-events:none}.dtpop__cell--off .dtpop__cell-flag{background:var(--c-primary)}.dtpop__cell--work .dtpop__cell-flag{background:#ea580c}.dtpop__cell--work .dtpop__cell-holiday{color:#ea580c}.dtpop__cell:hover{background:#ffffff1a}.dtpop__cell--out{color:#ffffff40}.dtpop__cell--out .dtpop__cell-holiday,.dtpop__cell--out .dtpop__cell-flag{opacity:.4}.dtpop__cell--today{outline:1px dashed var(--c-primary);outline-offset:-2px;color:var(--c-primary);font-weight:700}.dtpop__cell--selected{background:var(--c-primary);color:#fff;font-weight:700;outline:none}.dtpop__cell--selected .dtpop__cell-holiday{color:#fff}.dtpop__cell--selected .dtpop__cell-flag{background:#fffffff2;color:var(--c-primary)}.dtpop__cell--selected.dtpop__cell--work .dtpop__cell-flag{color:#ea580c}.dtpop__cell--today.dtpop__cell--selected{background:var(--c-primary);color:#fff;outline:2px solid #fff;outline-offset:-2px}.dtpop__field-row{margin-top:4px}.dtpop__field{width:100%;min-height:36px;padding:6px 4px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:none;border-radius:var(--radius-sm);background:transparent;color:#e8f0ea;font-size:var(--text-md);cursor:pointer;transition:background .12s}button.dtpop__field{text-align:left}.dtpop__field:hover{background:#ffffff0f}.dtpop__field:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.dtpop__field--static{cursor:default}.dtpop__field--static:hover{background:transparent}.dtpop__field-label{display:inline-flex;align-items:center;gap:8px;min-width:0;color:#fffc}.dtpop__field-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtpop__field-icon{font-size:16px;line-height:1;display:inline-flex;align-items:center;flex-shrink:0;color:currentColor}.dtpop__field-value{display:inline-flex;align-items:center;flex-shrink:0;gap:6px;color:#ffffff80}.dtpop__field-chevron{font-size:18px;line-height:1}.dtpop__field--active .dtpop__field-label{color:var(--c-primary)}.dtpop__field--active .dtpop__field-text{font-weight:600}.dtpop__field-clear{flex-shrink:0;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:#ffffff8c;font-size:12px;line-height:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.dtpop__field-clear:hover{background:#ffffff2e;color:#fff}.dtpop__field--active .dtpop__field-clear{color:#059669d9}.dtpop__field--active .dtpop__field-clear:hover{background:#0596692e;color:var(--c-primary)}.dtpop__time-list{max-height:160px;overflow-y:auto;margin-top:4px;display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.dtpop__time-item{padding:5px 2px;text-align:center;border:none;border-radius:var(--radius-sm);background:transparent;color:#ffffffbf;cursor:pointer;font-size:11px}.dtpop__time-item:hover{background:#ffffff1a}.dtpop__time-item--active{background:var(--c-primary);color:#fff;font-weight:600}.dtpop__footer{display:flex;gap:8px;margin-top:10px}.dtpop__btn{flex:1;padding:7px 0;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:filter .12s}.dtpop__btn:hover{filter:brightness(1.1)}.dtpop__btn--confirm{order:2;background:var(--c-primary);color:#fff}.dtpop__btn--clear{background:#ffffff1a;color:#e8f0ea;border:1px solid rgba(255,255,255,.14)}.dtpop__duration-ctrl{display:inline-flex;align-items:center;gap:6px}.dtpop__duration-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:#ffffffa6;cursor:pointer;font-size:16px;line-height:1;padding:0;transition:background .12s,color .12s,opacity .12s}.dtpop__duration-btn:hover:not(:disabled){background:#ffffff1f;color:#fff}.dtpop__duration-btn:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.dtpop__duration-btn:disabled{opacity:.35;cursor:not-allowed}.dtpop__duration-value{min-width:56px;text-align:center;font-size:12px;font-weight:600;color:#e8f0ea}.dtpop__rec-list{display:flex;flex-direction:column;gap:2px;margin-top:4px}.dtpop__rec-item{padding:7px 10px;text-align:left;border:none;border-radius:var(--radius-sm);background:transparent;color:#ffffffbf;cursor:pointer;font-size:12px;transition:background .1s}.dtpop__rec-item:hover{background:#ffffff14}.dtpop__rec-item--active{background:#05966933;color:var(--c-primary);font-weight:600}.dtpop__rec-more{padding:2px 8px;min-width:24px;height:22px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;border-radius:4px;color:#ffffffbf;font-size:14px;line-height:1;cursor:pointer;transition:background .1s,color .1s}.dtpop__rec-more:hover{background:#05966933;color:var(--c-primary);border-color:#05966966}.dtpop__weekly-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:20}.dtpop__weekly-picker{position:absolute;left:8px;right:8px;bottom:60px;z-index:21;background:#262b2e;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:10px;box-shadow:0 8px 24px #0006}.dtpop__weekly-title{font-size:12px;color:#ffffffbf;margin-bottom:8px}.dtpop__weekly-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}.dtpop__weekly-day{padding:6px 0;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#e8f0ea;border-radius:4px;font-size:12px;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.dtpop__weekly-day:hover{background:#ffffff1a}.dtpop__weekly-day--on{background:var(--c-primary);color:#fff;border-color:var(--c-primary);font-weight:600}.dtpop__weekly-actions{display:flex;gap:8px}.dtpop__weekly-confirm,.dtpop__weekly-cancel{flex:1;padding:6px 0;border:none;border-radius:5px;font-size:12px;cursor:pointer;transition:filter .12s}.dtpop__weekly-confirm{background:var(--c-primary);color:#fff}.dtpop__weekly-confirm:hover{filter:brightness(1.1)}.dtpop__weekly-cancel{background:#ffffff1a;color:#e8f0ea;border:1px solid rgba(255,255,255,.14)}.dtpop__weekly-cancel:hover{background:#ffffff29}.schedule-share-invites{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.schedule-share-invites__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid rgba(5,150,105,.55);background:#0596692e;color:#e8f0ea;font-size:var(--text-sm)}.schedule-share-invites__text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-share-invites__when{font-size:var(--text-xs);color:#ffffffa6}.schedule-share-invites__actions{display:flex;gap:var(--space-2);flex-shrink:0}.schedule-panel__list{flex:1;overflow-y:auto;margin:0;padding:0;list-style:none}.schedule-group{margin-bottom:14px}.schedule-group__title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#fff9;padding:6px 2px;cursor:pointer;border-radius:6px;-webkit-user-select:none;user-select:none}.schedule-group__title:hover{color:#ffffffd9;background:#ffffff0d}.schedule-group__chevron,.schedule-list-group__chevron{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex-shrink:0;font-size:0;line-height:0;transition:transform .12s ease}.schedule-group__chevron:before,.schedule-list-group__chevron:before{content:"";display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}.schedule-group__chevron.is-collapsed,.schedule-list-group__chevron.is-collapsed{transform:rotate(-90deg)}.schedule-group__chevron{color:#ffffff8c}.schedule-group--overdue .schedule-group__title{color:#fca5a5}.schedule-group--done{margin-top:8px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.15)}.schedule-group--done .schedule-group__title{color:#ffffff73}.schedule-group--done .schedule-item{opacity:.55}.schedule-group--done .schedule-item:hover{opacity:.85}.schedule-group__count{font-weight:400;opacity:.75}.schedule-group__action{margin-left:auto;padding:2px 8px;font-size:11px;font-weight:500;color:#fca5a5;background:#fca5a51f;border:1px solid rgba(252,165,165,.35);border-radius:10px;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.schedule-group__title:hover .schedule-group__action{opacity:1}.schedule-group__action:hover{background:#fca5a538;color:#fecaca}.schedule-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;row-gap:2px;padding:6px;font-size:13px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s;color:#e8f0ea}.schedule-item:hover{background:#ffffff14}.schedule-item--selected{background:#05966940;box-shadow:inset 3px 0 0 var(--c-primary)}.schedule-item--dragging{opacity:.4}.schedule-item--subtask{margin-left:46px;padding-left:8px;border-left:2px solid rgba(255,255,255,.1);font-size:13px}.schedule-item--subtask .schedule-item__title{color:#fffc}.schedule-item--drop-before,.schedule-item--drop-after{position:relative}.schedule-item--drop-before:before,.schedule-item--drop-after:after{content:"";position:absolute;left:8px;right:8px;height:2px;background:var(--c-primary);border-radius:1px;pointer-events:none}.schedule-item--drop-before:before{top:-1px}.schedule-item--drop-after:after{bottom:-1px}.schedule-item__twisty{display:inline-flex;align-items:center;justify-content:center;width:10px;height:12px;flex-shrink:0;margin-left:-3px;margin-right:-3px;padding:0;border:none;background:none;cursor:pointer;color:#ffffff80;transition:transform .12s ease,color .12s ease}.schedule-item__twisty:before{content:"";display:block;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4.5px solid currentColor}.schedule-item__twisty:hover{color:#ffffffe6}.schedule-item__twisty.is-collapsed{transform:rotate(-90deg)}.schedule-item__twisty--placeholder{cursor:default}.schedule-item__twisty--placeholder:before{display:none}.schedule-item__check{width:18px;height:18px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#ffffff0f;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:11px;color:transparent;padding:0;transition:background .15s,border-color .15s,color .15s}.schedule-item__check:hover{border-color:var(--c-primary)}.schedule-item__check--p0{border-color:#dc2626d9;background:#dc26262e}.schedule-item__check--p1{border-color:#eab308d9;background:#eab3082e}.schedule-item__check--p2{border-color:#14b8a6d9;background:#14b8a62e}.schedule-item--done .schedule-item__check{color:#fff}.schedule-item--done .schedule-item__check--p0{background:#dc2626;border-color:#dc2626}.schedule-item--done .schedule-item__check--p1{background:#eab308;border-color:#eab308;color:#1a1a1a}.schedule-item--done .schedule-item__check--p2{background:#14b8a6;border-color:#14b8a6}.schedule-item__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-item--done .schedule-item__title{color:#ffffff73;text-decoration:line-through}.schedule-item--overdue .schedule-item__title{color:#fca5a5}.schedule-item__date{font-size:11px;color:#ffffff8c;flex-shrink:0}.schedule-item--overdue .schedule-item__date{color:#fca5a5;font-weight:600}.schedule-item__location{flex:0 0 100%;box-sizing:border-box;display:flex;align-items:center;gap:4px;min-width:0;padding-left:26px;font-size:11px;color:#ffffff8c}.schedule-item--subtask .schedule-item__location{padding-left:0}.schedule-item__location-nav{width:16px;height:16px;padding:0;font-size:12px;color:inherit;border-radius:var(--radius-xs)}.schedule-item__location-nav:hover{color:#fff;background:#ffffff1f}.schedule-item__location-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.schedule-item--done .schedule-item__location{color:#fff6}.schedule-item__count-slot{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;flex-shrink:0;min-width:20px;height:20px}.schedule-item__add-child{position:absolute;right:0;top:50%;transform:translateY(-50%);width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:#ffffffb3;font-family:inherit;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none}.schedule-item:hover .schedule-item__count-slot .schedule-item__child-count{visibility:hidden}.schedule-item:hover .schedule-item__add-child,.schedule-item__add-child:focus-visible{opacity:1;pointer-events:auto}.schedule-item__add-child:hover{background:#ffffff26;color:#fff}.schedule-item__add-child:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}.schedule-item__rec{font-size:11px;flex-shrink:0;opacity:.8;line-height:1;display:inline-flex;align-items:center;color:currentColor}.schedule-item__kb{font-size:12px;flex-shrink:0;opacity:.7;line-height:1;display:inline-flex;align-items:center;color:currentColor}.schedule-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:14px 8px}.schedule-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap;flex-shrink:0}.schedule-header__left{display:flex;align-items:center;gap:10px}.schedule-header__right{display:flex;align-items:center;gap:4px}.schedule-header__title{font-size:18px;font-weight:600;color:var(--c-text);min-width:120px;font-family:inherit;text-align:left;padding:var(--space-1) var(--space-2);margin:0 calc(-1 * var(--space-2));background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer}.schedule-header__title:hover{background:var(--c-bg)}.schedule-header__title:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}.schedule-header__date-short{display:none}.schedule-header__title-wrap{position:relative}.month-pop{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:60;width:280px;max-width:calc(100vw - var(--space-6));padding:var(--space-4);background:#ffffffc7;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);box-shadow:0 12px 36px #0000002e,0 0 0 1px #0000000a;color:#1f2937}.month-pop__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.month-pop__year{font-size:var(--text-lg);font-weight:700;color:#1f2937}.month-pop__nav{display:flex;gap:var(--space-1)}.month-pop__nav button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:var(--text-md);border:none;border-radius:var(--radius-sm);background:transparent;color:#1f293799;cursor:pointer}.month-pop__nav button:hover{background:#0000000f;color:#1f2937}.month-pop__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.month-pop__cell{height:40px;font-family:inherit;font-size:var(--text-md);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:#1f2937b8;cursor:pointer;transition:background .12s,color .12s}.month-pop__cell:hover{background:#0000000f;color:#1f2937}.month-pop__cell--today{border-color:#05966973}.month-pop__cell--selected,.month-pop__cell--selected:hover{background:var(--color-brand-600);color:#fff;font-weight:700}.month-pop__nav button:focus-visible,.month-pop__cell:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}.schedule-header__nav{display:flex;align-items:center;gap:0;margin-left:var(--space-3)}.schedule-header__nav button{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--c-text)}.schedule-header__nav button svg{display:block}.schedule-header__nav button:hover{background:var(--c-bg)}.schedule-view-select{position:relative}.schedule-view-select__btn{height:32px;min-width:56px;padding:0 var(--space-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-family:inherit;font-size:var(--text-md);font-weight:600;line-height:1.3;color:var(--c-text);background:transparent;border:1px solid var(--c-border);border-radius:var(--radius-md);cursor:pointer;transition:background .12s,border-color .12s}.schedule-view-select__btn:hover{background:var(--c-bg)}.schedule-view-select__btn[aria-expanded=true]{border-color:var(--color-brand-600)}.schedule-view-select__menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:60;min-width:84px;margin:0;padding:var(--space-1);list-style:none;background:#ffffffc7;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);box-shadow:0 12px 36px #0000002e,0 0 0 1px #0000000a}.schedule-view-select__item{width:100%;height:32px;padding:0 var(--space-3);display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:var(--text-md);font-weight:500;line-height:1.3;color:#1f2937;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.schedule-view-select__item:hover{background:#0000000f}.schedule-view-select__item--active,.schedule-view-select__item--active:hover{background:var(--color-brand-600);color:#fff;font-weight:600}.schedule-view-select__btn:focus-visible,.schedule-view-select__item:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}@media(max-width:640px){.schedule-week:not(.schedule-week--three-day) .schedule-week__day-head{padding-inline:var(--space-1)}.schedule-week:not(.schedule-week--three-day) .schedule-week__day-head-meta{flex-wrap:wrap;justify-content:center;gap:0 var(--space-1);min-height:36px}.schedule-week:not(.schedule-week--three-day) .schedule-week__dow,.schedule-week:not(.schedule-week--three-day) .schedule-week__date{font-size:var(--text-xs)}.schedule-week:not(.schedule-week--three-day) .schedule-holiday-badge{width:var(--icon-xs);height:var(--icon-xs);font-size:var(--text-xs)}.schedule-week:not(.schedule-week--three-day) .schedule-holiday-name{flex:1 1 100%;text-align:center;font-size:var(--text-xs)}.schedule-week:not(.schedule-week--three-day) .schedule-week__task--timed{padding:var(--space-1) 2px;font-size:11px;line-height:1.2}.schedule-week:not(.schedule-week--three-day) .schedule-week__task--timed .schedule-week__task-titlebar{display:block}.schedule-week:not(.schedule-week--three-day) .schedule-week__task--timed .schedule-week__task-check{float:left;margin:1px 3px 0 0}.schedule-week:not(.schedule-week--three-day) .schedule-week__task--timed .schedule-week__task-title{display:block;min-width:0;overflow:visible;overflow-wrap:anywhere}.schedule-week:not(.schedule-week--three-day) .schedule-week__task--timed .schedule-week__task-time{display:block;min-width:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:clip}.schedule-week:not(.schedule-week--three-day) .schedule-week__task-time-full{display:none}.schedule-week__task-time-short{display:none}.schedule-week:not(.schedule-week--three-day) .schedule-week__task-time-short{display:inline}.schedule-week:not(.schedule-week--three-day) .schedule-week__task-location{display:none}.schedule-month__task .schedule-month__task-time,.schedule-month__task .schedule-month__task-rec{display:none}.schedule-month .schedule-month__task{padding:2px;font-size:11px}.schedule-week--three-day .schedule-week__task{font-size:11px}.schedule-month__task .schedule-month__task-title{text-overflow:clip}.schedule-month .schedule-month__cell{padding:3px}}.schedule-week{flex:1;display:flex;flex-direction:column;min-height:0;background:transparent;overflow:hidden;position:relative}.schedule-week__header{display:grid;grid-template-columns:36px repeat(7,1fr);flex-shrink:0;border-bottom:1px solid var(--c-border);background:transparent}.schedule-week__time-gutter--head{border-right:1px solid var(--c-border)}.schedule-week__day-head{display:flex;flex-direction:column;gap:2px;padding:6px 4px 4px;font-size:12px;color:var(--c-text-secondary);border-right:1px solid var(--c-border);min-width:0}.schedule-week__day-head:last-child{border-right:none}.schedule-week__day-head--today{background:#05966914}.schedule-week__day-head-meta{display:flex;align-items:center;gap:4px;min-width:0}.schedule-week__dow{font-size:11px;font-weight:600;flex-shrink:0}.schedule-week__date{font-size:16px;font-weight:600;color:var(--c-text);line-height:1.1;flex-shrink:0}.schedule-week__day-head--today .schedule-week__date{color:var(--c-primary)}.schedule-week__day-head-allday{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;min-height:22px}.schedule-holiday-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;font-weight:700;border-radius:3px;line-height:1;flex-shrink:0}.schedule-holiday-badge--off{background:var(--c-primary);color:#fff}.schedule-holiday-badge--work{background:#ea580c;color:#fff}.schedule-holiday-name{font-size:10px;color:var(--c-primary);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-month__holiday-name{font-size:10px;color:var(--c-primary);font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 4px;min-width:0}.schedule-month__cell-head{gap:2px}.schedule-week__grid-scroll{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:none;touch-action:pan-y}.schedule-week__grid-scroll::-webkit-scrollbar{width:0;height:0;display:none}.schedule-week__zoom-badge{position:absolute;top:10px;right:16px;padding:4px 10px;font-size:12px;line-height:1.4;color:#fff;background:#000000b8;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000040;pointer-events:none;z-index:20;animation:schedule-week__zoom-badge-fade 1.2s ease-out forwards}@keyframes schedule-week__zoom-badge-fade{0%{opacity:0;transform:translateY(-4px)}15%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.schedule-week__grid{display:grid;grid-template-columns:36px repeat(7,1fr);position:relative}.schedule-week--three-day .schedule-week__header,.schedule-week--three-day .schedule-week__grid{grid-template-columns:36px repeat(3,minmax(0,1fr))}.schedule-week__time-gutter{border-right:1px solid var(--c-border);position:relative}.schedule-week__time-label{position:relative;font-size:10px;color:var(--c-text-secondary);text-align:right;padding:0 4px 0 0;box-sizing:border-box;transform:translateY(-6px)}.schedule-week__time-label--end-hour{transform:none}.schedule-week__time-label--end-hour .schedule-week__time-label__text{position:absolute;right:6px;bottom:100%;line-height:1;padding-bottom:2px}.schedule-week__day-col{position:relative;border-right:1px solid var(--c-border);min-width:0}.schedule-week__day-col:last-child{border-right:none}.schedule-week__day-col--today{background:#0596690a}.schedule-week__hour-line{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--c-border);pointer-events:none}.schedule-week__hour-line--sleep{border-top-style:dashed;border-top-color:#6366f147}.schedule-week__time-label--sleep{color:#6366f1b3}.schedule-week__time-label--sleep-zone{cursor:pointer;transition:box-shadow .12s,color .12s,background .12s}.schedule-week__time-label--sleep-merged{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#6366f12e;cursor:pointer;transition:background .15s,border-color .15s;border-bottom:1px solid rgba(99,102,241,.55)}.schedule-week__time-label--sleep-merged:has(.schedule-week__sleep-grip:hover),.schedule-week__time-label--sleep-merged:has(.schedule-week__sleep-grip--resizing){border-bottom-color:var(--c-primary)}.schedule-week__time-label--sleep-merged:hover{background:#6366f147}.schedule-week__sleep-marker{position:absolute;left:0;right:0;height:0;border-top:1px solid rgba(99,102,241,.55);z-index:5;transition:border-color .15s,border-width .15s;pointer-events:none}.schedule-week__sleep-marker .schedule-week__sleep-grip{position:absolute;left:50%;top:0;transform:translate(-50%,-1px);pointer-events:auto}.schedule-week__sleep-marker:has(.schedule-week__sleep-grip:hover),.schedule-week__sleep-marker--resizing{border-top:2px solid var(--c-primary)}.schedule-week__sleep-grip{display:inline-flex;align-items:center;justify-content:center;width:24px;height:10px;font-size:10px;line-height:1;color:#6366f1f2;background:#6366f12e;cursor:ns-resize;-webkit-user-select:none;user-select:none;border:1px solid rgba(99,102,241,.55);border-top:none;border-radius:0 0 8px 8px;transition:background .15s,color .15s,border-color .15s;z-index:6}.schedule-week__sleep-grip:hover,.schedule-week__sleep-grip--resizing{background:#6366f152;color:var(--c-primary);border-color:var(--c-primary)}.schedule-week__sleep-grip--collapsed{position:absolute;left:50%;top:100%;transform:translate(-50%,-1px)}.schedule-week__time-label--sleep-zone{position:relative}.schedule-week__time-label--sleep-zone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translateY(6px);background:transparent;pointer-events:none;z-index:-1;transition:background .15s}.schedule-week__time-gutter:has(.schedule-week__time-label--sleep-zone:hover) .schedule-week__time-label--sleep-zone:before,.schedule-week__time-gutter:has(.schedule-week__sleep-grip:hover) .schedule-week__time-label--sleep-zone:before,.schedule-week__time-gutter:has(.schedule-week__sleep-grip--resizing) .schedule-week__time-label--sleep-zone:before{background:#6366f12e}.schedule-week__time-gutter:has(.schedule-week__time-label--sleep-zone:hover) .schedule-week__time-label--sleep-zone,.schedule-week__time-gutter:has(.schedule-week__sleep-grip:hover) .schedule-week__time-label--sleep-zone,.schedule-week__time-gutter:has(.schedule-week__sleep-grip--resizing) .schedule-week__time-label--sleep-zone{color:#6366f1}.schedule-week__now-line{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--c-danger);z-index:2;pointer-events:none}.schedule-week__now-line:before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;background:var(--c-danger);border-radius:50%}.schedule-week__now-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%);background:var(--c-danger);color:#fff;font-size:10px;font-weight:700;line-height:1;padding:2px 4px;border-radius:3px;white-space:nowrap;z-index:1}.schedule-week__now-line:has(.schedule-week__now-label):before{display:none}.schedule-week__task{color:#fff;font-size:11px;padding:3px 6px;border-radius:var(--radius-sm);cursor:pointer;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;line-height:1.3}.schedule-week__task:hover{filter:brightness(1.08)}.schedule-week__task--p0{background:#dc2626d9}.schedule-week__task--p1{background:#eab308d9;color:#1a1a1a}.schedule-week__task--p2{background:#14b8a6d9}.schedule-week__task--p1 .schedule-week__task-rec-icon{color:#1a1a1a}.schedule-week__task,.schedule-month__task{cursor:pointer}.schedule-week__task-resize{position:absolute;left:0;right:0;height:6px;cursor:ns-resize;z-index:2;background:transparent;transition:background .12s ease;touch-action:none}.schedule-week__task-resize--top{top:0;border-top-left-radius:4px;border-top-right-radius:4px}.schedule-week__task-resize--bottom{bottom:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.schedule-week__task-resize:hover{background:#ffffff38}.schedule-week__task--resizable:has(.schedule-week__task-resize:hover){filter:none}.schedule-week__task--resizing{outline:1px dashed var(--c-primary);outline-offset:-1px;-webkit-user-select:none;user-select:none;filter:none!important}.schedule-week__task--timed{position:absolute;left:2px;right:7px}.schedule-week__task--allday{width:100%;min-height:22px;justify-content:center;border-left-width:3px;flex-direction:row;align-items:center}.schedule-week__task--allday .schedule-week__task-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-week__task--done{background:#64748b8c;color:#fff;text-decoration:line-through;opacity:.45}.schedule-week__task--done .schedule-week__task-rec-icon{color:#fff}.schedule-week__task--done:hover{opacity:.75}.schedule-week__task--selected{box-shadow:0 0 0 2px var(--c-primary),0 2px 6px #00000026;z-index:3}.schedule-week__task-time-short{display:none}.schedule-week__task-time{font-size:10px;font-weight:600;opacity:.9;display:inline-flex;align-items:center;gap:3px}.schedule-week__task-location{--loc-color: rgba(255, 255, 255, .72);display:flex;align-items:center;gap:3px;align-self:flex-start;max-width:100%;box-sizing:border-box;min-width:0;padding:0;font-size:10px;font-weight:500;color:var(--loc-color)}.schedule-week__task--p1 .schedule-week__task-location{--loc-color: rgba(26, 26, 26, .62)}.schedule-week__task-location-nav{width:15px;height:15px;padding:0;font-size:11px;color:inherit;border-radius:var(--radius-xs)}.schedule-week__task-location-nav:hover,.schedule-week__task-location-nav:focus-visible{color:#fff;background:#ffffff42}.schedule-week__task--p1 .schedule-week__task-location-nav:hover,.schedule-week__task--p1 .schedule-week__task-location-nav:focus-visible{color:#1a1a1a;background:#ffffff8c}.schedule-week__task-location-nav:focus-visible{outline-color:currentColor}.schedule-week__task-location-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-week__task-rec-icon{display:inline-flex;align-items:center;color:#fff;font-size:12px}.schedule-week__task-title{font-weight:500;overflow:hidden;text-overflow:ellipsis}.schedule-week__task-titlebar{display:flex;align-items:flex-start;gap:2px 5px;min-width:0;flex-wrap:wrap;align-content:flex-start}.schedule-week__task-titlebar .schedule-week__task-check{margin-top:1px}.schedule-week__task-titlebar .schedule-week__task-title{flex:1 1 3em;min-width:0}.schedule-week__task--timed .schedule-week__task-titlebar{display:block}.schedule-week__task--timed .schedule-week__task-titlebar .schedule-week__task-check{float:left;margin:1px 4px 0 0}.schedule-week__task--timed .schedule-week__task-titlebar .schedule-week__task-title{display:block;overflow:visible;overflow-wrap:anywhere}.schedule-week__task-check,.schedule-month__task-check{flex-shrink:0;width:12px;height:12px;padding:0;border:1.5px solid rgba(255,255,255,.85);border-radius:50%;background:transparent;color:#059669;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,border-color .12s;line-height:0}.schedule-week__task-check:hover,.schedule-month__task-check:hover{background:#ffffff38;border-color:#fff}.schedule-week__task--done .schedule-week__task-check,.schedule-month__task--done .schedule-month__task-check{background:#fff;border-color:#fff;color:#64748b}.schedule-week__task--allday .schedule-week__task-titlebar{flex:1 1 auto}.schedule-month{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.schedule-month__dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;flex-shrink:0}.schedule-month__dow{text-align:center;font-size:12px;color:var(--c-text-secondary);font-weight:600;padding:6px 0}.schedule-month__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(90px,1fr);gap:4px;flex:1;min-height:0}.schedule-month__cell{background:var(--c-card);border-radius:var(--radius-sm);padding:6px;display:flex;flex-direction:column;gap:2px;border:1px solid transparent;overflow:hidden}.schedule-month__cell--other{opacity:.4;background:var(--c-bg)}.schedule-month__cell--today{border-color:var(--c-primary)}.schedule-month__cell-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.schedule-month__date{font-size:13px;font-weight:500;color:var(--c-text)}.schedule-month__cell--today .schedule-month__date{color:var(--c-primary);font-weight:600}.schedule-month__task{font-size:11px;padding:2px 6px;color:#fff;border-radius:var(--radius-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;display:flex;gap:4px;align-items:center}.schedule-month__task--p0{background:#dc2626d9}.schedule-month__task--p1{background:#eab308d9;color:#1a1a1a}.schedule-month__task--p2{background:#14b8a6d9}.schedule-month__task--p1 .schedule-month__task-rec{color:#1a1a1a}.schedule-month__task-preview{background:#059669d9;pointer-events:none;cursor:default}.schedule-month__task:hover{filter:brightness(1.08)}.schedule-month__task--done{background:#64748b8c;color:#fff;text-decoration:line-through;opacity:.5}.schedule-month__task--done .schedule-month__task-rec{color:#fff}.schedule-month__task--done:hover{opacity:.85}.schedule-month__task--selected{box-shadow:0 0 0 2px var(--c-primary),0 2px 6px #00000026}.schedule-month__task-time{font-size:10px;color:inherit;opacity:.85;font-weight:600;flex-shrink:0;margin-left:auto}.schedule-month__task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-month__task-rec{font-size:10px;margin-right:2px;opacity:.85;display:inline-flex;align-items:center;color:#fff}.schedule-month__task--done .schedule-month__task-time{color:inherit;opacity:.8}.schedule-month__more{font-family:Microsoft YaHei,微软雅黑,sans-serif;font-size:11px;color:var(--c-text-secondary);padding:2px 6px;background:none;border:none;border-radius:var(--radius-sm);text-align:left;align-self:flex-start;cursor:pointer}.schedule-month__more:hover{background:#0000000f;color:var(--text-primary)}.schedule-month__more:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}.schedule-month__more-pop{position:fixed;z-index:60;max-height:320px;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:var(--shadow-popover);padding:var(--space-3);gap:var(--space-2);outline:none}.schedule-month__more-pop-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.schedule-month__more-pop-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;border-radius:6px;color:var(--text-secondary);cursor:pointer}.schedule-month__more-pop-close:hover{background:#0000000f}.schedule-month__more-pop-close:focus-visible{outline:2px solid var(--color-brand-600)}.schedule-month__more-pop-list{display:flex;flex-direction:column;gap:var(--space-1);overflow-y:auto}.schedule-week__drop-target--over{background:#0596691f!important;box-shadow:inset 0 0 0 2px var(--c-primary)}.schedule-week__task--preview{z-index:4;pointer-events:none;filter:brightness(1.08)}.schedule-week__task--ghost{filter:brightness(1.08)}.schedule-month__cell--drop-over{background:#0596691f!important;border-color:var(--c-primary)!important;box-shadow:inset 0 0 0 1px var(--c-primary)}.quick-add-pop{position:fixed;z-index:60;width:320px;padding:12px 14px;background:#ffffffc7;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-md);box-shadow:0 12px 36px #0000002e,0 0 0 1px #0000000a;display:flex;flex-direction:column;gap:10px;color:#1f2937}.quick-add-pop__toolbar{display:flex;align-items:center;gap:8px}.quick-add-pop__date-section{display:flex;align-items:center;gap:6px;position:relative;flex:1;min-width:0}.quick-add-pop__date-btn{display:inline-flex;align-items:center;gap:6px;padding:4px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-primary);cursor:pointer;transition:background .12s;font-size:13px;font-weight:600}.quick-add-pop__date-btn:hover{background:#0000000f}.quick-add-pop__date-label{color:inherit}.quick-add-pop__prio-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background .12s,color .12s}.quick-add-pop__prio-btn:hover{background:#0000000f}.quick-add-pop__prio-btn--p0{color:#dc2626}.quick-add-pop__prio-btn--p1{color:#ca8a04}.quick-add-pop__prio-btn--p2{color:#0f766e}.quick-add-pop__input{width:100%;padding:8px;font-size:15px;font-weight:600;background:transparent;border:none;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:#1f2937;outline:none;box-sizing:border-box;display:block;resize:none;overflow-y:auto;max-height:160px;line-height:1.5;font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.quick-add-pop__input:focus{background:transparent;border:none;box-shadow:none;outline:none}.quick-add-pop__input::placeholder{color:#1f293759;font-weight:400}.quick-add-pop__loc{display:flex;align-items:center;gap:8px;padding:0 8px 0 0;color:#1f29378c}.quick-add-pop__loc-lead{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px}.quick-add-pop__loc-nav{width:26px;height:26px;padding:0;font-size:14px;color:#1f29378c;border-radius:var(--radius-sm)}.quick-add-pop__loc-nav:not(:disabled):hover,.quick-add-pop__loc-nav:not(:disabled):focus-visible{background:#0000000f}.quick-add-pop__loc-nav:disabled{color:#1f293738}.quick-add-pop__loc-input{flex:1;min-width:0;height:28px;padding:0;font-size:var(--text-sm);font-family:inherit;color:#1f2937;background:transparent;border:none;box-shadow:none;outline:none}.quick-add-pop__loc-input:focus,.quick-add-pop__loc-input:focus-visible{background:transparent;border:none;box-shadow:none;outline:none}.quick-add-pop__loc-input::placeholder{color:#1f293759}.schedule-loc-nav{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;border:none;background:transparent;color:inherit;font-family:inherit;line-height:1;cursor:pointer;transition:color .12s,background .12s}.schedule-loc-nav:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}.schedule-loc-nav:disabled,.schedule-loc-nav--idle{cursor:default}.quick-add-nav-pop{position:fixed;z-index:1100;width:max-content;min-width:120px;max-width:240px;padding:6px;display:flex;flex-direction:column;gap:2px;background:#ffffffc7;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-md);box-shadow:0 12px 36px #0000002e,0 0 0 1px #0000000a;color:#1f2937}.quick-add-nav-pop__item{display:flex;align-items:center;gap:7px;height:30px;padding:0 8px;border:none;border-radius:6px;background:transparent;color:#1f2937;font-family:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.quick-add-nav-pop__origin-icon{display:inline-flex;align-items:center;flex-shrink:0;font-size:12px;color:var(--color-brand-600)}.quick-add-nav-pop__origin-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.quick-add-nav-pop__item:hover{background:#0000000f}.quick-add-nav-pop__item:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.quick-add-nav-overlay{position:fixed;inset:var(--dock-inset, 0);z-index:1100;display:flex;align-items:center;justify-content:center;background:#00000040}.quick-add-nav-dialog{width:320px;max-width:calc(100vw - 24px);padding:16px;background:#fffffff2;border-radius:var(--radius-md);box-shadow:0 12px 36px #00000038,0 0 0 1px #0000000a;color:#1f2937}.quick-add-nav-dialog__title{margin:0 0 8px;font-size:var(--text-lg);font-weight:600}.quick-add-nav-dialog__body{margin:0 0 16px;font-size:var(--text-md);line-height:1.5;color:#1f2937bf}.quick-add-nav-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.quick-add-pop__delete{flex-shrink:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:#1f293773;line-height:1;cursor:pointer;transition:background .12s,color .12s}.quick-add-pop__delete:hover,.quick-add-pop__delete:focus-visible{background:#0000000f;color:#1f2937}.quick-add-pop__date-section .dtpop{top:calc(100% + 4px);left:0;right:auto}.schedule-week__task-preview{position:absolute;left:2px;right:7px;background:#059669d9;border-radius:var(--radius-sm);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:3px 6px;pointer-events:none;z-index:3}.schedule-week__task-preview-time{font-size:10px;font-weight:600;color:#fff}.schedule-week__task-preview-label{font-size:11px;font-weight:500;color:#fff;opacity:.8}.schedule-task-ctx-menu{position:fixed;z-index:1000;min-width:96px;padding:4px;background:#1f1f1f;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;gap:1px;font-size:13px;color:#e8e8e8;-webkit-user-select:none;user-select:none}.schedule-task-ctx-menu__item{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:7px 10px;width:100%;background:transparent;border:0;border-radius:5px;color:inherit;font-size:13px;line-height:1.2;text-align:left;cursor:pointer;white-space:nowrap}.schedule-task-ctx-menu__item>span{display:inline-flex;align-items:center;gap:8px}.schedule-task-ctx-menu__icon{flex-shrink:0}.schedule-task-ctx-menu__item:hover{background:#ffffff1a}.schedule-task-ctx-menu__item--danger{color:#f87171}.schedule-task-ctx-menu__item--danger:hover{background:#f8717126}.schedule-task-ctx-menu__item--sub{padding-left:8px}.schedule-task-ctx-menu__check{display:inline-block;width:12px;text-align:center;color:var(--c-primary, #059669);font-size:12px}.schedule-task-ctx-menu__sep{height:1px;margin:4px 2px;background:#ffffff1a}.schedule-panel__tabs{margin:0 -16px 8px;position:relative}.schedule-panel__collapse-all{width:26px;height:26px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fffc;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.schedule-panel__collapse-all:hover{background:#05966940;color:#fff;border-color:var(--c-primary, #059669)}.schedule-panel__new-list{padding:0 0 8px}.schedule-panel__add{width:28px;height:28px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fffc;font-size:18px;line-height:1;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.schedule-panel__add:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.schedule-panel__new-list-input{width:100%;padding:7px 10px;background:#0006;border:1px solid var(--c-primary, #059669);border-radius:6px;color:#fff;font-size:12px;outline:none}.schedule-panel__new-list-input::placeholder{color:#ffffff59}.schedule-panel__target{display:flex;align-items:center;gap:6px;padding:0 10px 8px;font-size:12px;color:#ffffff8c}.schedule-panel__target-label{-webkit-user-select:none;user-select:none}.schedule-panel__target-select{flex:1;min-width:0;padding:3px 6px;background:#0000004d;border:1px solid rgba(255,255,255,.18);border-radius:4px;color:#d8d8d8;font-size:12px;outline:none;cursor:pointer}.schedule-panel__target-select:focus{border-color:var(--c-primary, #059669)}.schedule-panel__target-select option{background:#1f1f1f;color:#e8e8e8}.schedule-list-group{list-style:none;margin:0 0 10px;padding:0}.schedule-list-group__title{display:flex;align-items:center;gap:6px;padding:6px 10px;margin-bottom:4px;color:#ffffffd9;font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px}.schedule-list-group__title:hover{background:#ffffff0d}.schedule-list-group--dragging{opacity:.4}.schedule-list-group--drop-before,.schedule-list-group--drop-after{position:relative}.schedule-list-group--drop-before:before,.schedule-list-group--drop-after:after{content:"";position:absolute;left:4px;right:4px;height:2px;background:var(--c-primary);border-radius:1px;pointer-events:none}.schedule-list-group--drop-before:before{top:-1px}.schedule-list-group--drop-after:after{bottom:-1px}.schedule-list-group__title[draggable=true]{cursor:grab}.schedule-list-group__title[draggable=true]:active{cursor:grabbing}.schedule-list-group__chevron{color:#ffffff8c}.schedule-list-group__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-list-group__count{color:#ffffff73;font-weight:400;flex-shrink:0}.schedule-list-group__rename{flex:1;min-width:0;padding:2px 6px;background:#0006;border:1px solid var(--c-primary, #059669);border-radius:4px;color:#fff;font-size:12px;outline:none}.schedule-subtask-add{padding:4px 8px 4px 54px}.schedule-subtask-add__input{width:100%;padding:4px 8px;background:#0006;border:1px solid var(--c-primary, #059669);border-radius:4px;color:#fff;font-size:13px;outline:none}.schedule-subtask-add__input::placeholder{color:#fff6;font-size:12px}.schedule-cat-task-add{padding-left:2px;padding-right:2px}.schedule-panel__list-empty{list-style:none;padding:24px 16px;color:#fff6;font-size:12px;text-align:center;line-height:1.6}.schedule-confirm-overlay{position:fixed;inset:var(--dock-inset, 0);z-index:1100;background:#00000073;display:flex;align-items:center;justify-content:center}.schedule-confirm{min-width:320px;max-width:420px;padding:20px 22px 18px;background:#1f1f1f;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 12px 32px #0000008c;color:#e8e8e8;font-size:13px}.schedule-confirm__title{margin:0 0 10px;font-size:15px;font-weight:600;color:#fff}.schedule-confirm__body{margin:0 0 16px;line-height:1.55;color:#cfcfcf}.schedule-confirm__actions{display:flex;flex-direction:row;gap:8px}.schedule-confirm__btn{flex:1 1 0;min-width:0;white-space:nowrap;padding:9px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e8e8e8;cursor:pointer;font-size:13px;text-align:center;transition:background .12s ease,border-color .12s ease}.schedule-confirm__btn:hover{background:#ffffff14;border-color:#ffffff38}.schedule-confirm__btn--danger{color:#f87171;border-color:#f8717166}.schedule-confirm__btn--danger:hover{background:#f8717126;border-color:#f8717199}.schedule-confirm__btn--danger-solid{background:#dc2626;border-color:#dc2626;color:#fff}.schedule-confirm__btn--danger-solid:hover{background:#b91c1c;border-color:#b91c1c}.schedule-confirm__btn--primary{background:var(--color-brand-600);border-color:var(--color-brand-600);color:#fff}.schedule-confirm__btn--primary:hover{background:var(--color-brand-700);border-color:var(--color-brand-700)}.schedule-ms-group{margin-bottom:16px}.schedule-ms-group>.schedule-list-group__title{position:sticky;top:0;z-index:2;padding:9px 10px 9px 8px;margin-bottom:6px;border-left:3px solid var(--c-primary, #059669);border-bottom:1px solid rgba(255,255,255,.1);border-radius:4px 4px 0 0;background:#0a0e0ceb;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;font-size:15px;font-weight:700;letter-spacing:.6px}.schedule-ms-group>.schedule-list-group__title:hover{background:#101814f2}.schedule-ms-group>.schedule-list-group__title .schedule-list-group__chevron{opacity:.8}.schedule-ms-catcounts{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.schedule-ms-catcount{display:inline-flex;align-items:center;color:var(--cat-color);font-size:11px;font-weight:700;line-height:1;letter-spacing:0}.schedule-cat-group{--cat-color: rgba(255, 255, 255, .5);display:flex;align-items:stretch;margin:0 0 4px;border-radius:4px;background:color-mix(in srgb,var(--cat-color) 10%,transparent)}@supports not (background: color-mix(in srgb,red 10%,transparent)){.schedule-cat-group{background:#ffffff0a}}.schedule-cat-tone{--cat-color: rgba(255, 255, 255, .5)}.schedule-cat-tone--study{--cat-color: #60A5FA}.schedule-cat-tone--health{--cat-color: #34D399}.schedule-cat-tone--work{--cat-color: #FB923C}.schedule-cat-tone--finance{--cat-color: #FACC15}.schedule-cat-tone--experience{--cat-color: #C084FC}.schedule-cat-tone--social{--cat-color: #F472B6}.schedule-cat-tone--__uncat__{--cat-color: rgba(255, 255, 255, .35)}.schedule-cat-group--empty{background:color-mix(in srgb,var(--cat-color) 5%,transparent)}.schedule-cat-group--empty .schedule-cat-group__side{padding:2px 0}.schedule-cat-group--empty .schedule-cat-group__vname{font-size:10px;letter-spacing:.5px}.schedule-cat-group--empty .schedule-cat-group__body{min-height:14px;padding-top:0;padding-bottom:0}.schedule-cat-group__side{position:relative;flex:0 0 16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:5px 0;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px 0 0 4px;transition:background .15s}.schedule-cat-group__side:hover{background:#ffffff12}.schedule-cat-group__vname{writing-mode:vertical-rl;letter-spacing:1.5px;color:var(--cat-color);font-size:11px;font-weight:700;line-height:1}.schedule-cat-group--empty .schedule-cat-group__body{position:relative}.schedule-cat-group__add{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;width:100%;padding:0;border:0;border-radius:0 4px 4px 0;background:transparent;color:var(--cat-color);font-family:inherit;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}.schedule-cat-group__add:hover,.schedule-cat-group__add:focus-visible{opacity:1;background:#ffffff12}.schedule-cat-group__add:focus-visible{outline:2px solid var(--cat-color);outline-offset:-2px}.schedule-cat-group__add:active{background:#ffffff1f}@media(hover:none){.schedule-cat-group__add{opacity:.5}}@media(prefers-reduced-motion:reduce){.schedule-cat-group__add{transition:none}}.schedule-cat-group__body{flex:1;min-width:0;min-height:24px;padding:3px 4px 3px 6px;border-left:3px solid var(--cat-color)}.schedule-panel__target-select--cat{flex:0 0 96px}.schedule-week__task--shared,.schedule-month__task--shared{background:repeating-linear-gradient(135deg,#2563ebe0 0,#2563ebe0 6px,#2563ebb8 6px,#2563ebb8 12px);color:#fff;cursor:default;user-select:none;-webkit-user-select:none}.schedule-week__task--shared,.schedule-month__task--shared{cursor:default}.schedule-week__task-share-mark,.schedule-month__task-share-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;line-height:0;color:#fff;pointer-events:none}.schedule-week__task--timed .schedule-week__task-titlebar .schedule-week__task-share-mark{float:left;margin:1px 4px 0 0}.schedule-month__task:has(>.schedule-task-share-corner),.schedule-week__task:not(.schedule-week__task--timed):has(>.schedule-task-share-corner){position:relative}.schedule-task-share-corner{position:absolute;top:0;right:0;width:16px;height:16px;background:linear-gradient(225deg,var(--color-info-300) 50%,transparent 50%);pointer-events:auto;z-index:2}.schedule-task-share-corner--done{background:linear-gradient(225deg,var(--color-info-500) 50%,transparent 50%)}.quick-add-pop__shared{display:flex;align-items:center;gap:var(--space-2);min-height:28px;padding:0 var(--space-2);border:none;border-radius:var(--radius-sm);background:#2563eb14;color:var(--color-info-500, #2563eb);font-family:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.quick-add-pop__shared:hover:not(:disabled){background:#2563eb24}.quick-add-pop__shared:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:1px}.quick-add-pop__shared:disabled{cursor:default}.quick-add-pop__shared svg{flex-shrink:0}.quick-add-pop__shared-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-task-ctx-menu__hint{padding:6px 10px 4px;font-size:12px;color:#fff9;white-space:nowrap}.schedule-share{display:flex;flex-direction:column;gap:var(--space-3)}.schedule-share__task{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-share__hint{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.schedule-share__empty{margin:0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-sm)}.schedule-share__error{margin:0;font-size:var(--text-sm);color:var(--color-danger-600)}.schedule-share__title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:600;color:var(--text-primary)}.schedule-share__count{min-width:20px;height:20px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;line-height:20px;text-align:center}.schedule-share__list{margin:0;padding:0;list-style:none;max-height:320px;overflow-y:auto}.schedule-share__row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-lg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);cursor:pointer}li.schedule-share__row{cursor:default}.schedule-share__row:hover{background:var(--surface-subtle)}.schedule-share__row input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer}.schedule-share__row:has(input:focus-visible){outline:2px solid var(--color-brand-600);outline-offset:-2px}.schedule-share__names{flex:1;min-width:0;display:flex;flex-direction:column}.schedule-share__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);color:var(--text-primary)}.schedule-share__names .schedule-share__name{flex:none}.schedule-share__sub{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.schedule-share__status{flex-shrink:0;height:20px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;line-height:20px;background:var(--surface-muted);color:var(--text-secondary)}.schedule-share__status--accepted{background:var(--color-brand-100);color:var(--color-brand-700)}.schedule-share__status--rejected{background:var(--color-danger-50);color:var(--color-danger-600)}.recipes-page{display:flex;height:100%;min-height:0;overflow:hidden}.recipes-panel{display:flex;flex-direction:column;flex:none;width:240px;min-height:0;overflow:hidden}.recipes-divider{flex:0 0 5px;cursor:ew-resize}.recipes-panel__tools{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-2)}.recipes-panel .panel-search{flex:1 1 auto;min-width:0;border-color:#ffffff29;background:#00000038;color:var(--text-inverse)}.recipes-panel .panel-search::placeholder{color:#ffffff80}.recipes-filter-btn{position:relative;display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-md);padding:0 var(--space-2);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);background:#00000038;color:#ffffffb8;font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.recipes-filter-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff4d}.recipes-filter-btn--on{color:#fff;border-color:#34d3996b;background:#0596694d}.recipes-filter-btn__badge{min-width:var(--icon-md);height:var(--icon-md);padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-brand-600);color:#fff;font-size:10px;line-height:var(--icon-md);text-align:center}.recipes-panel__clear{margin:0 var(--space-4) var(--space-2);padding:var(--space-1) 0;border:0;background:none;color:#ffffffa8;font-size:var(--text-xs);font-weight:600;text-align:left;text-decoration:underline;cursor:pointer}.recipes-panel__clear:hover{color:#fff}.recipes-cats{flex:1 1 auto;min-height:0;padding:0 var(--space-2) var(--space-4);overflow-y:auto}.recipes-cats__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:var(--control-md);padding:0 10px;border:0;border-radius:var(--radius-md);background:none;color:#ffffffb8;font-size:var(--text-md);font-weight:600;text-align:left;cursor:pointer;transition:background-color .16s ease,color .16s ease}.recipes-cats__item:hover{color:#fff;background:var(--surface-sidebar-hover)}.recipes-cats__item--active,.recipes-cats__item--active:hover{color:var(--text-inverse);background:var(--surface-sidebar-active)}.recipes-cats__count{flex:0 0 auto;min-width:var(--icon-lg);padding:0 var(--space-1);border-radius:var(--radius-pill);background:#ffffff1f;font-size:var(--text-xs);font-weight:600;text-align:center}.recipes-cats__empty{margin:var(--space-3) 10px;color:#ffffff80;font-size:var(--text-sm)}.recipes-main{position:relative;flex:1 1 auto;min-width:0;min-height:0;padding:var(--space-6) var(--space-8);overflow-y:auto;color:var(--text-primary)}.recipes-section+.recipes-section{margin-top:var(--space-8)}.recipes-section__title{margin:0 0 var(--space-3);color:var(--text-primary);font-size:var(--text-lg);font-weight:600}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3)}.recipe-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card);transition:border-color .16s ease,box-shadow .16s ease}.recipe-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.recipe-card__open{display:flex;flex:1 1 auto;align-items:center;gap:var(--space-3);min-width:0;padding:0;border:0;border-radius:var(--radius-md);background:none;text-align:left;cursor:pointer}.recipe-card__img{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-md);object-fit:cover;background:var(--surface-muted);font-size:var(--text-2xl)}.recipe-card__info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.recipe-card__name{color:var(--text-primary);font-size:var(--text-md);font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recipe-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.recipe-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.recipe-card__counter{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-1)}.recipe-counter-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-md);font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.recipe-counter-btn:hover{border-color:var(--border-strong);background:var(--surface-subtle);color:var(--text-primary)}.recipe-counter-btn--add{border-color:var(--color-brand-600);background:var(--color-brand-600);color:#fff}.recipe-counter-btn--add:hover{border-color:var(--color-brand-700);background:var(--color-brand-700);color:#fff}.recipe-counter-num{min-width:var(--space-5);color:var(--text-primary);font-size:var(--text-md);font-weight:700;text-align:center}.recipes-cart-bar{position:sticky;bottom:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-3);margin:var(--space-6) calc(-1 * var(--space-8)) calc(-1 * var(--space-6));padding:var(--space-3) var(--space-8);border-top:1px solid var(--border-subtle);background:var(--surface-raised);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-popover)}.recipes-cart-bar__icon{font-size:var(--text-lg)}.recipes-cart-bar__text{flex:1 1 auto;min-width:0;color:var(--text-secondary);font-size:var(--text-sm)}.recipe-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-chip{min-height:var(--control-sm);padding:var(--space-1) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.recipe-chip:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.recipe-chip--on{border-color:var(--color-brand-600);background:var(--color-brand-600);color:#fff}.recipe-chip--on:hover{border-color:var(--color-brand-700);background:var(--color-brand-700)}.recipe-chip--taste:not(.recipe-chip--on){border-color:#fde68a;background:#fffbeb;color:#92400e}.recipe-chip--ingr:not(.recipe-chip--on){border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.recipe-chip--static{cursor:default}.recipe-chip--static:hover{border-color:var(--border-subtle);background:var(--surface-card)}.recipe-chip--static.recipe-chip--taste:hover{border-color:#fde68a;background:#fffbeb}.recipe-chip--time{color:var(--text-muted)}.recipe-chip--xs{min-height:20px;padding:0 var(--space-2);font-size:var(--text-xs)}.recipe-chips--static{gap:var(--space-1)}.recipe-cat-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);padding-left:var(--space-2);border-left:3px solid var(--border-strong);color:var(--text-primary);font-size:var(--text-md);font-weight:600}.recipe-cat-title--main{border-left-color:var(--color-danger-500)}.recipe-cat-title--sub{border-left-color:var(--color-success-500)}.recipe-cat-title--sauce{border-left-color:var(--color-warning-500)}.recipe-ingr-group+.recipe-ingr-group{margin-top:var(--space-4)}.recipe-editor__body{display:flex;flex-direction:column;gap:var(--space-6)}.recipe-editor__section{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-editor__section+.recipe-editor__section{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.recipe-editor__section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.recipe-editor__section-title{margin:0;color:var(--text-primary);font-size:var(--text-lg);font-weight:600}.recipe-editor__empty{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.recipe-textarea{min-height:72px;padding:var(--space-2) 10px;resize:vertical;font-family:var(--font-sans)}.recipe-ingr-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.recipe-ingr-row__name{flex:1 1 auto;min-width:88px}.recipe-ingr-row__prep{flex:0 0 108px}.recipe-ingr-row__amount,.recipe-ingr-row__unit{flex:0 0 72px}.recipe-ingr-row__est{flex:0 0 64px;color:var(--text-muted);font-size:var(--text-xs);text-align:right}.recipe-slider{width:100%;accent-color:var(--color-brand-600)}.recipe-slider__value{color:var(--color-brand-700);font-weight:700}.recipe-slider__marks{display:flex;justify-content:space-between;color:var(--text-muted);font-size:var(--text-xs)}.recipe-slot{display:flex;align-items:flex-start;gap:var(--space-3)}.recipe-slot__btn{display:flex;align-items:center;justify-content:center;width:160px;height:108px;padding:0;overflow:hidden;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.recipe-slot__btn:hover{border-color:var(--color-brand-600);background:var(--color-brand-50)}.recipe-slot--active .recipe-slot__btn{border-style:solid;border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring)}.recipe-slot__img{width:100%;height:100%;object-fit:cover}.recipe-slot__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);color:var(--text-muted);text-align:center}.recipe-slot__plus{font-size:var(--text-2xl);font-weight:700;line-height:1}.recipe-slot__hint{font-size:var(--text-xs);line-height:1.4}.recipe-slot__flag{margin-left:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-brand-100);color:var(--color-brand-700);font-size:var(--text-xs);font-weight:600}.recipe-step-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-subtle)}.recipe-step-card+.recipe-step-card{margin-top:var(--space-3)}.recipe-step-card__head{display:flex;align-items:center;gap:var(--space-2)}.recipe-step-card__num{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-xl);height:var(--icon-xl);border-radius:var(--radius-pill);background:var(--color-brand-600);color:#fff;font-size:var(--text-xs);font-weight:700}.recipe-step-card__del{margin-left:auto}.recipe-step-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-3)}.recipe-inline-field{display:flex;flex-direction:column;gap:var(--space-1);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.recipe-inline-field--narrow{max-width:128px}.recipe-suffix-input{display:flex;align-items:center;gap:var(--space-1)}.recipe-suffix-input input{width:72px}.recipe-suffix-input em{color:var(--text-muted);font-style:normal}.recipe-picker__body{display:flex;gap:var(--space-4);min-height:0}.recipe-picker__nav{display:flex;flex-direction:column;gap:var(--space-1);flex:0 0 120px}.recipe-picker__nav-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);min-height:var(--control-md);padding:0 10px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.recipe-picker__nav-item:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.recipe-picker__nav-item--active,.recipe-picker__nav-item--active:hover{border-color:var(--color-brand-600);background:var(--color-brand-50);color:var(--color-brand-700)}.recipe-picker__nav-count{min-width:var(--icon-md);padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-brand-600);color:#fff;font-size:10px;line-height:var(--icon-md);text-align:center}.recipe-picker__content{flex:1 1 auto;min-width:0;max-height:58vh;overflow-y:auto}.recipe-picker__group+.recipe-picker__group{margin-top:var(--space-4)}.recipe-picker__group-title{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:600}.recipe-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:var(--space-2)}.recipe-cell{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);transition:border-color .16s ease,background-color .16s ease}.recipe-cell--added{border-color:var(--color-brand-600);background:var(--color-brand-50)}.recipe-cell__toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);min-height:var(--control-sm);padding:0;border:0;background:none;color:var(--text-primary);font-size:var(--text-sm);font-weight:600;text-align:left;cursor:pointer}.recipe-cell__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recipe-cell__check{color:var(--color-brand-600);font-weight:700}.recipe-cell__amount{display:flex;align-items:center;gap:var(--space-1)}.recipe-cell__input{width:100%;min-width:0;min-height:var(--control-sm);padding:2px var(--space-2);font-size:var(--text-xs)}.recipe-cell__unit{flex:0 0 auto;color:var(--text-muted);font-size:var(--text-xs)}.recipe-cell__est{color:var(--color-brand-700);font-size:var(--text-xs)}.recipe-cell--custom{border-style:dashed}.recipe-summary__dish,.recipe-summary__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-md);padding:var(--space-1) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-md)}.recipe-summary__dish:last-child,.recipe-summary__row:last-child{border-bottom:0}.recipe-summary__name{display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--text-primary)}.recipe-summary__prep{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.recipe-summary__amount,.recipe-summary__count{flex:0 0 auto;color:var(--text-secondary);font-weight:600}.recipe-detail{display:flex;flex-direction:column;gap:var(--space-5);max-width:860px}.recipe-detail__bar{display:flex;align-items:center;gap:var(--space-2)}.recipe-detail__bar-actions{display:flex;gap:var(--space-2);margin-left:auto}.recipe-detail__head{display:flex;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card)}.recipe-detail__cover{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:160px;height:120px;border-radius:var(--radius-md);object-fit:cover;background:var(--surface-muted)}.recipe-detail__cover--empty{font-size:var(--text-3xl)}.recipe-detail__meta{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.recipe-detail__name{margin:0;color:var(--text-primary);font-size:var(--text-2xl);font-weight:700}.recipe-detail__rating{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.recipe-detail__rating strong{color:var(--color-warning-500);font-size:var(--text-lg)}.recipe-detail__rating--none{color:var(--text-muted)}.recipe-detail__section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card)}.recipe-detail__section-title{margin:0;color:var(--text-primary);font-size:var(--text-lg);font-weight:600}.recipe-step-view{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle)}.recipe-step-view:last-child{padding-bottom:0;border-bottom:0}.recipe-step-view__head{display:flex;align-items:center;gap:var(--space-2)}.recipe-step-view__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-step-view__img{max-width:320px;border-radius:var(--radius-md)}.recipe-step-view__desc{margin:0;color:var(--text-primary);font-size:var(--text-md);line-height:1.6;white-space:pre-wrap}.recipe-tag{padding:2px var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.recipe-tag--fire{border-color:#fecaca;background:var(--color-danger-50);color:var(--color-danger-600)}.recipe-tag--temp{border-color:#fed7aa;background:#fff7ed;color:#9a4b0b}.recipe-stars{display:inline-flex;align-items:center;gap:2px;color:var(--border-strong);font-size:var(--text-lg)}.recipe-star--full{color:var(--color-warning-500)}.recipe-star--half{color:var(--color-warning-500);opacity:.5}.recipe-review{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle)}.recipe-review:last-child{padding-bottom:0;border-bottom:0}.recipe-review__head{display:flex;align-items:center;gap:var(--space-3)}.recipe-review__score{margin-left:var(--space-1);color:var(--text-secondary);font-size:var(--text-sm);font-style:normal;font-weight:700}.recipe-review__date{margin-left:auto;color:var(--text-muted);font-size:var(--text-xs)}.recipe-review__text,.recipe-review__improve{margin:0;color:var(--text-primary);font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap}.recipe-review__improve{padding:var(--space-2) 10px;border-radius:var(--radius-md);background:var(--color-brand-50);color:var(--color-brand-700)}.recipe-review__improve-label{margin-right:var(--space-2);font-weight:700}@media(max-width:1024px){.recipes-main{padding:var(--space-5) var(--space-5)}.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.recipes-cart-bar{margin-inline:calc(-1 * var(--space-5));padding-inline:var(--space-5)}}@media(max-width:640px){.recipes-grid{grid-template-columns:1fr}.recipes-cart-bar{flex-wrap:wrap;margin-inline:-12px;margin-bottom:-20px;padding-inline:12px}.recipes-cart-bar__text{flex:1 1 100%}.recipe-detail__head{flex-direction:column}.recipe-detail__cover{width:100%;height:180px}.recipe-picker__body{flex-direction:column}.recipe-picker__nav{flex:0 0 auto;flex-direction:row}.recipe-picker__nav-item{flex:1 1 0;min-height:var(--touch-target)}.recipe-ingr-row{flex-wrap:wrap}.recipe-ingr-row__name{flex:1 1 100%}.recipe-slot{flex-direction:column}.recipe-slot__btn{width:100%}.recipe-cell__input,.recipes-panel .panel-search{font-size:16px}}.recipes-add-icon{width:28px;height:28px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fffc;font-size:18px;line-height:1;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.recipes-add-icon:hover{background:#05966940;color:#fff;border-color:var(--c-primary)}.stats-page{display:flex;height:100%;overflow:hidden}.stats-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--control-md);padding:6px var(--space-3);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;line-height:20px;white-space:nowrap;cursor:pointer;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.stats-page .btn:not(:disabled):hover{background:var(--surface-subtle);border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.stats-page .btn:not(:disabled):active{transform:translateY(1px)}.stats-page .btn--primary{color:#fff;background:var(--color-brand-600);border-color:var(--color-brand-600)}.stats-page .btn--primary:not(:disabled):hover{background:var(--color-brand-700);border-color:var(--color-brand-700)}.stats-page .btn--sm{min-height:var(--control-sm);padding:3px var(--space-2);font-size:var(--text-xs)}.stats-page .btn--icon{width:var(--control-md);padding:0}.stats-page .btn:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.stats-page .btn:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}.stats-panel{display:flex;flex-direction:column;flex-shrink:0;width:280px;color:var(--text-inverse);background:linear-gradient(var(--surface-sidebar),var(--surface-sidebar)),url(/leaves-bg.png) left center / cover no-repeat fixed;border-right:1px solid rgba(255,255,255,.08)}.stats-divider{flex:0 0 5px;cursor:ew-resize}.stats-panel__list{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);overflow-y:auto}.stats-period{display:flex;flex-direction:column;gap:2px;width:100%;min-height:48px;padding:var(--space-2) var(--space-3);color:var(--text-inverse);text-align:left;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);transition:background-color .16s ease,border-color .16s ease}.stats-period:hover{background:var(--surface-sidebar-hover)}.stats-period--active,.stats-period--active:hover{background:var(--surface-sidebar-active);border-color:#10b98180}.stats-period:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:1px}.stats-period__row{display:flex;align-items:center;gap:var(--space-2)}.stats-period__title{flex:1;min-width:0;font-size:var(--text-md);font-weight:600}.stats-period__sub{color:var(--text-inverse-secondary);font-size:var(--text-xs)}.stats-period__snippet{overflow:hidden;color:var(--text-inverse-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.stats-badge{flex-shrink:0;display:inline-flex;align-items:center;height:20px;padding:0 var(--space-2);font-size:var(--text-xs);font-weight:600;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-pill)}.stats-badge--done{color:#fff;background:var(--color-brand-600)}.stats-badge--draft{color:#fde68a;border-color:#fde68a99}.stats-badge--progress{color:var(--text-inverse);border-style:dashed;border-color:#ffffff80}.stats-badge--none{color:var(--text-inverse-secondary);border-color:#fff3}.stats-main{flex:1;min-width:0;min-height:0;overflow-y:auto;background:transparent}.stats-main__inner{display:flex;flex-direction:column;gap:var(--space-4);box-sizing:border-box;min-height:100%;padding:var(--space-5) var(--space-6) var(--space-6)}.stats-weeknav{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3)}.stats-weeknav__title{margin:0;color:var(--text-primary);font-size:var(--text-2xl);font-weight:700}.stats-weeknav__range{color:var(--text-secondary);font-size:var(--text-sm)}.stats-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.stats-card{display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.stats-card__title{margin:0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.stats-card__value{margin:0;color:var(--text-primary);font-size:var(--text-2xl);font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}.stats-card__value--empty{color:var(--text-disabled)}.stats-card__sub{margin:0;color:var(--text-muted);font-size:var(--text-xs)}.stats-card__legend{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-xs)}.stats-card__chart{height:calc(160px + var(--space-12));margin-top:var(--space-2)}.stats-card__plot{height:100%}.stats-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:relative}.review-stamp-anchor{position:relative;display:inline-flex}.review-stamp{position:absolute;top:50%;left:50%;z-index:var(--z-sticky);width:150px;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%) rotate(-8deg)}.review-stamp--animate{animation:review-stamp-slam .45s cubic-bezier(.2,.9,.3,1.2) both}@keyframes review-stamp-slam{0%{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(2.6)}55%{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1)}}.stats-section__head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.stats-section__title{margin:0;color:var(--text-primary);font-size:var(--text-lg);font-weight:600}.stats-section__meta{color:var(--text-muted);font-size:var(--text-xs)}.stats-section__actions{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.stats-section__foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.stats-page .stats-section__foot .stats-ai-btn{color:#5b3d84;background:#f3edfa;border-color:#d9c9ed}.stats-page .stats-section__foot .stats-ai-btn:not(:disabled):hover{color:#492d72;background:#e9ddf5;border-color:#bea6de}.stats-save{min-width:48px;color:var(--text-muted);font-size:var(--text-xs);text-align:right}.stats-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.stats-q{display:flex;flex-direction:column;gap:var(--space-1)}.stats-q__title{color:var(--text-primary);font-size:var(--text-md);font-weight:600}.stats-prev-goal{display:inline-flex;align-items:center;gap:var(--space-1);max-width:100%;font-weight:400}.stats-prev-goal__label{flex-shrink:0;color:var(--text-primary);font-size:var(--text-md);font-weight:600}.stats-prev-goal__text{min-width:0;overflow:hidden;color:var(--color-brand-600);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.stats-prev-goal__actions{display:inline-flex;flex-shrink:0;gap:var(--space-1);margin-left:var(--space-1)}.stats-page .btn.stats-prev-goal__btn--success{color:var(--color-success-500);background:#16a34a1f;border-color:#16a34a4d;padding:0;width:28px;min-height:28px}.stats-page .btn.stats-prev-goal__btn--success:hover:not(:disabled),.stats-page .btn.stats-prev-goal__btn--success[aria-pressed=true]{background:var(--color-success-500);border-color:var(--color-success-500);color:#fff;box-shadow:none}.stats-page .btn.stats-prev-goal__btn--fail{color:var(--color-danger-600);background:var(--color-danger-50);border-color:#dc26264d;padding:0;width:28px;min-height:28px}.stats-page .btn.stats-prev-goal__btn--fail:hover:not(:disabled),.stats-page .btn.stats-prev-goal__btn--fail[aria-pressed=true]{background:var(--color-danger-500);border-color:var(--color-danger-500);color:#fff;box-shadow:none}.stats-input{width:100%;min-height:40px;margin-top:2px;padding:var(--space-2) 10px;color:var(--text-primary);font-size:var(--text-md);line-height:1.5;resize:vertical;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease}.stats-input:focus{border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.stats-muted{color:var(--text-muted);font-size:var(--text-xs)}.stats-ai-modal .ui-modal__body{display:flex;flex-direction:column;gap:var(--space-3)}.stats-ai-modal .ui-modal__body>p{margin:0}.stats-notice{display:flex;align-items:center;gap:var(--space-3);margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid;border-radius:var(--radius-md)}.stats-notice>span{flex:1}.stats-notice--warning{color:#92400e;background:#fffbeb;border-color:#fcd34d}.stats-notice--error{color:var(--color-danger-600);background:var(--color-danger-50);border-color:#fecaca}.stats-chat{display:flex;flex-direction:column;gap:var(--space-3)}.stats-bubble{max-width:85%;padding:var(--space-3) var(--space-4);font-size:var(--text-md);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:var(--radius-lg)}.stats-bubble--assistant{align-self:flex-start;color:var(--text-primary);background:var(--surface-subtle);border:1px solid var(--border-subtle)}.stats-bubble--user{align-self:flex-end;color:var(--text-primary);background:var(--color-brand-50);border:1px solid var(--color-brand-100)}.review-answer{display:flex;flex-direction:column;gap:var(--space-3);white-space:normal}.review-answer__lead{margin:0}.review-answer__section{display:flex;flex-direction:column;gap:var(--space-1)}.review-answer__title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-sm);font-weight:600;line-height:1.4}.review-answer__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--surface-card);border:1px solid var(--border-subtle)}.review-answer__section--highlight .review-answer__title{color:var(--color-success-500)}.review-answer__section--finding .review-answer__title{color:var(--color-info-500)}.review-answer__section--action .review-answer__title{color:var(--color-brand-700)}.review-answer__list{margin:0;padding-left:calc(24px + var(--space-2));list-style:none;color:var(--text-primary)}.review-answer__list li{position:relative}.review-answer__list li+li{margin-top:var(--space-1)}.review-answer__list li:before{content:"";position:absolute;left:calc(-1 * var(--space-3));top:.7em;width:4px;height:4px;border-radius:50%;background:var(--text-muted)}.stats-ask{display:flex;align-items:flex-end;gap:var(--space-2)}.stats-ask .stats-input{flex:1;min-height:56px;margin-top:0}@media(max-width:1024px){.stats-charts{grid-template-columns:minmax(0,1fr);flex:none}.stats-card__chart{flex:none;height:calc(140px + var(--space-12))}.stats-questions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.stats-main__inner{gap:var(--space-4);padding:calc(var(--space-12) + var(--space-2)) var(--space-3) var(--space-8)}.stats-weeknav{gap:var(--space-2)}.stats-weeknav__range{display:none}.stats-charts{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.stats-card{padding:var(--space-4)}.stats-card__value{font-size:var(--text-2xl)}.stats-section{padding:var(--space-4)}.stats-input{font-size:var(--text-lg)}.stats-questions{grid-template-columns:minmax(0,1fr)}.stats-bubble{max-width:100%}.stats-ask{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){.stats-input,.stats-page .btn{transition:none}.review-stamp{animation:none}}.stats-tip{background:var(--surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:var(--shadow-popover);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);line-height:1.5;max-width:220px}.stats-tip p{margin:0}.stats-tip__title{font-weight:600;color:var(--text-primary)}.stats-tip__list{margin-top:var(--space-1)}.stats-tip__list ul{margin:0;padding-left:var(--space-4);color:#c87f7f;font-size:var(--text-xs);font-weight:400}.stats-tip__list li{overflow-wrap:anywhere}.app-shell{display:flex;height:100vh;overflow:hidden;box-sizing:border-box;padding:var(--dock-t, 0) var(--dock-r, 0) var(--dock-b, 0) var(--dock-l, 0)}.app-content{flex:1;overflow:hidden;display:flex;background:linear-gradient(#ffffffe8,#ffffffe8),url(/leaves-bg.png) left center / cover no-repeat fixed}.app-content>*{flex:1}.no-feature-page{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-8)}.no-feature-page .empty-state{max-width:420px;display:flex;flex-direction:column;justify-content:center;gap:var(--space-2)}.no-feature-page .empty-state__title,.no-feature-page .empty-state__hint{margin:0}:root{--c-primary: #059669;--c-primary-light: #D1FAE5;--c-primary-dark: #065F46;--c-bg: #F0F5F0;--c-card: #FFFFFF;--c-rail: #0A0A0A;--c-rail-icon: #A7D7C5;--c-rail-active: #059669;--c-text: #1A2E23;--c-text-secondary: #5F7A6A;--c-border: #D4E4DA;--c-success: #10B981;--c-warning: #F59E0B;--c-danger: #EF4444;--c-info: #3B82F6;--font-title: "Microsoft YaHei", "微软雅黑", sans-serif;--font-body: "Microsoft YaHei", "微软雅黑", sans-serif;--rail-w: 48px;--panel-w: 260px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-body);font-size:14px;color:var(--c-text);background:var(--c-bg)}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}.toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:10px 20px;border-radius:var(--radius-md);background:var(--c-card);box-shadow:var(--shadow-md);font-size:13px;pointer-events:auto;animation:toastIn .25s ease-out}.toast--success{border-left:3px solid var(--c-success)}.toast--error{border-left:3px solid var(--c-danger)}.toast--warning{border-left:3px solid var(--c-warning)}.toast--info{border-left:3px solid var(--c-info)}.toast--leaving{animation:toastOut .3s ease-in forwards;pointer-events:none}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){.toast,.toast--leaving{animation-duration:.01s}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--c-text-secondary)}.library-page__panel,.tasks-page__panel{background:linear-gradient(#0000004d,#0000004d),url(/leaves-bg.png) left center / cover no-repeat fixed;border-right:none;color:#e8f0ea}.library-page__panel .panel-title,.tasks-page__panel .panel-title{color:#fff}.library-page__panel .panel-search{background:#ffffff1a;border-color:#ffffff26;color:#fff}.library-page__panel .panel-search::placeholder{color:#ffffff73}.library-page__panel .panel-search:focus{border-color:var(--c-primary)}.library-page__panel .type-tab,.tasks-page__panel .type-tab{border-color:#fff3;color:#ffffffa6}.library-page__panel .type-tab--active,.tasks-page__panel .type-tab--active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.library-page__panel .tag-chip{border-color:#fff3;color:#ffffffa6}.library-page__panel .tag-chip--active{background:#0596694d;color:#6ee7b7;border-color:var(--c-primary)}.library-page__panel .library-list__item:hover,.tasks-page__panel .tpi:hover{background:#ffffff14}.library-page__panel .library-list__item--active{background:#05966940!important;border-left:3px solid var(--c-primary)}.library-page__panel .library-list__meta,.tasks-page__panel .tpi__priority{color:#ffffff80}.library-page__panel .library-list__type{background:#05966940;color:#6ee7b7}.library-page__panel .library-list__empty,.tasks-page__panel .tasks-empty{color:#ffffff73}.review-page__panel .review-progress__bar{background:#ffffff1a}.review-page__panel .review-progress__text{color:#fff9}.review-page__panel .rq-item--active{background:#05966940}.review-page__panel .rq-item--empty{color:#ffffff73}.tasks-page__panel .tasks-group-label{color:#ffffff8c}.dashboard__panel .btn--primary,.library-page__panel .btn--primary,.review-page__panel .btn--primary,.tasks-page__panel .btn--primary{background:var(--c-primary);color:#fff}:root{--bp-mobile: 640px;--tabbar-h: 56px;--touch-min: 44px;--sa-b: env(safe-area-inset-bottom, 0px);--sa-t: env(safe-area-inset-top, 0px);--sa-l: env(safe-area-inset-left, 0px);--sa-r: env(safe-area-inset-right, 0px)}html.is-mobile,body.is-mobile{-webkit-text-size-adjust:100%;overscroll-behavior-y:contain}.mobile-panel-overlay,.mobile-panel-toggle{display:none}@media(max-width:640px){input,textarea,select,button{font-size:max(14px,1rem)}input[type=text],input[type=search],input[type=number],input[type=date],input[type=time],input[type=email],input[type=url],input[type=tel],input[type=password],textarea{font-size:16px}.app-shell{flex-direction:column;height:100vh;height:100dvh}:root{background:var(--c-rail)}body.is-mobile{background:linear-gradient(to bottom,var(--c-bg) 50%,var(--c-rail) 50%)}.app-content{flex:1;min-height:0;padding-bottom:calc(var(--tabbar-h) + var(--sa-b))}.app-content>*{min-width:0}.icon-rail{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:calc(var(--tabbar-h) + var(--sa-b));min-height:0;flex-direction:row;align-items:stretch;justify-content:center;padding:4px 4px calc(4px + var(--sa-b)) 4px;gap:0;border-top:1px solid rgba(255,255,255,.08);z-index:9500;overflow:visible}.icon-rail__primary,.icon-rail__extra{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;justify-items:center;width:100%;gap:0}.icon-rail__extra{position:absolute;left:0;right:0;bottom:100%;height:var(--tabbar-h);padding:var(--space-1);background:var(--c-rail);border-top:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-popover)}.icon-rail__extra-slot{display:flex;align-items:stretch}.icon-rail__extra-slot .icon-rail__item{height:100%}.icon-rail__primary>.icon-rail__item,.icon-rail__extra .icon-rail__item{width:min(48px,calc((100vw - 8px) / 6));min-width:44px}.icon-rail__nav,.icon-rail__bottom{flex-direction:row;flex:0 0 auto;gap:0;align-items:stretch;justify-content:center;margin:0}.icon-rail__me{margin:0}.icon-rail__settings{flex:0 0 auto;margin:0;align-items:stretch;justify-content:center}.icon-rail__item{flex:0 0 auto;width:48px;height:100%;min-width:0;padding:4px 2px;border-radius:8px}.icon-rail__item .icon-rail__icon svg{width:20px;height:20px}.icon-rail__item--pomo .icon-rail__icon{transform:scale(1.15)}.icon-rail__item--active:before{content:"";position:absolute;top:2px;left:20%;right:20%;height:2px;background:var(--c-primary);border-radius:2px}.icon-rail__item--active{background:transparent!important}.icon-rail__item--dragging{opacity:1}.icon-rail__item--drag-over:before{display:none}.icon-rail__badge{top:2px;right:4px;min-width:14px;height:14px;font-size:9px}.library-page__panel,.tasks-page__panel,.review-page__panel,.stats-page__panel{position:fixed;top:0;left:0;bottom:calc(var(--tabbar-h) + var(--sa-b));width:82vw!important;max-width:320px!important;z-index:9700;transform:translate(-100%);transition:transform .24s ease;padding-top:calc(20px + var(--sa-t));padding-bottom:calc(20px + var(--sa-b));box-shadow:4px 0 24px #00000059}body.panel-open .library-page__panel,body.panel-open .tasks-page__panel,body.panel-open .review-page__panel,body.panel-open .stats-page__panel{transform:translate(0)}.library-divider,.work-divider,.stats-divider,.recipes-divider{display:none!important}.records-split__list,.work-sidebar,.checkin-left,.recipes-panel{position:fixed;top:0;left:0;bottom:calc(var(--tabbar-h) + var(--sa-b));width:82vw!important;max-width:320px!important;z-index:9700;transform:translate(-100%);transition:transform .24s ease;padding-top:var(--sa-t);box-shadow:4px 0 24px #00000059}body.panel-open .records-split__list,body.panel-open .work-sidebar,body.panel-open .checkin-left,body.panel-open .recipes-panel{transform:translate(0)}.checkin-divider{display:none!important}.library-page,.schedule-page,.checkin-page,.recipes-page{height:100%}.library-page__main,.records-split__main,.schedule-main,.work-main,.checkin-right,.recipes-main{width:100%;padding:12px 12px 20px!important;max-width:none!important}.schedule-main{overflow-x:auto;-webkit-overflow-scrolling:touch}body.panel-open .mobile-panel-overlay{display:block;position:fixed;inset:0 0 calc(var(--tabbar-h) + var(--sa-b));background:#00000073;z-index:9600;animation:mobileOverlayIn .24s ease}@keyframes mobileOverlayIn{0%{opacity:0}to{opacity:1}}.mobile-panel-toggle{display:inline-flex;align-items:center;justify-content:center;position:fixed;top:calc(var(--sa-t) + var(--space-2));left:0;width:var(--control-sm);min-width:0;height:var(--touch-target);padding:0;border:1px solid rgba(255,255,255,.16);border-left:0;border-radius:0 var(--radius-md) var(--radius-md) 0;background:#08160fe0;color:var(--text-inverse);box-shadow:var(--shadow-drawer);z-index:9720;cursor:pointer;transition:left .24s ease}body.panel-open .mobile-panel-toggle{left:min(82vw,320px)}.mobile-panel-toggle:active{background:var(--surface-sidebar-active)}.app-content{padding-top:calc(4px + var(--sa-t))}.app-content:has(.pomodoro-page){padding-top:0}.library-page__main,.records-split__main,.schedule-main,.work-main,.checkin-right{padding-top:8px!important}.library-page__main .kd-topbar,.records-split__main>.records-detail>.records-detail__head,.records-split__main>.empty-state,.records-split__main>.records-charts>.body-view__title,.schedule-main>.schedule-header,.work-main>.work-main__head,.work-main>.work-empty,.checkin-right .month-view__head,.checkin-right>.checkin-right__empty{padding-left:52px!important;min-height:40px;box-sizing:border-box}.schedule-main>.schedule-header{flex-wrap:nowrap;gap:var(--space-2)}.schedule-header__left{min-width:0;gap:var(--space-2)}.schedule-header__title{min-width:0;font-size:var(--text-lg);white-space:nowrap}.schedule-header__date-short{display:none}.schedule-header__nav{flex-shrink:0}.schedule-header__right{flex-shrink:0;margin-left:auto}@media(max-width:400px){.schedule-header__date-full{display:none}.schedule-header__date-short{display:inline}.schedule-header__title{font-size:var(--text-md)}.schedule-main>.schedule-header,.schedule-header__left{gap:var(--space-1)}}.records-split__main.finance-main,.records-split__main:has(>.body-data-view){padding-top:48px!important}.toast-container{top:auto;bottom:calc(var(--tabbar-h) + var(--sa-b) + 12px);left:12px;right:12px;transform:none;align-items:center}.toast{max-width:100%}.modal-content,.modal__content,.modal-body{max-width:96vw!important;max-height:90vh!important}.pomodoro-page{padding:0 12px}.pomodoro-dial{width:min(94vmin,460px);height:min(94vmin,460px);margin-bottom:16px}.pomodoro-dial__center{width:78%}.pomodoro-dial__tasks{position:absolute;left:50%;bottom:calc(50% + 26px);transform:translate(-50%);width:62%;max-width:190px;gap:1px;margin-bottom:0}.pomodoro-dial__task--main,.pomodoro-dial__task-input--main{padding:2px 6px;font-size:15px!important}.pomodoro-dial__task--sec,.pomodoro-dial__task-input--sec{padding:1px 6px;font-size:12px!important}.pomodoro-dial__time{font-size:44px;letter-spacing:1px}.pomodoro-dnd-banner{margin-bottom:14px}.btn{min-height:36px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.records-charts,.finance-grid,.finance-overview{grid-template-columns:1fr!important}.records-chart{min-width:0;max-width:100%;overflow-x:auto}.records-chart canvas,.records-chart svg{max-width:100%!important;height:auto!important}.records-tabs{padding:8px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.records-tabs::-webkit-scrollbar{display:none}.records-tabs__item{flex-shrink:0;padding:6px 10px}}@media(min-width:641px)and (max-width:1024px){:root{--panel-w: 220px}.library-page__main{padding:20px}}:root{color-scheme:light;--font-sans: "Microsoft YaHei", "微软雅黑", sans-serif;--font-display: var(--font-sans);--font-mono: var(--font-sans);--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--color-brand-50: #ecfdf5;--color-brand-100: #d1fae5;--color-brand-muted: #8fb8a4;--color-brand-muted-hover: #7ea895;--color-brand-500: #10b981;--color-brand-600: #059669;--color-brand-700: #047857;--color-success-500: #16a34a;--color-warning-50: #fef3c7;--color-warning-200: #fde68a;--color-warning-500: #d97706;--color-warning-700: #b45309;--color-danger-50: #fef2f2;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-info-300: #93c5fd;--color-info-500: #2563eb;--medal-gold: #f5c451;--medal-silver: #c9d3cf;--medal-bronze: #c98a5b;--text-primary: #1a2e23;--text-secondary: #526b5d;--text-muted: #718478;--text-disabled: #9aa9a0;--text-inverse: #f7fbf8;--text-inverse-secondary: rgba(247, 251, 248, .7);--text-link: var(--color-brand-700);--surface-page: #f0f5f0;--surface-card: #ffffff;--surface-subtle: #f7faf8;--surface-muted: #edf3ef;--color-chart-remaining: #dceee6;--surface-raised: rgba(255, 255, 255, .92);--surface-overlay: rgba(15, 23, 19, .46);--surface-sidebar: rgba(8, 22, 15, .72);--surface-sidebar-hover: rgba(255, 255, 255, .09);--surface-sidebar-active: rgba(5, 150, 105, .25);--border-subtle: #d4e4da;--border-strong: #b8cec0;--focus-ring: rgba(5, 150, 105, .24);--tooltip-bg: #262626;--tooltip-border: rgba(255, 255, 255, .24);--menu-surface: #1f1f1f;--menu-border: rgba(255, 255, 255, .12);--menu-divider: rgba(255, 255, 255, .1);--menu-text: #e8e8e8;--menu-text-muted: rgba(255, 255, 255, .55);--menu-hover: rgba(255, 255, 255, .1);--menu-active: rgba(16, 185, 129, .22);--menu-danger: #f87171;--menu-danger-hover: rgba(248, 113, 113, .16);--shadow-menu: 0 8px 24px rgba(0, 0, 0, .45);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-card: 0 1px 3px rgba(16, 43, 29, .08);--shadow-card-hover: 0 6px 18px rgba(16, 43, 29, .12);--shadow-popover: 0 8px 24px rgba(16, 43, 29, .16);--shadow-modal: 0 20px 60px rgba(7, 24, 15, .22);--shadow-drawer: 4px 0 24px rgba(7, 24, 15, .3);--control-sm: 28px;--control-md: 34px;--control-lg: 40px;--touch-target: 44px;--guest-banner-h: 36px;--icon-xs: 12px;--icon-sm: 14px;--icon-md: 16px;--icon-lg: 20px;--icon-xl: 24px;--z-content: 0;--z-sticky: 100;--z-dropdown: 1000;--z-overlay: 9750;--z-modal: 9800;--z-toast: 9900;--z-tooltip: 10000;--c-primary: var(--color-brand-600);--c-primary-light: var(--color-brand-100);--c-primary-dark: var(--color-brand-700);--c-bg: var(--surface-page);--c-card: var(--surface-card);--c-text: var(--text-primary);--c-text-secondary: var(--text-secondary);--c-text-muted: var(--text-muted);--c-border: var(--border-subtle);--c-success: var(--color-success-500);--c-warning: var(--color-warning-500);--c-danger: var(--color-danger-500);--c-info: var(--color-info-500);--c-bg-hover: var(--surface-subtle);--font-title: var(--font-display);--font-body: var(--font-sans);--shadow-sm: var(--shadow-card);--shadow-md: var(--shadow-popover)}html,body,#root{font-family:var(--font-sans);font-size:var(--text-md);line-height:1.5;color:var(--text-primary);background:var(--surface-page);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body,body *{font-family:var(--font-sans)!important}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:inherit;line-height:1.3;text-wrap:balance}p,li,label,input,textarea,select,button{line-height:1.5}a{color:var(--text-link);text-underline-offset:2px}::selection{color:var(--text-primary);background:var(--color-brand-100)}::placeholder{color:var(--text-muted);opacity:1}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}:where(button,input,textarea,select):disabled,:where(.btn,[class*=__btn],[class*=-btn]):disabled{cursor:not-allowed;opacity:.55;box-shadow:none}:where(.btn,.checkin-btn,.work-editor__btn,.work-prompt__btn,.fp-btn){min-height:var(--control-md);padding:6px var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;line-height:20px;box-shadow:var(--shadow-card);transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}:where(.btn,.checkin-btn,.work-editor__btn,.work-prompt__btn,.fp-btn):not(:disabled):hover{border-color:var(--border-strong);background:var(--surface-subtle);box-shadow:var(--shadow-card-hover)}:where(.btn,.checkin-btn,.work-editor__btn,.work-prompt__btn,.fp-btn):not(:disabled):active{transform:translateY(1px);box-shadow:var(--shadow-card)}a:is(.btn,.checkin-btn,.work-editor__btn,.work-prompt__btn,.fp-btn):is(:hover,:focus,:focus-visible,:active){text-decoration:none}.btn--primary,.checkin-btn--primary,.work-editor__btn--primary,.work-prompt__btn--primary,.fp-btn--primary{border-color:var(--color-brand-600);background:var(--color-brand-600);color:#fff}.btn--primary:not(:disabled):hover,.checkin-btn--primary:not(:disabled):hover,.work-editor__btn--primary:not(:disabled):hover,.work-prompt__btn--primary:not(:disabled):hover,.fp-btn--primary:not(:disabled):hover{border-color:var(--color-brand-700);background:var(--color-brand-700)}:where(.btn--danger,.btn--danger-plain,.work-editor__del){border-color:#fecaca;background:var(--color-danger-50);color:var(--color-danger-600)}.btn--sm{min-height:var(--control-sm);padding:3px var(--space-2);font-size:var(--text-xs)}:where(.field__input,.panel-search,.work-editor__input,.work-editor__select,.work-prompt__input,.checkin-input,.hf-input,.hf-select,.card-template-modal input,.card-template-modal select,.card-template-modal textarea){min-height:var(--control-md);padding:6px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-sm);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}:where(.field__input,.panel-search,.work-editor__input,.work-editor__select,.work-prompt__input,.checkin-input,.hf-input,.hf-select,.card-template-modal input,.card-template-modal select,.card-template-modal textarea):focus{border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.field,.work-editor__field{display:flex;flex-direction:column;gap:var(--space-2)}.field--row{flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-2);text-align:left}.field--row .field__label{color:var(--text-primary);font-weight:400}input[type=checkbox],input[type=radio]{accent-color:var(--color-brand-600)}:where(.field__label,.work-editor__field>span,.checkin-field>span,.hf-row>label){color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}:where(.library-page__main,.records-split__main,.schedule-main,.work-main,.checkin-right){color:var(--text-primary)}:where(.work-main,.library-page__main){padding:var(--space-6) var(--space-8)}:where(.kd-title,.work-main__title,.body-view__title,.records-detail__title){margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1.3}:where(.settings-section__title,.kd-group__title,.records-chart__title,.body-chart__title,.work-cat-column__title){color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.4}:where(.library-page__panel,.tasks-page__panel,.records-split__list,.work-sidebar,.checkin-left,.recipes-panel){color:var(--text-inverse);background:linear-gradient(var(--surface-sidebar),var(--surface-sidebar)),url(/leaves-bg.png) left center / cover no-repeat fixed;border-right:1px solid rgba(255,255,255,.08)}.feature-page-header.feature-page-header{display:flex;align-items:center;width:100%;min-height:64px!important;height:64px;padding:0 20px!important;gap:var(--space-3)!important;margin-bottom:0!important;border-bottom:1px solid rgba(255,255,255,.12);box-sizing:border-box;flex-shrink:0}.feature-page-title.feature-page-title{margin:0!important;color:var(--text-inverse)!important;font-family:var(--font-display)!important;font-size:var(--text-xl)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important;white-space:nowrap}.feature-page-actions.feature-page-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;min-width:0}.feature-page-actions>button{flex-shrink:0}.feature-settings-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);padding:0;color:var(--text-inverse-secondary);cursor:pointer;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);transition:background .12s,color .12s,border-color .12s}.feature-settings-btn:hover{color:var(--text-inverse);background:#ffffff2e;border-color:#ffffff52}.feature-settings-btn:focus-visible{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--focus-ring)}.feature-settings-btn svg{display:block;width:var(--icon-md);height:var(--icon-md)}.feature-page-header--light .feature-settings-btn{color:var(--text-secondary);background:var(--surface-muted);border-color:var(--border-subtle)}.feature-page-header--light .feature-settings-btn:hover{color:var(--text-primary);background:var(--surface-subtle);border-color:var(--border-strong)}.library-page__panel,.schedule-panel{padding-top:0!important}.library-page__panel>.feature-page-header,.schedule-panel>.feature-page-header{width:calc(100% + 32px);margin-inline:-16px}.pomodoro-title.feature-page-header{position:absolute;top:0!important;left:0!important;width:auto;min-width:250px;border-bottom:0;z-index:2}:where(.library-list__item,.settings-nav__item,.work-sidebar__item,.tpi){border-radius:var(--radius-md);transition:background-color .16s ease,color .16s ease,border-color .16s ease}:where(.library-list__item,.settings-nav__item,.work-sidebar__item,.tpi):hover{background:var(--surface-sidebar-hover)}:where(.library-list__item--active,.settings-nav__item--active,.work-sidebar__item--active,.tpi--active){color:var(--text-inverse);background:var(--surface-sidebar-active)}:where(.library-divider,.work-divider,.checkin-divider,.stats-divider,.recipes-divider,.model-divider){width:5px;background:transparent;transition:background-color .16s ease}:where(.library-divider,.work-divider,.checkin-divider):hover{background:#05966938}.records-tabs.records-tabs--left{display:flex;gap:var(--space-2);min-height:0;margin:var(--space-2) var(--space-3) var(--space-3);padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.records-tabs.records-tabs--left .records-tabs__item{flex:1 1 0;min-width:0;min-height:30px;padding:4px 8px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);color:#ffffffa8;background:#0000002e;font-size:var(--text-sm);font-weight:600;line-height:20px;text-align:center;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.records-tabs.records-tabs--left .records-tabs__item:hover{color:#ffffffeb;background:#ffffff14}.records-tabs.records-tabs--left .records-tabs__item--active,.records-tabs.records-tabs--left .records-tabs__item--active:hover{color:#fff;border-color:#34d3996b;background:#0596694d;box-shadow:inset 0 0 0 1px #10b98114}:where(.records-chart,.body-chart,.kd-group,.card-block){border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-card)}:where(.records-chart,.body-chart,.kd-group,.card-block){transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}:where(.card-block):hover{border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}:where(.tag-chip,.settings-tag,.records-badge,.checkin-reminder){min-height:20px;padding:2px var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;line-height:16px}.icon-rail__badge{min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);font-size:10px;line-height:16px}:where(.modal-overlay,.checkin-modal-overlay,.work-editor__overlay,.work-prompt__overlay,.card-template-modal__overlay){background:var(--surface-overlay);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}:where(.modal-content,.modal__content,.checkin-modal,.work-editor,.work-prompt,.card-template-modal){border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-modal)}:where(.work-editor__head,.card-template-modal__header,.checkin-modal__head){min-height:52px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}:where(.work-editor__title,.work-prompt__title,.card-template-modal__title){font-size:var(--text-lg);font-weight:700}:where(.work-editor__foot,.work-prompt__actions,.card-template-modal__footer){gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}:where(.empty-state,.work-empty,.checkin-right__empty){color:var(--text-secondary);text-align:center}:where(.empty-state,.work-empty){min-height:180px;padding:var(--space-8);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:#ffffff75}:where(.empty-state__title,.work-empty__title){color:var(--text-primary);font-size:var(--text-lg);font-weight:700}:where(.empty-state__hint,.work-empty__hint,.library-list__empty,.tasks-empty){color:var(--text-muted);font-size:var(--text-sm)}:where(.records-table-wrap,.table-scroll,.body-data-view){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.records-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.records-table th{color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;background:var(--surface-subtle)}.records-table th,.records-table td{min-height:var(--control-md);border-bottom-color:var(--border-subtle)}.records-table tbody tr:hover{background:var(--color-brand-50)}.toast-container{z-index:var(--z-toast);gap:var(--space-2)}.toast{min-width:220px;padding:10px var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-popover);font-size:var(--text-sm)}.login-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:linear-gradient(#f0f5f0e6,#f0f5f0e6),url(/leaves-bg.png) left center / cover no-repeat fixed}.login-gate__status{color:var(--text-secondary);font-size:var(--text-md)}.login-gate__card{display:flex;flex-direction:column;gap:var(--space-4);width:min(100%,360px);padding:var(--space-8);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-modal);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.login-gate__title{margin:0;color:var(--text-primary);font-size:var(--text-2xl);text-align:center}.login-gate__alert,.login-gate__error{padding:var(--space-2) 10px;border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5}.login-gate__alert{border:1px solid #fed7aa;background:#fff7ed;color:#9a4b0b}.login-gate__error{border:1px solid #fecaca;background:var(--color-danger-50);color:var(--color-danger-600)}.login-gate__field{display:flex;flex-direction:column;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.login-gate__input{width:100%;min-height:var(--control-lg);padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);font-size:var(--text-md);outline:none}.login-gate__input:focus{border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring)}.login-gate__suggest{position:relative}.login-gate__suggest-list{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:20;max-height:240px;overflow-y:auto;margin:0;padding:var(--space-1);list-style:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-popover)}.login-gate__suggest-item{padding:var(--space-2) 10px;border-radius:6px;color:var(--text-primary);font-size:var(--text-md);font-weight:400;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-gate__suggest-item.is-active{background:var(--color-brand-50, rgba(5, 150, 105, .08));color:var(--color-brand-700)}.login-gate__submit{min-height:var(--control-lg);margin-top:var(--space-1);padding:8px var(--space-4);border:1px solid var(--color-brand-600);border-radius:var(--radius-md);background:var(--color-brand-600);color:#fff;font-size:var(--text-md);font-weight:700;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.login-gate__submit:not(:disabled):hover{border-color:var(--color-brand-700);background:var(--color-brand-700);box-shadow:var(--shadow-card-hover)}.login-gate__submit:disabled{border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-disabled);cursor:not-allowed}.login-gate__info{padding:var(--space-2) 10px;border:1px solid #bbf7d0;border-radius:var(--radius-md);background:#f0fdf4;color:#15803d;font-size:var(--text-sm);line-height:1.5}.login-gate__readonly{padding:var(--space-2) 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-sm);word-break:break-all}.login-gate__input--code{letter-spacing:4px;font-weight:700}.otp-input{position:relative;flex:1;min-width:0;cursor:text}.otp-input__cells{display:grid;gap:var(--space-2)}.otp-input__cell{display:flex;align-items:center;justify-content:center;height:var(--control-lg);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-xl);font-weight:700}.otp-input__cell.is-filled{border-color:var(--border-strong)}.otp-input__cell.is-active{border-color:var(--color-brand-600);box-shadow:0 0 0 3px var(--focus-ring)}.otp-input__native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;outline:none;cursor:text}.login-gate__links{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-1)}.login-gate__hint{color:var(--text-muted);font-size:var(--text-xs)}.login-gate__link{min-height:28px;padding:0 var(--space-1);border:none;border-radius:var(--radius-sm);background:none;color:var(--color-brand-600);font-size:var(--text-xs);font-weight:600;cursor:pointer}.login-gate__link:not(:disabled):hover{color:var(--color-brand-700);text-decoration:underline}.login-gate__link:disabled{color:var(--text-disabled);cursor:not-allowed;text-decoration:none}.login-gate__code-row{display:flex;gap:var(--space-2)}.login-gate__code-row .login-gate__input{flex:1;min-width:0}.login-gate__code-btn{flex-shrink:0;min-width:112px;height:var(--control-lg);padding:0 var(--space-3);border:1px solid var(--color-brand-600);border-radius:var(--radius-md);background:transparent;color:var(--color-brand-600);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.login-gate__code-btn:hover:not(:disabled){background:var(--color-brand-50);color:var(--color-brand-700)}.login-gate__code-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.login-gate__code-btn:disabled{border-color:var(--border-subtle);color:var(--text-disabled);cursor:not-allowed}.login-gate__agree{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);line-height:1.6;cursor:pointer}.login-gate__agree input{flex-shrink:0;width:16px;height:16px;margin:2px 0 0;accent-color:var(--color-brand-600);cursor:pointer}.login-gate__agree a,.login-gate__legal a{color:var(--color-brand-600);font-weight:600;text-decoration:none}.login-gate__agree a:hover,.login-gate__legal a:hover{color:var(--color-brand-700);text-decoration:underline}.login-gate__agree a:focus-visible,.login-gate__legal a:focus-visible{outline:none;border-radius:var(--radius-xs);box-shadow:0 0 0 3px var(--focus-ring)}.login-gate__legal{display:flex;justify-content:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.login-gate__legal a{color:var(--text-muted);font-weight:400}.login-gate__guest-btn{min-height:var(--control-lg);padding:8px var(--space-4);border:1px solid var(--color-brand-muted);border-radius:var(--radius-md);background:var(--color-brand-muted);color:#fff;font-size:var(--text-md);font-weight:700;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.login-gate__guest-btn:not(:disabled):hover{border-color:var(--color-brand-muted-hover);background:var(--color-brand-muted-hover)}.login-gate__guest-btn:disabled{border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-disabled);cursor:not-allowed}.guest-banner{position:relative;z-index:40;display:flex;align-items:center;gap:var(--space-3);height:var(--guest-banner-h);padding:0 var(--space-4);border-bottom:1px solid #fed7aa;background:#fff7ed;color:#9a4b0b;font-size:var(--text-sm)}body.has-guest-banner .app-shell{height:calc(100vh - var(--guest-banner-h))}.guest-banner__badge{padding:2px var(--space-2);border-radius:999px;background:#9a4b0b;color:#fff;font-size:var(--text-xs);font-weight:700;white-space:nowrap}.guest-banner__text{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.guest-banner__actions{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto}.guest-banner__link{min-height:28px;padding:0 var(--space-1);border:none;border-radius:var(--radius-sm);background:none;color:#9a4b0b;font-size:var(--text-xs);font-weight:700;cursor:pointer;text-decoration:underline}.guest-banner__link:hover{color:#7c3d09}.guest-banner__confirm{position:absolute;top:100%;right:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid #fed7aa;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fff7ed;box-shadow:var(--shadow-popover);font-size:var(--text-sm)}.guest-banner__confirm-actions{display:flex;gap:var(--space-2)}.guest-banner__detail{position:absolute;top:100%;right:0;left:0;margin:0;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-8);border-bottom:1px solid #fed7aa;background:#fff7ed;box-shadow:var(--shadow-popover);font-size:var(--text-xs);line-height:1.7}.pomodoro-page{font-family:var(--font-sans)}:root{--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%236b7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:root{--select-arrow-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%23d1d5db' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}select:not([multiple]):not([size]),.hf-select-display,.settings-prio__btn{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:var(--select-arrow)!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:12px 12px!important;padding-right:36px!important}.distill-topic__select{background-position:right 4px center!important;padding-right:22px!important}.schedule-panel__target-select{background-image:var(--select-arrow-light)!important;background-position:right 8px center!important;padding-right:26px!important}@media(max-width:640px){:root{--control-md: 40px}.feature-page-header.feature-page-header{min-height:64px!important;height:64px;padding-inline:20px!important}.records-tabs.records-tabs--left .records-tabs__item{min-height:40px}.pomodoro-title.feature-page-header{position:fixed;top:0!important;left:0!important;bottom:calc(var(--tabbar-h) + var(--sa-b));z-index:9700;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:82vw;max-width:320px;height:auto;min-height:0!important;min-width:0;padding:calc(var(--sa-t) + var(--space-5)) var(--space-5) var(--space-5)!important;gap:var(--space-5)!important;background:var(--surface-sidebar);box-shadow:var(--shadow-drawer);transform:translate(-100%);transition:transform .24s ease}body.panel-open .pomodoro-title.feature-page-header{transform:translate(0)}.pomodoro-title .feature-page-actions{margin-left:0}.pomodoro-title .feature-page-actions>button{min-width:var(--touch-target);min-height:var(--touch-target)}:where(.work-main,.library-page__main){padding:var(--space-2) var(--space-3) var(--space-5)}:where(.btn,.checkin-btn,.work-editor__btn,.work-prompt__btn,.fp-btn,.panel-title__add,.work-sidebar__add,.work-editor__close,.mobile-panel-toggle){min-width:var(--touch-target);min-height:var(--touch-target)}.records-table{display:table;width:max-content;min-width:100%;overflow:visible}:where(.modal-content,.modal__content,.checkin-modal,.work-editor,.work-prompt,.card-template-modal){width:min(calc(100vw - 24px),480px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}.login-gate{align-items:flex-start;overflow-y:auto;padding:max(var(--space-6),env(safe-area-inset-top)) var(--space-3) max(var(--space-6),env(safe-area-inset-bottom))}.login-gate__card{margin:auto 0;padding:var(--space-6)}body.has-guest-banner .app-shell{height:calc(100dvh - var(--guest-banner-h))}.guest-banner__text{display:none}.guest-banner{justify-content:space-between;padding:0 var(--space-3)}.guest-banner__detail{padding-left:var(--space-6)}.login-gate__input{font-size:16px}.login-gate__link{min-height:40px;padding:0 var(--space-2);font-size:var(--text-sm)}.login-gate__legal a{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--space-2)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
