@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.end{inset-inline-end:var(--spacing)}.block{display:block}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--color-bg:#0e0e10;--color-surface:#151517;--color-surface-hover:#1c1c1f;--color-surface-border:#2a2a2e;--color-accent:#c9a96e;--color-accent-hover:#d9bb84;--color-accent-muted:#c9a96e26;--color-accent-border:#c9a96e59;--color-text-primary:#f0ece4;--color-text-secondary:#9b9690;--color-text-muted:#5c5a56;--color-text-inverse:#0e0e10;--color-success:#4caf7d;--color-success-muted:#4caf7d26;--color-danger:#e05c5c;--color-danger-muted:#e05c5c26;--color-warning:#e0a94a;--color-warning-muted:#e0a94a26;--shadow-sm:0 2px 8px #0006;--shadow:0 4px 24px #0000008c;--shadow-lg:0 8px 40px #000000b3;--font-heading:"DM Serif Display", Georgia, serif;--font-sans:"DM Sans", system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:3.75rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--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;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--transition-fast:.12s ease;--transition-base:.2s ease;--transition-slow:.35s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:.01em;background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:-.02em;line-height:1.2}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-md)}p{color:var(--color-text-secondary);line-height:1.65}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}code,kbd,pre{font-family:var(--font-mono);font-size:var(--text-sm)}code{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-sm);color:var(--color-accent);padding:2px 6px}#root{flex-direction:column;min-height:100svh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-surface-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-accent-muted);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}.shell{flex-direction:column;min-height:100svh;display:flex}.shell__body{flex:1;padding-top:56px;display:flex}.shell__main{min-width:0;padding:var(--space-8);flex:1;max-width:860px;overflow-y:auto}.navbar{z-index:200;height:56px;padding:0 var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-surface-border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.navbar__left,.navbar__right{align-items:center;gap:var(--space-4);display:flex}.navbar__menu-btn{border:1px solid var(--color-surface-border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:none}.navbar__menu-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.navbar__logo{align-items:center;gap:var(--space-2);-webkit-user-select:none;user-select:none;display:flex}.navbar__logo-mark{font-size:var(--text-lg);color:var(--color-accent);line-height:1}.navbar__logo-text{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:-.03em}.navbar__date{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.02em}.navbar__avatar{border-radius:var(--radius-full);background:var(--color-accent-muted);border:1.5px solid var(--color-accent-border);width:34px;height:34px;color:var(--color-accent);font-family:var(--font-heading);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;font-weight:600;display:flex}.navbar__avatar:hover{background:var(--color-accent-muted);border-color:var(--color-accent)}.navbar__center{padding:0 var(--space-4);flex:1;justify-content:center;display:flex}.search-bar{width:100%;max-width:440px;position:relative}.search-bar__input-wrap{align-items:center;display:flex;position:relative}.search-bar__icon{color:var(--color-text-muted);pointer-events:none;flex-shrink:0;position:absolute;left:10px}.search-bar__input{background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);width:100%;height:34px;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:0 32px}.search-bar__input::placeholder{color:var(--color-text-muted)}.search-bar__input:focus{border-color:var(--color-accent-border);box-shadow:0 0 0 2px var(--color-accent-muted)}.search-bar__input::-webkit-search-cancel-button{display:none}.search-bar__clear{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:7px}.search-bar__clear:hover{color:var(--color-text-primary)}.search-dropdown{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:300;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.search-dropdown__list{max-height:320px;padding:var(--space-1) 0;list-style:none;overflow-y:auto}.search-result{padding:var(--space-2) var(--space-4);cursor:default;transition:background var(--transition-fast)}.search-result:hover{background:var(--color-surface-hover)}.search-result__name{font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:3px;line-height:1.4}.search-result__meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.search-result__source{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:5px;display:flex}.search-result__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.search-result__tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.search-result__tag{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:var(--radius-sm);padding:1px 6px}.search-dropdown__empty{padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.search-dropdown__footer{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--color-surface-border);display:flex}.search-dropdown__footer kbd{font-family:var(--font-mono);background:var(--color-surface-hover);border:1px solid var(--color-surface-border);color:var(--color-text-secondary);border-radius:3px;padding:1px 5px;font-size:10px}.search-highlight{background:var(--color-accent-muted);color:var(--color-accent);border-radius:2px;padding:0 1px;font-style:normal}.notif-bell{position:relative}.notif-bell__btn{border:1px solid var(--color-surface-border);border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex;position:relative}.notif-bell__btn:hover,.notif-bell__btn--open{background:var(--color-surface-hover);border-color:var(--color-accent-border);color:var(--color-text-primary)}.notif-bell__badge{background:var(--color-danger);border:2px solid var(--color-surface);border-radius:var(--radius-full);min-width:16px;height:16px;font-family:var(--font-sans);color:#fff;pointer-events:none;justify-content:center;align-items:center;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:-5px;right:-5px}.notif-dropdown{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);width:316px;box-shadow:var(--shadow-lg);z-index:300;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-dropdown__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-surface-border);justify-content:space-between;align-items:center;display:flex}.notif-dropdown__title{font-size:var(--text-sm);color:var(--color-text-primary);letter-spacing:.01em;font-weight:500}.notif-dropdown__clear{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.notif-dropdown__clear:hover{color:var(--color-text-secondary)}.notif-dropdown__empty{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;display:flex}.notif-list{max-height:380px;list-style:none;overflow-y:auto}.notif-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-surface-border);transition:background var(--transition-fast);display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--color-surface-hover)}.notif-item--unread{background:#c9a96e0d}.notif-item--unread:hover{background:var(--color-surface-hover)}.notif-item__icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;display:flex}.notif-item__icon--task_added{background:var(--color-success-muted);color:var(--color-success)}.notif-item__icon--task_completed{background:var(--color-accent-muted);color:var(--color-accent)}.notif-item__icon--task_uncompleted{background:var(--color-surface-hover);color:var(--color-text-secondary)}.notif-item__icon--task_deleted{background:var(--color-danger-muted);color:var(--color-danger)}.notif-item__body{flex:1;min-width:0}.notif-item__text{-webkit-line-clamp:2;font-size:var(--text-sm);color:var(--color-text-primary);-webkit-box-orient:vertical;margin-bottom:2px;line-height:1.45;display:-webkit-box;overflow:hidden}.notif-item__time{font-size:var(--text-xs);color:var(--color-text-muted)}.notif-item__dismiss{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.notif-item:hover .notif-item__dismiss{opacity:1}.notif-item__dismiss:hover{color:var(--color-text-primary)}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-surface-border);width:240px;height:calc(100svh - 56px);transition:transform var(--transition-base), opacity var(--transition-base);flex-shrink:0;position:sticky;top:56px;overflow:hidden}.sidebar__scroll{height:100%;padding:var(--space-5) var(--space-3) var(--space-6);gap:var(--space-6);flex-direction:column;display:flex;overflow-y:auto}.sidebar__section{flex-direction:column;gap:2px;display:flex}.sidebar__section-label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding:0 var(--space-3);margin-bottom:var(--space-1);font-weight:600}.sidebar__link{align-items:center;gap:var(--space-3);padding:7px var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast);border-left:2px solid #0000;font-weight:450;text-decoration:none;display:flex;position:relative}.sidebar__link:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.sidebar__link--active{background:var(--color-accent-muted);color:var(--color-accent);border-left-color:var(--color-accent);font-weight:500}.sidebar__link--active:hover{color:var(--color-accent-hover)}.sidebar__link-icon{opacity:.75;transition:opacity var(--transition-fast);flex-shrink:0}.sidebar__link:hover .sidebar__link-icon,.sidebar__link--active .sidebar__link-icon{opacity:1}.sidebar__link-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar__badge{border-radius:var(--radius-full);background:var(--color-accent-muted);border:1px solid var(--color-accent-border);min-width:18px;height:18px;color:var(--color-accent);letter-spacing:.02em;text-align:center;transition:background var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;padding:0 5px;font-size:10px;font-weight:600;line-height:18px}.sidebar__link--active .sidebar__badge{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.sidebar__backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:99;position:fixed;inset:56px 0 0}@media (width<=767px){.navbar__menu-btn,.navbar__date{display:none}.navbar__center{padding:0 var(--space-2)}.shell__main{padding:var(--space-5) var(--space-4) calc(var(--space-6) + 60px + env(safe-area-inset-bottom));max-width:none}.stats-row{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(2,1fr)}.stat-card{padding:var(--space-4)}.stat-card__value{font-size:var(--text-2xl)}}@media (width<=480px){.navbar__center{display:none}}.stats-row{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex}.stat-card:hover{border-color:var(--color-accent-border);box-shadow:var(--shadow)}.stat-card__header{align-items:center;gap:var(--space-2);display:flex}.stat-card__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.stat-card__icon--green{background:var(--color-success-muted);color:var(--color-success)}.stat-card__icon--gold{background:var(--color-accent-muted);color:var(--color-accent)}.stat-card__icon--blue{color:#4285f4;background:#4285f41f}.stat-card__icon--orange{color:var(--color-warning);background:#e0a94a1f}.stat-card__label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.stat-card__body{align-items:baseline;gap:var(--space-2);display:flex}.stat-card__value{font-family:var(--font-heading);font-size:var(--text-3xl);color:var(--color-text-primary);letter-spacing:-.03em;line-height:1}.stat-card__sub{font-size:var(--text-xs);color:var(--color-text-muted)}.stat-progress{background:var(--color-surface-hover);border-radius:var(--radius-full);height:6px;position:relative;overflow:hidden}.stat-progress__fill{background:linear-gradient(90deg, var(--color-success) 0%, #6fcf97 100%);border-radius:var(--radius-full);transition:width .9s cubic-bezier(.4,0,.2,1);position:absolute;inset:0 auto 0 0}@keyframes shimmer{0%{transform:translate(-100%)}60%{transform:translate(100%)}to{transform:translate(100%)}}.stat-progress__shimmer{border-radius:var(--radius-full);pointer-events:none;transition:width .9s cubic-bezier(.4,0,.2,1);position:absolute;inset:0 auto 0 0;overflow:hidden}.stat-progress__shimmer:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff38 50%,#0000 100%);animation:1.6s .3s forwards shimmer;position:absolute;inset:0}@media (width<=1024px){.stats-row{grid-template-columns:repeat(2,1fr)}}.task-list-section{gap:var(--space-4);flex-direction:column;display:flex}.task-list-section__header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.task-list-section__title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:-.02em}.filter-chips{align-items:center;gap:var(--space-2);display:flex}.filter-chip{align-items:center;gap:var(--space-2);padding:5px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-surface-border);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;font-weight:500;display:inline-flex}.filter-chip:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.filter-chip--active{background:var(--color-accent-muted);border-color:var(--color-accent-border);color:var(--color-accent)}.filter-chip--active:hover{color:var(--color-accent-hover)}.filter-chip__count{border-radius:var(--radius-full);background:var(--color-surface-hover);min-width:16px;height:16px;color:inherit;transition:background var(--transition-fast);justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:600;display:inline-flex}.filter-chip--active .filter-chip__count{background:var(--color-accent-border)}.task-list{flex-direction:column;gap:2px;list-style:none;display:flex}.task-list-empty{padding:var(--space-10) 0;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.task-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);transition:background var(--transition-fast), border-color var(--transition-fast), opacity .4s ease, transform .3s cubic-bezier(.4, 0, .2, 1);border:1px solid #0000;display:flex;position:relative}.task-item:hover{background:var(--color-surface-hover);border-color:var(--color-surface-border)}.task-item--done{opacity:.45}.task-item--done:hover{opacity:.6}.task-checkbox{border-radius:var(--radius-full);border:1.75px solid var(--color-surface-border);cursor:pointer;width:22px;height:22px;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.task-checkbox:hover{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.task-checkbox--done{background:var(--color-success);border-color:var(--color-success)}.task-checkbox--done:hover{background:var(--color-success);border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-muted)}.task-checkbox__check{stroke:#fff;stroke-width:2px;fill:none;stroke-dasharray:16;stroke-dashoffset:16px;transition:stroke-dashoffset .22s cubic-bezier(.4,0,.2,1) 40ms}.task-checkbox--done .task-checkbox__check{stroke-dashoffset:0}.task-item__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.task-item__name{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;display:inline-block;position:relative;overflow:hidden}.task-item__name:after{content:"";background:var(--color-text-muted);width:0%;height:1.5px;transition:width .28s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:0}.task-item--done .task-item__name:after{width:100%}.task-item--done .task-item__name{color:var(--color-text-muted)}.task-item__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.task-source{color:var(--color-text-muted);align-items:center;gap:5px;font-size:11px;font-weight:500;display:inline-flex}.task-source__dot{border-radius:var(--radius-full);flex-shrink:0;width:7px;height:7px}.task-time{color:var(--color-text-muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.task-meta-divider{color:var(--color-surface-border);font-size:var(--text-xs);-webkit-user-select:none;user-select:none}.task-priority{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;flex-shrink:0;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.task-priority--high{background:var(--color-danger-muted);color:var(--color-danger);border-color:#e05c5c4d}.task-priority--med{background:var(--color-warning-muted);color:var(--color-warning);border-color:#e0a94a4d}.task-priority--low{background:var(--color-surface-hover);border-color:var(--color-surface-border);color:var(--color-text-muted)}.task-item-wrap{border-radius:var(--radius-lg);touch-action:pan-y;position:relative;overflow:hidden}.task-swipe-bg{background:var(--color-danger);border-radius:var(--radius-lg);justify-content:flex-end;align-items:center;gap:var(--space-2);padding-right:var(--space-5);color:#fff;font-size:var(--text-sm);pointer-events:none;opacity:0;font-weight:600;display:flex;position:absolute;inset:0}.task-item--swiping{transition:background var(--transition-fast), border-color var(--transition-fast), opacity .4s ease}@media (width<=600px){.task-list-section__header{flex-direction:column;align-items:flex-start}.task-item{padding:var(--space-3)}.task-time,.task-meta-divider{display:none}}.bottom-tabs{height:60px;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-surface-border);z-index:200;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #0006}.bottom-tab{cursor:pointer;height:100%;color:var(--color-text-muted);font-family:var(--font-sans);-webkit-tap-highlight-color:transparent;transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0;text-decoration:none;display:flex}.bottom-tab:active{color:var(--color-text-secondary)}.bottom-tab--active{color:var(--color-accent)}.bottom-tab__label{letter-spacing:.025em;font-size:10px;font-weight:500}.bottom-tab--add{width:52px;height:44px;margin:0 var(--space-3);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-inverse);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);flex:none;box-shadow:0 4px 14px #c9a96e73}.bottom-tab--add:active{background:var(--color-accent-hover);color:var(--color-text-inverse);transform:scale(.94);box-shadow:0 2px 8px #c9a96e4d}.sidebar__new-task{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1.5px dashed var(--color-accent-border);background:var(--color-accent-muted);color:var(--color-accent);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);font-weight:500;display:flex}.sidebar__new-task:hover{border-color:var(--color-accent);color:var(--color-accent-hover);background:#c9a96e38}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-out{0%{opacity:1}to{opacity:0}}.modal-overlay{z-index:400;padding:var(--space-4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e0e10b8;justify-content:center;align-items:center;animation:.18s forwards overlay-in;display:flex;position:fixed;inset:0}.modal-overlay--out{animation:.22s forwards overlay-out}@keyframes modal-in{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(16px)scale(.97)}}.modal{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-2xl);width:100%;max-width:500px;box-shadow:var(--shadow-lg);animation:.2s cubic-bezier(.34,1.28,.64,1) forwards modal-in;overflow:hidden}.modal--out{animation:.22s forwards modal-out}.modal__header{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-surface-border);justify-content:space-between;align-items:center;display:flex}.modal__title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:-.02em}.modal__close{border-radius:var(--radius-md);border:1px solid var(--color-surface-border);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.modal__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal__form{gap:var(--space-5);padding:var(--space-5) var(--space-6) var(--space-6);flex-direction:column;display:flex}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-field{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.form-required{color:var(--color-danger);margin-left:2px}.form-input{width:100%;padding:9px var(--space-3);background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.form-input--error{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-muted)}.form-error{font-size:var(--text-xs);color:var(--color-danger);font-weight:500}.form-select-wrap{align-items:center;display:flex;position:relative}.form-select{width:100%;padding:9px var(--space-8) 9px var(--space-3);background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);appearance:none;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.form-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.form-select-dot{right:var(--space-3);border-radius:var(--radius-full);pointer-events:none;width:8px;height:8px;transition:background var(--transition-fast);flex-shrink:0;position:absolute}.priority-group{gap:var(--space-2);display:flex}.priority-btn{border-radius:var(--radius-md);border:1px solid var(--color-surface-border);background:var(--color-bg);color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);flex:1;padding:7px 0;font-weight:600}.priority-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.priority-btn--high.priority-btn--active{background:var(--color-danger-muted);color:var(--color-danger);border-color:#e05c5c66}.priority-btn--med.priority-btn--active{background:var(--color-warning-muted);color:var(--color-warning);border-color:#e0a94a66}.priority-btn--low.priority-btn--active{background:var(--color-surface-hover);border-color:var(--color-accent-border);color:var(--color-text-secondary)}.tag-input{align-items:center;gap:var(--space-2);min-height:40px;padding:6px var(--space-3);background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);cursor:text;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-wrap:wrap;display:flex}.tag-input:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.tag-input__field{min-width:80px;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);background:0 0;border:none;outline:none;flex:1}.tag-input__field::placeholder{color:var(--color-text-muted)}.tag-pill{padding:2px 8px 2px var(--space-2);border-radius:var(--radius-full);background:var(--color-accent-muted);border:1px solid var(--color-accent-border);color:var(--color-accent);white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:500;display:inline-flex}.tag-pill__remove{border-radius:var(--radius-full);width:14px;height:14px;color:inherit;cursor:pointer;opacity:.65;transition:opacity var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.tag-pill__remove:hover{opacity:1;background:var(--color-accent-border)}.modal__actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-surface-border);display:flex}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;font-weight:500;display:inline-flex}.btn--ghost{border-color:var(--color-surface-border);color:var(--color-text-secondary);background:0 0}.btn--ghost:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse);font-weight:600}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 0 0 3px var(--color-accent-muted)}.btn--danger{background:var(--color-danger-muted);color:var(--color-danger);border-color:#e05c5c59}.btn--danger:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff;box-shadow:0 0 0 3px var(--color-danger-muted)}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}@media (width<=540px){.modal{border-radius:var(--radius-xl)}.modal__form,.modal__header{padding-left:var(--space-4);padding-right:var(--space-4)}.form-row{grid-template-columns:1fr}}.week-strip{margin-bottom:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.week-strip__month{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.week-strip__days{gap:var(--space-2);grid-template-columns:repeat(7,1fr);display:grid}.week-day{padding:var(--space-3) var(--space-2);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;flex-direction:column;align-items:center;gap:4px;display:flex}.week-day:hover{background:var(--color-surface-hover);border-color:var(--color-surface-border)}.week-day:active{transform:scale(.95)}.week-day__name{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--transition-fast);font-size:10px;font-weight:600}.week-day__num{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text-secondary);transition:color var(--transition-fast);line-height:1}.week-day__dot-row{justify-content:center;align-items:center;height:6px;display:flex}.week-day__dot{border-radius:var(--radius-full);width:5px;height:5px;transition:background var(--transition-fast), transform var(--transition-fast)}.week-day__dot--empty{background:0 0}.week-day--today{border-color:var(--color-accent-border);background:var(--color-accent-muted)}.week-day--today:hover{border-color:var(--color-accent);background:#c9a96e33}.week-day--today .week-day__name,.week-day--today .week-day__num{color:var(--color-accent)}.week-day--active:not(.week-day--today){border-color:var(--color-surface-border);background:var(--color-surface-hover)}.week-day--active:not(.week-day--today) .week-day__name,.week-day--active:not(.week-day--today) .week-day__num{color:var(--color-text-primary)}.week-day--active .week-day__dot:not(.week-day__dot--empty){transform:scale(1.4)}.task-list-section__title-group{align-items:baseline;gap:var(--space-3);display:flex}.task-list-section__clear{font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;text-underline-offset:3px;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.task-list-section__clear:hover{color:var(--color-accent)}@media (width<=480px){.week-strip__days{gap:var(--space-1)}.week-day{padding:var(--space-2) 4px}.week-day__name{font-size:9px}.week-day__num{font-size:var(--text-base)}}.shell__right{border-left:1px solid var(--color-surface-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;width:264px;height:calc(100svh - 56px);display:flex;position:sticky;top:56px;overflow:hidden auto}.events-panel{border-bottom:1px solid var(--color-surface-border);flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.events-panel__header{padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-surface-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.events-panel__title-row{align-items:center;gap:var(--space-2);display:flex}.events-panel__icon{color:var(--color-accent)}.events-panel__title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text-primary);letter-spacing:-.02em}.events-panel__count{border-radius:var(--radius-full);background:var(--color-accent-muted);border:1px solid var(--color-accent-border);min-width:20px;height:20px;color:var(--color-accent);justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.events-panel__body{padding:var(--space-4) var(--space-4) var(--space-6);gap:var(--space-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.events-group{gap:var(--space-2);flex-direction:column;display:flex}.events-group__label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-surface-border);font-weight:600}.event-card{align-items:stretch;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) 0;border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:default;display:flex}.event-card:hover{background:var(--color-surface-hover)}.event-card__bar{border-radius:var(--radius-full);background:var(--event-color,var(--color-accent));flex-shrink:0;align-self:stretch;width:3px;min-height:100%}.event-card__time-col{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;min-width:52px;padding-top:1px;display:flex}.event-card__start{color:var(--color-text-primary);white-space:nowrap;font-size:11px;font-weight:600}.event-card__end{color:var(--color-text-muted);white-space:nowrap;font-size:10px}.event-card__content{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.event-card__title{font-size:var(--text-sm);color:var(--color-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.event-card__meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.event-card__source-dot{border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px}.event-card__source,.event-card__location{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:10px;overflow:hidden}.event-card__meta-sep{color:var(--color-surface-border);-webkit-user-select:none;user-select:none;font-size:10px}@media (width<=1100px){.shell__right{display:none}.shell__main{max-width:none}}.connected-apps{padding:var(--space-4) var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;flex-shrink:0;display:flex}.connected-apps__header{justify-content:space-between;align-items:center;display:flex}.connected-apps__title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text-primary);letter-spacing:-.02em}.connected-apps__meta{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.connected-apps__list{flex-direction:column;gap:2px;display:flex}.app-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);transition:background var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;display:flex}.app-row:hover{background:var(--color-surface-hover);border-color:var(--color-surface-border)}.app-row__icon{border-radius:var(--radius-md);width:32px;height:32px;font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:-.02em;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.app-row__info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.app-row__name{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.app-row__desc{color:var(--color-text-muted);white-space:nowrap;font-size:10px}.app-row__end{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.app-row__count{border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.app-row__status{justify-content:center;align-items:center;width:20px;height:20px;display:flex}.app-row__dot{border-radius:var(--radius-full);background:var(--color-success);width:8px;height:8px;display:block;position:relative}.app-row__dot:after{content:"";border-radius:var(--radius-full);border:1.5px solid var(--color-success);opacity:.35;position:absolute;inset:-3px}.app-row__connect-btn{padding:4px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-surface-border);color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:4px;font-size:10px;font-weight:600;display:inline-flex}.app-row__connect-btn:hover{background:var(--color-accent-muted);border-color:var(--color-accent-border);color:var(--color-accent)}@keyframes spin{to{transform:rotate(360deg)}}.app-row__spinner{color:var(--color-text-muted);flex-shrink:0;animation:.9s linear infinite spin}.app-row--error .app-row__name{color:var(--color-danger)}.app-row__error-label{color:var(--color-danger);font-size:var(--text-xs)}.task-list-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);border-bottom:1px solid var(--color-surface-border);display:flex}.task-list-banner--loading{background:0 0}.task-list-banner__spinner{flex-shrink:0;animation:.9s linear infinite spin}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toaster{bottom:var(--space-6);right:var(--space-6);z-index:500;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:all;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-surface-border);background:var(--color-surface);min-width:280px;max-width:380px;box-shadow:var(--shadow-lg);animation:.22s cubic-bezier(.34,1.28,.64,1) forwards toast-in;display:flex}.toast__icon{flex-shrink:0;margin-top:1px;display:flex}.toast__message{font-size:var(--text-sm);color:var(--color-text-primary);flex:1;line-height:1.45}.toast__close{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;padding:0;display:flex}.toast__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.toast--info .toast__icon{color:#4285f4}.toast--success .toast__icon{color:var(--color-success)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--error .toast__icon{color:var(--color-danger)}.toast--info{border-left:3px solid #4285f4}.toast--success{border-left:3px solid var(--color-success)}.toast--warning{border-left:3px solid var(--color-warning)}.toast--error{border-left:3px solid var(--color-danger)}@media (width<=480px){.toaster{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{min-width:unset;max-width:100%}}.spin{flex-shrink:0;animation:.65s linear infinite spin}.form-input--disabled,.form-input:disabled{opacity:.5;cursor:not-allowed;background:var(--color-surface-hover)}.form-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);display:block}.navbar__avatar-img{border-radius:var(--radius-full);object-fit:cover;width:100%;height:100%;display:block}@keyframes loader-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.app-loader{background:var(--color-bg);justify-content:center;align-items:center;min-height:100svh;display:flex}.app-loader__mark{color:var(--color-accent);-webkit-user-select:none;user-select:none;font-size:2rem;animation:1.6s ease-in-out infinite loader-pulse}.auth-page{min-height:100svh;padding:var(--space-4);background:var(--color-bg);background-image:radial-gradient(80% 40% at 50% 0,#c9a96e17 0%,#0000 100%);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-2xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);overflow:hidden}.auth-header{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6) var(--space-5);flex-direction:column;display:flex}.auth-logo{align-items:center;gap:var(--space-2);-webkit-user-select:none;user-select:none;display:flex}.auth-logo__mark{font-size:var(--text-xl);color:var(--color-accent);line-height:1}.auth-logo__text{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-text-primary);letter-spacing:-.04em}.auth-tagline{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1}.auth-tabs{border-bottom:1px solid var(--color-surface-border);display:flex}.auth-tab{padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;font-weight:500}.auth-tab:hover{color:var(--color-text-secondary)}.auth-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.auth-form{gap:var(--space-4);padding:var(--space-5) var(--space-6);flex-direction:column;display:flex}.auth-password-header{margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.auth-password-header .form-label{margin-bottom:0}.auth-text-btn{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-accent);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.auth-text-btn:hover{color:var(--color-accent-hover)}.auth-back-link{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);text-align:left;background:0 0;border:none;padding:0}.auth-back-link:hover{color:var(--color-text-primary)}.auth-submit{justify-content:center;width:100%;height:40px}.auth-message{font-size:var(--text-sm);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid;line-height:1.5}.auth-message--error{background:var(--color-danger-muted);color:var(--color-danger);border-color:#e05c5c59}.auth-message--success{background:var(--color-success-muted);color:var(--color-success);border-color:#4caf7d59}.auth-divider{align-items:center;gap:var(--space-3);margin:0 var(--space-6);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-surface-border);flex:1;height:1px}.auth-divider span{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.auth-oauth{padding:var(--space-4) var(--space-6) var(--space-6)}.auth-google-btn{justify-content:center;align-items:center;gap:var(--space-3);background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);width:100%;height:40px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);font-weight:500;display:flex}.auth-google-btn:hover{background:var(--color-surface-hover);border-color:var(--color-accent-border);box-shadow:0 0 0 2px var(--color-accent-muted)}.profile-page{max-width:560px}.profile-header{align-items:center;gap:var(--space-5);margin-bottom:var(--space-8);display:flex}.profile-avatar{border-radius:var(--radius-full);background:var(--color-accent-muted);border:2px solid var(--color-accent-border);width:72px;height:72px;color:var(--color-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.profile-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.profile-avatar__initials{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-accent);letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.profile-header__text{min-width:0}.profile-name{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-text-primary);letter-spacing:-.03em;margin-bottom:var(--space-1)}.profile-email{font-size:var(--text-sm);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-section{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.profile-section__title{font-family:var(--font-heading);font-size:var(--text-md);color:var(--color-text-primary);letter-spacing:-.02em;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-surface-border);margin-bottom:var(--space-1)}.profile-section--danger{background:#e05c5c08;border-color:#e05c5c40}.profile-section--danger .profile-section__title{color:var(--color-danger);border-bottom-color:#e05c5c33}.pref-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-1) 0;display:flex}.pref-row__info{flex-direction:column;gap:2px;min-width:0;display:flex}.pref-row__label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.pref-row__desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5}.pref-toggle{border-radius:var(--radius-full);background:var(--color-surface-hover);border:1.5px solid var(--color-surface-border);cursor:pointer;width:42px;height:24px;transition:background var(--transition-base), border-color var(--transition-base);flex-shrink:0;padding:0;position:relative}.pref-toggle--on{background:var(--color-accent);border-color:var(--color-accent)}.pref-toggle__thumb{border-radius:var(--radius-full);background:var(--color-text-muted);width:16px;height:16px;transition:transform var(--transition-base), background var(--transition-base);pointer-events:none;position:absolute;top:2px;left:2px}.pref-toggle--on .pref-toggle__thumb{background:var(--color-text-inverse);transform:translate(18px)}.pref-radio-group{gap:var(--space-5);display:flex}.pref-radio-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.pref-radio{accent-color:var(--color-accent);cursor:pointer;width:15px;height:15px}@media (width<=600px){.auth-card{border-radius:var(--radius-xl)}.auth-header{padding:var(--space-6) var(--space-5) var(--space-4)}.auth-form,.auth-oauth{padding-left:var(--space-4);padding-right:var(--space-4)}.auth-divider{margin-left:var(--space-4);margin-right:var(--space-4)}.profile-section{padding:var(--space-4)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
