@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-opsz-normal-oos9povj.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-opsz-normal-Bf69Tn_J.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--color-background);min-height:100dvh;color:var(--color-ink);font-family:var(--font-family);font-weight:var(--font-regular);font-size:var(--type-body-size);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0}button{font:inherit;color:inherit}h1,h2,p{margin:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{min-height:var(--touch-target);border-radius:var(--radius-button);font-weight:var(--font-semibold);cursor:pointer}.button--primary{background:var(--color-primary);color:var(--color-on-primary);border:none}.button--primary:disabled{opacity:.4;cursor:default}.button--outline{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-ink)}.item-sheet__head{align-items:flex-start;gap:var(--space-sm);flex-direction:column;display:flex}.item-sheet__kind{border-radius:var(--radius-tag);background:var(--color-neutral-tint);color:var(--color-neutral-tint-text);font-size:12px;font-weight:var(--font-semibold);padding:3px 10px}.item-sheet__kind--class{background:var(--color-class-fill);color:var(--color-class-text)}.item-sheet__kind--work{background:var(--color-work-fill);color:var(--color-work-text)}.item-sheet__kind--deadline{background:var(--color-accent-tint);color:var(--color-accent-text)}.item-sheet__title{font-size:22px;font-weight:var(--font-bold);overflow-wrap:anywhere;line-height:1.2}.item-sheet__facts{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.item-sheet__facts li{align-items:flex-start;gap:var(--space-md);font-size:15px;display:flex}.item-sheet__facts svg{color:var(--color-text-muted);flex:none;margin-top:1px}.item-sheet__notes{padding:var(--space-md);background:var(--color-surface-muted);white-space:pre-line;border-radius:12px;font-size:14px}.item-sheet__actions{gap:var(--space-sm);display:flex}.item-sheet__actions .button{padding:0 var(--space-md);flex:1}.item-sheet__confirm{gap:var(--space-md);flex-direction:column;font-size:15px;display:flex}.item-form{gap:var(--space-lg);flex-direction:column;display:flex}.item-form__field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.item-form__pair{gap:var(--space-md);display:flex}.item-form__label{font-size:13px;font-weight:var(--font-semibold);padding:0}.item-form__optional{color:var(--color-text-muted);font-weight:var(--font-regular)}.item-form__input{border:1px solid var(--color-border-strong);background:var(--color-background);width:100%;min-height:48px;color:var(--color-ink);font:inherit;appearance:none;border-radius:12px;padding:0 14px;font-size:16px}.item-form__input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-accent-tint);outline:none}.item-form__input:disabled{color:var(--color-text-muted)}.item-form__reminders{gap:var(--space-sm);border:none;flex-direction:column;margin:0;padding:0;display:flex}.item-form__chips{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.item-form__chip{min-height:var(--touch-target);padding:0 var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-size:15px;font-weight:var(--font-medium);cursor:pointer}.item-form__chip--on{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-on-ink)}.item-form__chip--on:before{content:"✓ "}.item-form__hint{color:var(--color-text-muted);font-size:13px}.item-form__error{color:var(--color-ink);font-size:14px;font-weight:var(--font-semibold)}.item-form__custom-list{gap:var(--space-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.item-form__custom-chip{min-height:var(--touch-target);padding-left:var(--space-lg);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-on-ink);font-size:15px;font-weight:var(--font-medium);align-items:center;gap:2px;display:inline-flex}.item-form__custom-remove{width:var(--touch-target);height:var(--touch-target);color:inherit;cursor:pointer;background:0 0;border:none;place-items:center;padding:0;font-size:20px;display:grid}.item-form__custom-open{min-height:var(--touch-target);color:var(--color-ink);font-size:15px;font-weight:var(--font-semibold);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.item-form__custom{gap:var(--space-sm);display:flex}.item-form__custom-amount{flex:none;width:76px}.item-form__custom-unit{flex:1;min-width:0}.item-form__custom-add{padding:0 var(--space-lg);flex:none}.tab-bar{z-index:10;height:calc(48px + env(safe-area-inset-bottom,0px));padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:var(--color-surface);border-top:1px solid var(--color-border);grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;display:grid;position:fixed;inset:auto 0 0}.tab{min-height:var(--touch-target);color:var(--color-text-subtle);flex-direction:column;justify-content:center;align-items:center;gap:4px;text-decoration:none;display:flex}.tab.active{color:var(--color-primary)}.tab__label{font-size:11px;font-weight:var(--font-regular)}.tab.active .tab__label{font-weight:var(--font-semibold)}.tab-bar__plus-slot{justify-content:center;display:flex}.tab-bar__plus{background:var(--color-primary);width:50px;height:50px;color:var(--color-on-primary);box-shadow:var(--shadow-primary);cursor:pointer;border:none;border-radius:25px;justify-content:center;align-items:center;transition:transform .15s ease-out;display:flex}.tab-bar__plus:active{transform:scale(.94)}.tab-bar__plus svg{transition:transform .2s ease-out}.tab-bar__plus--open svg{transform:rotate(45deg)}.tab__avatar{background:var(--color-accent-tint);width:24px;height:24px;color:var(--color-primary);font-size:13px;font-weight:var(--font-semibold);border-radius:50%;place-items:center;display:grid}.tab.active .tab__avatar{box-shadow:0 0 0 1.5px var(--color-primary)}.empty-state{gap:var(--space-xs);border-radius:var(--radius-card-large);background:var(--color-surface);box-shadow:var(--shadow-card);flex-direction:column;padding:16px;display:flex}.empty-state__title{font-size:var(--type-heading-size);font-weight:var(--type-heading-weight)}.empty-state__message{font-size:var(--type-body-small-size);color:var(--color-text-muted)}.schedule-card{border-radius:var(--radius-card-large);background:var(--color-surface);box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:16px;display:flex}.schedule-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-card__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.schedule-card__title{font-size:var(--type-heading-size);font-weight:var(--type-heading-weight)}.schedule-card__summary{font-size:var(--type-body-small-size);color:var(--color-text-muted)}.schedule-card__list-wrap{position:relative}.schedule-card__list{box-sizing:content-box;overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;max-height:236px;padding-bottom:18px;padding-right:4px;display:flex;position:relative;overflow-y:auto}.schedule-card__fade{pointer-events:none;background:linear-gradient(to bottom, transparent, var(--color-surface));height:36px;position:absolute;inset:auto 0 0}.schedule-card__rest-free{background:var(--color-free-tint);min-height:40px;color:var(--color-free-text);font-size:13px;font-weight:var(--font-semibold);border-radius:12px;align-items:center;gap:10px;padding:0 12px;display:flex}.schedule-card__rest-dot{background:var(--color-free-mark);border-radius:4px;width:8px;height:8px}.row{position:relative}.row__button{text-align:left;background:0 0;border:none;gap:12px;width:100%;padding:0 0 12px;display:flex}.row--last .row__button{padding-bottom:0}button.row__button{cursor:pointer;transition:opacity .15s ease-out}button.row__button:active{opacity:.6}.row__check{width:var(--touch-target);height:var(--touch-target);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:absolute;top:-14px;left:38px}.row__time{width:40px;color:var(--color-text-muted);flex:none;font-size:13px}.row--done .row__check{width:var(--touch-target);height:var(--touch-target);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:absolute;top:-14px;left:38px}.row__time{color:var(--color-text-subtle)}.row--now .row__check{width:var(--touch-target);height:var(--touch-target);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:absolute;top:-14px;left:38px}.row__time{font-weight:var(--font-semibold);color:var(--color-primary)}.row__track{flex-direction:column;align-items:center;display:flex}.row__marker{border-radius:8px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.row__marker--square{border-radius:5px}.row__marker--done{background:var(--color-ink);color:var(--color-on-ink)}.row__marker--now{border:5px solid var(--color-primary);background:var(--color-surface)}.row__marker--free{border:2px dashed var(--color-free-mark)}.row__marker--idle{border:2px solid var(--color-marker-idle)}.row__line{background:var(--color-border-strong);flex:1;width:1px;margin-top:3px}.row__body{flex:1;justify-content:space-between;gap:8px;min-width:0;display:flex}.row__titles{flex-direction:column;gap:1px;min-width:0;display:flex}.row__title,.row__sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row__title{font-size:var(--type-body-size);font-weight:var(--font-medium)}.row--now .row__title{font-weight:var(--font-semibold)}.row--done .row__title{color:var(--color-text-subtle);text-decoration:line-through}.row__sub{color:var(--color-text-muted);font-size:12px}.row--free:not(.row--done) .row__sub{color:var(--color-free-text)}.row--done .row__sub{color:var(--color-text-subtle)}.row__now-tag{border-radius:var(--radius-tag);background:var(--color-accent-tint);color:var(--color-primary);font-size:11px;font-weight:var(--font-bold);align-self:flex-start;padding:2px 8px}.schedule-card__empty{align-items:flex-start;gap:var(--space-md);padding-top:var(--space-xs);flex-direction:column;display:flex}.schedule-card__empty-text{font-size:var(--type-body-small-size);color:var(--color-text-muted);line-height:1.45}.schedule-card__empty-button{min-height:var(--touch-target);padding:0 var(--space-lg);border-radius:var(--radius-button);background:var(--color-primary);color:var(--color-on-primary);font:inherit;font-size:15px;font-weight:var(--font-semibold);cursor:pointer;border:none;align-items:center;gap:6px;display:inline-flex}.top-bar{justify-content:space-between;align-items:center;display:flex}.top-bar__brand{align-items:center;gap:8px;display:flex}.top-bar__logo{color:var(--color-primary)}.top-bar__name{font-size:15px;font-weight:var(--font-semibold);letter-spacing:-.2px}.top-bar__actions{gap:8px;display:flex}.circle-button{width:40px;height:40px;color:var(--color-ink);cursor:pointer;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex;position:relative}.circle-button:after{content:"";position:absolute;inset:-3px}.circle-button--outline{border-color:var(--color-border-strong);background:var(--color-surface)}.top-bar__bell{position:relative}.notifications{z-index:15;width:min(300px,100vw - 36px);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border-strong), var(--shadow-card);animation:.15s ease-out notifications-in;position:absolute;top:calc(100% + 8px);right:0}@keyframes notifications-in{0%{opacity:0;transform:translateY(-4px)}}.notifications__title{margin-bottom:var(--space-md);font-size:var(--type-heading-size);font-weight:var(--type-heading-weight)}.notifications__empty{padding:var(--space-md) 0 var(--space-sm);text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.notifications__icon{margin-bottom:var(--space-xs);color:var(--color-text-subtle)}.notifications__empty-title{font-weight:var(--font-semibold)}.notifications__empty-text{font-size:var(--type-body-small-size);color:var(--color-text-muted)}.top-bar__badge{border-radius:var(--radius-pill);background:var(--color-ink);min-width:18px;height:18px;color:var(--color-on-ink);font-size:11px;font-weight:var(--font-bold);place-items:center;padding:0 5px;display:grid;position:absolute;top:-2px;right:-2px}.notifications__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notifications__item{width:100%;min-height:var(--touch-target);padding:var(--space-sm) 0;border:none;border-top:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;display:flex}.notifications__list li:first-child .notifications__item{border-top:none}.notifications__item-title{font-weight:var(--font-semibold)}.notifications__item-when{font-size:var(--type-body-small-size);color:var(--color-text-muted)}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.week-day{min-height:var(--touch-target);border-radius:var(--radius-chip);width:100%;color:inherit;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:8px 0;transition:background-color .15s ease-out;display:flex}.week-day:not(.week-day--selected):active{background:var(--color-surface-muted)}.week-day__letter{color:var(--color-text-muted);font-size:11px}.week-day__date{font-size:15px;line-height:20px;font-weight:var(--font-semibold);transition:transform .15s ease-out;display:inline-block}.week-day--past .week-day__date{color:var(--color-text-subtle)}.week-day--today{background:var(--color-surface);box-shadow:var(--shadow-chip);transform:translateY(-2px)}.week-day--today .week-day__letter{color:var(--color-accent-text);font-weight:var(--font-bold)}.week-day--today .week-day__date{font-weight:var(--font-bold);color:var(--color-ink)}.week-day__bar{border-radius:2px;width:18px;height:4px}.week-day__bar--light{background:var(--color-load-light)}.week-day__bar--busy{background:var(--color-load-busy)}.week-day__bar--heavy{background:var(--color-load-heavy)}.week-strip-wrap{touch-action:pan-y;-webkit-user-select:none;user-select:none;margin:-8px -4px;padding:8px 4px;overflow:hidden}.week-track{will-change:transform;display:flex}.week-track>.week-strip{box-sizing:border-box;flex:0 0 100%;padding:0 2px}.week-day--selected .week-day__date{font-size:19px;font-weight:var(--font-bold);color:var(--color-ink);text-shadow:var(--shadow-number);transform:translateY(-2px)}.widget{border-radius:var(--radius-card);min-width:0;color:var(--color-ink);font:inherit;text-align:left;border:none;flex-direction:column;gap:6px;padding:14px;text-decoration:none;display:flex}button.widget{cursor:pointer;-webkit-tap-highlight-color:transparent}.widget__label{font-size:12px;font-weight:var(--font-semibold);align-items:center;gap:6px;display:flex}.widget__dot{border-radius:4px;flex:none;width:8px;height:8px}.widget__value{font-size:var(--type-big-number-size);font-weight:var(--type-big-number-weight);letter-spacing:var(--type-big-number-tracking)}.widget__caption{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.widget--clash{background:var(--color-clash-tint)}.widget--clash .widget__dot{background:var(--color-clash)}.widget--clash .widget__label{color:var(--color-clash-text)}.widget--clash .widget__caption{color:var(--color-clash-caption)}.widget--neutral{background:var(--color-neutral-tint)}.widget--neutral .widget__dot{background:var(--color-primary)}.widget--neutral .widget__label{color:var(--color-primary)}.widget--neutral .widget__caption{color:var(--color-neutral-tint-text)}.today-header{justify-content:space-between;align-items:flex-end;display:flex}.today-header__date{font-size:var(--type-display-size);font-weight:var(--type-display-weight);letter-spacing:var(--type-display-tracking);line-height:1.05}.today-header__month{font-size:var(--type-body-small-size);font-weight:var(--font-semibold);color:var(--color-text-muted);padding-bottom:4px}.today-widgets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.today-edit-widgets{min-height:var(--touch-target);margin-top:calc(-1 * var(--space-sm));padding:0 var(--space-xs);color:var(--color-text-muted);font-size:var(--type-body-small-size);font-weight:var(--font-semibold);align-self:flex-end;align-items:center;text-decoration:none;display:flex}.today-header__month--link{min-height:var(--touch-target);font:inherit;color:var(--color-ink);font-weight:var(--font-bold);cursor:pointer;background:0 0;border:none;padding:0}.welcome{gap:var(--space-lg);min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + var(--space-xl)) calc(env(safe-area-inset-right,0px) + var(--space-xl)) calc(env(safe-area-inset-bottom,0px) + var(--space-xxl)) calc(env(safe-area-inset-left,0px) + var(--space-xl));flex-direction:column;display:flex}.welcome__brand{align-items:center;gap:var(--space-sm);display:flex}.welcome__logo{color:var(--color-primary)}.welcome__brand-name{font-size:15px;font-weight:var(--font-semibold);letter-spacing:-.2px}.welcome__title{margin-top:var(--space-xxl);font-size:30px;font-weight:var(--font-semibold);letter-spacing:-1px;line-height:1.1}.welcome__lead{font-size:var(--type-body-size);color:var(--color-text-muted)}.welcome-card{padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:inset 0 0 0 1.5px var(--color-ink), var(--shadow-card);flex-direction:column;gap:10px;display:flex}.welcome-card__label{font-size:15px;font-weight:var(--font-semibold)}.welcome-card__input{min-height:var(--touch-target);border:1px solid var(--color-border-strong);background:var(--color-background);color:var(--color-ink);font:inherit;border-radius:12px;padding:0 12px;font-size:16px}.welcome-card__input::placeholder{color:var(--color-text-subtle)}.welcome-note{align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);font-size:var(--type-body-small-size);color:var(--color-text-muted);display:flex}.welcome-note strong{color:var(--color-ink);font-weight:var(--font-semibold)}.welcome-note__icon{color:var(--color-ink);flex:none}
