.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-tabbar);display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--tg-bg);border-top:1px solid var(--border)}.tabbar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:var(--sp-1);border-radius:var(--r-md);color:var(--tg-hint);transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.tabbar__item--active{background:var(--accent-soft);color:var(--accent)}.tabbar__icon{position:relative;font-size:var(--fs-lg);line-height:1}.tabbar__label{font-size:var(--fs-xs)}.tabbar__badge{position:absolute;top:-6px;left:100%;transform:translate(-40%);min-width:16px;height:16px;padding:0 var(--sp-1);border-radius:var(--r-full);background:var(--accent);color:var(--accent-text);font-size:var(--fs-micro);font-weight:700;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:#00000073;display:flex;align-items:flex-end}.sheet{width:100%;max-height:90vh;overflow-y:auto;background:var(--tg-bg);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-lg);padding:var(--sp-4) var(--sp-3) calc(var(--sp-5) + var(--safe-bottom));display:flex;flex-direction:column;gap:var(--sp-3)}.sheet__title{font-size:var(--fs-lg);font-weight:600}.segmented--two{grid-template-columns:repeat(2,1fr)}.btn--primary{font-weight:600}.fab{position:fixed;right:var(--sp-4);bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--sp-3));width:52px;height:52px;border-radius:var(--r-full);font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:calc(var(--z-tabbar) + 1)}.card{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);transition:opacity var(--dur) var(--ease)}.card--done{opacity:.5}.card--done .card__title{text-decoration:line-through}.card__check{flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:var(--r-full);border:1.5px solid var(--tg-hint);color:var(--tg-button-text);font-size:var(--fs-sm);line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card__check--on{background:var(--success);border-color:var(--success)}.card__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1);text-align:left;padding:0}.card__title{font-size:var(--fs-md);line-height:var(--lh-tight);overflow-wrap:anywhere}.card__kind{margin-right:var(--sp-1)}.card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--tg-hint)}.card__when--overdue{color:var(--danger);font-weight:600}.card__when--soon{color:var(--warning);font-weight:600}.card__flag{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:var(--r-full);padding:0 var(--sp-1)}.timeline{display:flex;flex-direction:column;gap:var(--sp-2)}.timeline__row{display:grid;grid-template-columns:3.5rem 1fr;gap:var(--sp-2);align-items:start}.timeline__time{font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums;padding-top:var(--sp-3);color:var(--tg-hint)}.timeline__time--now{color:var(--accent)}.card__hasBody{opacity:.55}.today__date{margin:var(--sp-1) 0 0;color:var(--tg-hint);font-size:var(--fs-sm)}.today__date:first-letter{text-transform:uppercase}.today__inbox{margin-top:var(--sp-2);padding:var(--sp-3);color:var(--accent);font-weight:600;font-size:var(--fs-sm);text-align:center}.today__inbox:active{background:var(--accent-soft)}.inbox__hint{margin:0;color:var(--tg-hint);font-size:var(--fs-sm)}.inbox__item{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);transition:opacity var(--dur) var(--ease)}.inbox__item--busy{opacity:.45}.inbox__head{display:flex;align-items:flex-start;gap:var(--sp-2)}.inbox__title{flex:1;min-width:0;text-align:left;padding:0;font-size:var(--fs-md);font-weight:600;line-height:var(--lh-tight);overflow-wrap:anywhere}.inbox__edit{flex-shrink:0;padding:0 var(--sp-1);color:var(--tg-hint);font-size:var(--fs-lg);line-height:1}.inbox__group{display:flex;flex-direction:column;gap:var(--sp-1)}.inbox__group-label{font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--tg-hint)}.inbox__chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.chip{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-full);background:var(--tg-bg);border:1px solid var(--border);font-size:var(--fs-sm);line-height:1.3;min-height:32px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.chip:active:not(:disabled),.chip--on{background:var(--accent-gradient);color:var(--accent-text);border-color:transparent}.chip:disabled{opacity:.5}.space-list{display:flex;flex-direction:column;overflow:hidden}.space-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);min-height:48px;text-align:left;border-bottom:1px solid var(--border)}.space-row:last-child{border-bottom:none}.space-row--empty{color:var(--tg-hint)}.space-row:active{background:var(--accent-soft)}.space-row__emoji{width:1.5rem;flex-shrink:0}.space-row__title{flex:1;min-width:0}.space-row__count{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--tg-hint)}.space-row__chev{color:var(--tg-hint);font-size:var(--fs-lg);line-height:1}.notes__filters{display:flex;gap:var(--sp-1);overflow-x:auto;padding-bottom:var(--sp-1);scrollbar-width:none}.notes__filters::-webkit-scrollbar{display:none}.notes__filters .chip{flex-shrink:0}.note{display:flex;flex-direction:column;gap:var(--sp-1);text-align:left;padding:var(--sp-3)}.note__title{font-size:var(--fs-md);font-weight:600;line-height:var(--lh-tight);overflow-wrap:anywhere}.note__excerpt{font-size:var(--fs-sm);color:var(--tg-hint);line-height:var(--lh-normal);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--tg-hint)}.subtasks{display:flex;flex-direction:column;gap:var(--sp-2)}.subtasks__bar{height:3px;border-radius:var(--r-full);background:var(--surface-sunken);overflow:hidden}.subtasks__bar span{display:block;height:100%;background:var(--success);transition:width var(--dur) var(--ease)}.subtask{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2)}.subtask__title{flex:1;min-width:0;font-size:var(--fs-md);overflow-wrap:anywhere}.subtask__title--done{text-decoration:line-through;color:var(--tg-hint)}.subtask__remove{flex-shrink:0;width:28px;height:28px;color:var(--tg-hint);font-size:var(--fs-lg);line-height:1}.subtask.subtask--new input{flex:1;min-width:0;width:auto;background:none;border:none;font-size:var(--fs-input);padding:var(--sp-1) 0}.subtask.subtask--new input:focus{box-shadow:none}.subtask--new input::placeholder{color:var(--tg-hint)}.subtask__add{flex-shrink:0;width:28px;height:28px;border-radius:var(--r-full);background:var(--accent-gradient);color:var(--accent-text);font-size:var(--fs-lg);line-height:1}.card__progress{font-variant-numeric:tabular-nums}.fold{display:flex;flex-direction:column;overflow:hidden}.fold__head{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:48px;padding:var(--sp-2) var(--sp-3);text-align:left;transition:background var(--dur) var(--ease)}.fold__head:active{background:var(--accent-soft)}.fold__label{flex-shrink:0;font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--tg-hint)}.fold__value{flex:1;min-width:0;text-align:right;font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fold__chev{flex-shrink:0;color:var(--tg-hint);font-size:var(--fs-lg);line-height:1;transition:transform var(--dur) var(--ease)}.fold--open .fold__chev{color:var(--accent);transform:rotate(90deg)}.fold__body{display:flex;flex-direction:column;gap:var(--sp-3);padding:0 var(--sp-3) var(--sp-3)}.fold__body .field__label{display:none}.fold__body .field{gap:var(--sp-2)}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field__label{font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--tg-hint)}.field--row{flex-direction:row;align-items:center;gap:var(--sp-2)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-1)}.segmented__item{display:flex;flex-direction:column;gap:1px;padding:var(--sp-2) var(--sp-1);border-radius:var(--r-sm);background:var(--surface-sunken);border:1px solid var(--border);font-size:var(--fs-sm);min-height:44px}.segmented__item small{font-size:var(--fs-micro);opacity:.65}.segmented__item--on{background:var(--accent-gradient);color:var(--accent-text);border-color:transparent}.detail__raw{font-size:var(--fs-sm);color:var(--tg-hint)}.detail__raw summary{cursor:pointer}.detail__raw p{margin:var(--sp-2) 0 0;padding:var(--sp-2);border-radius:var(--r-sm);background:var(--surface-sunken);line-height:var(--lh-normal)}.detail__actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.btn{flex:1;min-height:44px;padding:var(--sp-2);font-size:var(--fs-md)}.btn--danger{color:var(--danger);border:1px solid var(--danger)}.btn:disabled{opacity:.5}.detail__toggle{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-md)}.detail__toggle input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;flex-shrink:0;border-radius:var(--r-full);background:var(--surface-sunken);border:1px solid var(--border);position:relative;transition:background var(--dur) var(--ease)}.detail__toggle input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:var(--r-full);background:var(--tg-bg);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease)}.detail__toggle input[type=checkbox]:checked{background:var(--accent-gradient);border-color:transparent}.detail__toggle input[type=checkbox]:checked:before{transform:translate(18px)}.fold__body input[type=date],.fold__body input[type=datetime-local]{background:var(--tg-bg)}:root{--tg-bg: #ffffff;--tg-text: #000000;--tg-hint: #8b8b8f;--tg-link: #2481cc;--tg-button: #2481cc;--tg-button-text: #ffffff;--tg-secondary-bg: #f2f2f7;--tg-section-bg: #ffffff;--tg-separator: rgba(0, 0, 0, .08);--tg-destructive: #e5484d;--surface: var(--tg-section-bg);--surface-sunken: var(--tg-secondary-bg);--border: var(--tg-separator);--danger: var(--tg-destructive);--warning: #e08c00;--success: #2ea043;--accent: #ea580c;--accent-2: #4e342e;--accent-rgb: 234, 88, 12;--accent-2-rgb: 78, 52, 46;--accent-text: #ffffff;--accent-gradient: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);--accent-soft: rgba(var(--accent-rgb), .14);--accent-ring: 0 0 0 3px rgba(var(--accent-rgb), .35);--glow-accent: 0 8px 24px rgba(var(--accent-rgb), .35);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 1px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(0, 0, 0, .1);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .18);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-full: 999px;--fs-xs: 11px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 22px;--fs-input: 16px;--fs-micro: 10px;--lh-tight: 1.25;--lh-normal: 1.45;--tabbar-h: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--z-sheet: 100;--z-tabbar: 50;--dur: .16s;--ease: cubic-bezier(.2, .8, .2, 1)}@media(prefers-reduced-motion:reduce){:root{--dur: 0ms}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:var(--fs-md);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}input:not([type=checkbox]),textarea{display:block;width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-sunken);font-size:var(--fs-input);line-height:var(--lh-normal);-webkit-appearance:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}textarea{resize:vertical}input:not([type=checkbox]):focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--accent-ring)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}button.block:active{transform:scale(.98);box-shadow:none}.block--sunken{background:var(--surface-sunken);border-color:transparent;box-shadow:none}.block--accent{background:var(--accent-gradient);color:var(--accent-text);border:none;box-shadow:var(--shadow-md),var(--glow-accent)}button.block--accent:active{transform:scale(.96);box-shadow:var(--shadow-sm)}.section--card{padding:var(--sp-3);gap:var(--sp-3)}.back{align-self:flex-start;padding:var(--sp-1) var(--sp-2);margin-left:calc(var(--sp-2) * -1);border-radius:var(--r-sm);color:var(--accent);font-size:var(--fs-md);font-weight:600}.back:active{background:var(--accent-soft)}.app{min-height:100vh;padding-top:var(--safe-top)}.screen{padding:var(--sp-3) var(--sp-3) calc(var(--tabbar-h) + var(--safe-bottom) + var(--sp-5));display:flex;flex-direction:column;gap:var(--sp-4)}.screen__title{font-size:var(--fs-xl);font-weight:700;line-height:var(--lh-tight);margin:0}.section{display:flex;flex-direction:column;gap:var(--sp-2)}.section__header{display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tg-hint);padding-inline:var(--sp-1)}.section__count{font-variant-numeric:tabular-nums;opacity:.7}.section__count--alert{color:var(--danger);font-weight:700;opacity:1}.section__header--button{width:100%;background:none;border:none}.status{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--tg-hint)}.status--error{color:var(--danger)}.empty{padding:var(--sp-5) var(--sp-4);text-align:center;color:var(--tg-hint);font-size:var(--fs-sm)}
