.sidebar{width:232px;flex-shrink:0;overflow:hidden;white-space:nowrap;position:sticky;top:0;height:100vh;border-right:1px solid var(--color-line);padding:24px 18px 12px;display:flex;flex-direction:column;transition:width .22s var(--ease-out-quint),padding .22s var(--ease-out-quint)}.sidebar.is-collapsed{width:56px;padding:24px 10px 8px}.sidebar-nav{display:flex;flex-direction:column;flex:1;min-height:0;gap:14px;overflow-y:auto;overflow-x:hidden}.sidebar.is-collapsed .sidebar-nav,.sidebar.is-collapsed .sidebar-group{gap:6px}.sidebar.is-collapsed .sidebar-group .sidebar-label{display:none}.sidebar.is-collapsed .sidebar-link{justify-content:center;padding:8px 0}.sidebar.is-collapsed .sidebar-link .label-text{display:none}.sidebar-top{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:24px}.sidebar.is-collapsed .sidebar-top{justify-content:center;margin-bottom:18px}.sidebar-brand{display:flex;align-items:center;gap:7px;padding:0 6px;min-width:0;overflow:hidden}.sidebar.is-collapsed .sidebar-brand{display:none}.sidebar-brand .mark-inline{width:36px;height:36px;object-fit:contain;flex-shrink:0}.sidebar-brand .name{font-family:var(--font-serif);font-size:20px;font-weight:500;letter-spacing:.02em;line-height:1;flex-shrink:0;padding-top:3px}.sidebar-top-actions{flex-shrink:0;display:flex;align-items:center;gap:-4px}.sidebar-search-btn{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.sidebar-search-btn:hover{border-color:var(--color-line);background:var(--color-surface);color:var(--color-ink)}.sidebar-search-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none}.sidebar-toggle{position:relative;width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.sidebar-toggle:hover{border-color:var(--color-line);background:var(--color-surface);color:var(--color-ink)}.sidebar-toggle svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.5;fill:none}.sidebar-toggle .mark{display:none;width:28px;height:28px;object-fit:contain}.sidebar.is-collapsed .sidebar-toggle{border-color:transparent;background:transparent}.sidebar.is-collapsed .sidebar-toggle .mark{display:block}.sidebar.is-collapsed .sidebar-toggle svg{display:none}.sidebar.is-collapsed .sidebar-toggle:hover .mark{display:none}.sidebar.is-collapsed .sidebar-toggle:hover svg{display:block}.sidebar.is-collapsed .sidebar-toggle:hover{border-color:var(--color-line);background:var(--color-surface)}.sidebar-group{display:flex;flex-direction:column;gap:2px}.sidebar-group.is-closed{margin-bottom:-6px}.sidebar-group .sidebar-label{padding:0 6px 8px}.sidebar-label{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:capitalize;color:var(--color-ink-3)}.sidebar-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:transparent;cursor:pointer;transition:color .15s var(--ease-out-quint)}.sidebar-group-toggle:hover{color:var(--color-ink-3)}.sidebar-group-toggle .sidebar-i{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;opacity:0;transition:transform .15s var(--ease-out-quint),opacity .15s var(--ease-out-quint)}.sidebar-group-toggle:hover .sidebar-i{opacity:1}.sidebar-group-toggle .sidebar-i.is-closed{transform:rotate(-90deg)}.sidebar-link{display:flex;align-items:center;gap:9px;padding:6px 6px 6px 10px;border-radius:8px;font-size:14px;color:var(--color-ink-3);text-decoration:none;background:transparent;text-align:left;cursor:pointer;width:100%;font-family:var(--font-sans);border:none;transition:color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.sidebar-link .sidebar-i{flex-shrink:0;width:17px;height:17px;stroke:currentColor;stroke-width:1.5;fill:none;color:var(--color-ink)}.sidebar-link .label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-link:hover{color:var(--color-ink);background:var(--nav-hover, var(--color-surface))}.sidebar-link:hover .sidebar-i{color:var(--color-ink-3)}.sidebar-link.is-active{color:var(--color-ink);font-weight:500;background:var(--nav-hover, var(--color-selected-bg))}.sidebar-link.is-active .sidebar-i{color:var(--color-ink)}.sidebar-account{position:relative;flex-shrink:0;padding-top:16px;margin-left:-6px;margin-right:-2px}.sidebar.is-collapsed .sidebar-account{padding-top:8px;margin-left:0;margin-right:0}.sidebar-account-row{display:flex;align-items:center;gap:9px;width:100%;background:transparent;border:1px solid transparent;border-radius:6px;font-family:var(--font-sans)}.sidebar.is-collapsed .sidebar-account-row{justify-content:center;padding:10px 0 6px}.sidebar-account-row .avatar{width:34px;height:34px;flex-shrink:0;border:none;border-radius:50%;background:var(--color-ink);color:var(--color-accent-ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:14px;font-weight:500;line-height:1;padding:4px 0 0;cursor:default}.sidebar.is-collapsed .sidebar-account-row .avatar{cursor:pointer}.sidebar-account-row .who{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;text-align:left}.sidebar-account-row .who-name{font-size:12.5px;font-weight:500;line-height:1.3;color:var(--color-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-row .who-email{font-size:10.5px;line-height:1.3;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-row .dots{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:-4px;padding:0;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--color-ink-4);cursor:pointer;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.sidebar-account-row .dots svg{width:16px;height:16px;fill:currentColor}.sidebar-account-row .dots:hover,.sidebar-account-row .dots[aria-expanded=true]{background:var(--color-surface);border-color:var(--color-line);color:var(--color-ink)}.sidebar.is-collapsed .sidebar-account-row .who,.sidebar.is-collapsed .sidebar-account-row .dots{display:none}.sidebar-account-menu{position:fixed;z-index:50;width:184px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;box-shadow:var(--shadow-md);padding:4px;display:flex;flex-direction:column;gap:1px}.sidebar-account-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;font-family:var(--font-sans);font-size:12.5px;color:var(--color-ink);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.sidebar-account-menu-item:hover{background:var(--color-surface)}.sidebar-account-menu-item .sidebar-i{color:var(--color-ink);flex-shrink:0;height:16px;width:16px}.sidebar-account-menu-item:hover .sidebar-i{color:var(--color-ink)}.sidebar-tooltip{position:fixed;z-index:60;transform:translateY(-50%);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-sans);font-size:11.5px;font-weight:500;white-space:nowrap;padding:5px 14px;border-radius:999px;box-shadow:var(--shadow-md);pointer-events:none}@media(prefers-reduced-motion:reduce){.sidebar,.sidebar *{transition-duration:.01ms!important}}.command-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#17140f8c;display:flex;justify-content:center;padding-top:14vh}.command-palette{width:520px;max-width:calc(100vw - 48px);max-height:60vh;display:flex;flex-direction:column;background:var(--color-paper);border:1px solid var(--color-line);border-radius:14px;box-shadow:var(--shadow-md);overflow:hidden;transform-origin:top center}.command-palette-input-row{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--color-line-soft)}.command-palette-input-icon{flex-shrink:0;width:16px;height:16px;stroke-width:1.5;color:var(--color-ink-4)}.command-palette-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:var(--font-sans);font-size:14px;color:var(--color-ink)}.command-palette-input::placeholder{color:var(--color-ink-5)}.command-palette-esc{flex-shrink:0;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px;padding:2px 6px}.command-palette-results{overflow-y:auto;padding:8px}.command-palette-empty{padding:20px 10px;text-align:center;font-size:13px;color:var(--color-ink-4)}.command-palette-group+.command-palette-group{margin-top:10px}.command-palette-group-label{padding:6px 8px 4px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4)}.command-palette-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--color-ink-2);font-family:var(--font-sans);font-size:13.5px;cursor:pointer}.command-palette-item.is-active{background:var(--color-surface);color:var(--color-ink)}.command-palette-item-icon{flex-shrink:0;width:16px;height:16px;stroke-width:1.5;color:var(--color-ink-3)}.command-palette-item.is-active .command-palette-item-icon{color:var(--color-ink)}.command-palette-footer{flex-shrink:0;display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--color-line-soft);font-size:11px;color:var(--color-ink-4)}.command-palette-footer kbd{font-family:var(--font-mono);font-size:10px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px;padding:1px 5px;margin-right:2px}@media(prefers-reduced-motion:reduce){.command-palette{transition:none}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--color-paper)}.login-card{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center}.login-logo{width:88px;height:auto;opacity:.45}.login-wordmark{margin-top:14px;font-family:var(--font-serif);font-size:46px;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--color-ink)}.login-sub{margin-top:10px;font-size:13px;color:var(--color-ink-4)}.login-form{width:100%;margin-top:30px}.login-label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.login-label+.login-input,.login-label+.login-password{margin-bottom:16px}.login-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:8px;padding:10px 12px;font-size:13.5px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none;transition:border-color .15s var(--ease-out-quint)}.login-input:focus{border-color:var(--color-ink-4)}.login-password{position:relative}.login-password .login-input{padding-right:38px}.login-reveal{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);border-radius:6px;cursor:pointer;transition:color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.login-reveal:hover{color:var(--color-ink);background:var(--color-surface)}.login-reveal svg{width:15px;height:15px}.login-error{margin-bottom:14px;font-size:12.5px;line-height:1.5;color:#b65c4e}.login-submit{width:100%;font-size:13px;font-weight:500;font-family:var(--font-sans);color:var(--color-paper);background:var(--color-ink);border:none;border-radius:8px;padding:11px 16px;cursor:pointer;transition:opacity .15s var(--ease-out-quint)}.login-submit:disabled{opacity:.35;cursor:default}.login-submit:not(:disabled):hover{opacity:.86}.login-note{margin-top:20px;font-size:11.5px;line-height:1.6;text-align:center;color:var(--color-ink-4)}.login-note code{font-family:var(--font-mono);font-size:10.5px;color:var(--color-ink-3)}.today{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:56px;padding:0 40px;transition:padding-left .22s var(--ease-out-quint)}body.sidebar-collapsed .today{padding-left:72px}.today-main{min-width:0;padding-bottom:40px}.today-header{padding-top:56px}.today-date{color:var(--color-accent-strong)}.today-title{margin-top:10px;font-family:var(--font-serif);font-size:44px;line-height:1.03;font-weight:300;letter-spacing:-.03em}.today-stats{margin-top:12px;font-size:13px;color:var(--color-ink-3)}.today-journal{border-bottom:1px solid var(--color-line);padding:36px 0}.today-journal-editor{min-height:180px;outline:none}.today-journal-editor:empty:before{content:attr(data-placeholder);color:var(--color-ink-3);font-style:italic}.today-journal-actions{margin-top:24px;display:flex;align-items:center;gap:6px}.today-chip{border-radius:6px;border:1px solid transparent;padding:4px 10px;font-size:12px;color:var(--color-ink-3);background:transparent;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.today-chip:hover{border-color:var(--color-line);color:var(--color-ink-2)}.today-chip-adder{display:inline-flex;align-items:center;gap:6px}.today-chip-input{width:110px;border:none;border-bottom:1px solid var(--color-line);background:transparent;padding:4px 2px;font-size:12px;font-family:var(--font-sans);color:var(--color-ink);outline:none}.today-chip-added{border-color:var(--color-line);color:var(--color-ink-2)}.today-mood{position:relative;display:inline-flex}.today-mood-options{position:absolute;top:calc(100% + 6px);left:0;z-index:10;display:flex;gap:2px;padding:4px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:8px;box-shadow:var(--shadow-md)}.today-mood-option{border:1px solid transparent;border-radius:6px;padding:4px 6px;font-size:14px;background:transparent;cursor:pointer;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.today-mood-option:hover{background:var(--color-surface)}.today-mood-option.is-selected{border-color:var(--color-line);background:var(--color-selected-bg)}.today-saved-at{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-3)}.today-saved{padding-top:36px}.today-saved-head{margin-bottom:4px;display:flex;align-items:baseline;gap:10px}.today-saved-title{font-size:13px;font-weight:600;letter-spacing:-.01em}.today-saved-count{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-3)}.today-see-all{margin-left:auto;font-size:12px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.today-see-all:hover{color:var(--color-ink)}.today-entry{display:flex;width:100%;align-items:flex-start;gap:14px;border-radius:6px;border:none;border-bottom:1px solid var(--color-line);margin:0 -10px;padding:16px 10px;text-align:left;background:transparent;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint)}.today-entry:hover{background:var(--entry-hover, var(--color-surface))}.today-entry-time{width:38px;flex-shrink:0;padding-top:3px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-3)}.today-entry-thumb{display:flex;height:44px;width:76px;flex-shrink:0;align-items:center;justify-content:center;border-radius:4px;border:1px solid var(--color-line);background:var(--color-surface-2)}.today-entry-thumb svg{height:12px;width:12px;fill:var(--color-ink-3);stroke:none}.today-entry-body{min-width:0;flex:1}.today-entry-title{display:block;font-size:14.5px;font-weight:500;letter-spacing:-.012em;color:var(--color-ink);transition:color .15s var(--ease-out-quint)}.today-entry:hover .today-entry-title{color:var(--color-ink-2)}.today-entry-sub{margin-top:3px;display:block;font-size:12.5px;color:var(--color-ink-3)}.today-entry-tags{margin-top:8px;display:flex;gap:10px}.today-entry-tag{font-size:11px;color:var(--color-ink-3)}.today-entry-tag .hash{opacity:.5}.today-entry-type{flex-shrink:0;padding-top:4px;font-size:9px}.today-rail{position:sticky;top:0;align-self:start;padding-top:40px}.today-rail-section{margin-bottom:34px}.today-rail-section-head{margin-bottom:14px;display:flex;align-items:baseline;justify-content:space-between}.today-rail-section-title{font-size:13px;font-weight:600;letter-spacing:-.01em}.today-rail-section-meta{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-3)}.today-habit{display:flex;width:100%;align-items:center;gap:11px;padding:10px 0;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--color-line-soft);cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.today-habit:last-child{border-bottom:none}.today-habit:hover{opacity:.7}.today-habits-more{margin-top:10px;font-size:11.5px;color:var(--color-ink-3);background:transparent;border:none;padding:0;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.today-habits-more:hover{color:var(--color-ink)}.today-habit-check{display:flex;height:16px;width:16px;flex-shrink:0;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--color-line);background:transparent;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.today-habit-check svg{height:10px;width:10px;stroke-width:3;color:var(--color-paper)}.today-habit-name{font-size:12.5px;color:var(--color-ink-3)}.today-habit-name.is-done{color:var(--color-ink)}.today-habit-streak{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-3)}.today-heatmap{display:flex;gap:3px}.today-heatmap-week{display:flex;flex-direction:column;gap:3px}.today-heatmap-cell{height:9px;width:9px;border-radius:2px}.today-heatmap-legend{margin-top:12px;display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9.5px;color:var(--color-ink-3)}.today-heatmap-swatch{height:7px;width:7px;border-radius:2px}.today-onthisday{margin-top:-16px;border-top:1px solid var(--color-line);padding-top:14px}.today-onthisday-card{position:relative;width:100%;aspect-ratio:594 / 723;background-size:100% 100%;background-repeat:no-repeat;box-sizing:border-box;padding:21% 12% 23%;display:flex;flex-direction:column}.today-onthisday-expand{position:absolute;top:11.5%;right:13.5%;width:13px;height:13px;padding:0;border:none;background:transparent;opacity:.5;transition:opacity .15s var(--ease-out-quint);cursor:pointer}.today-onthisday-expand img{width:100%;height:100%;display:block;pointer-events:none}.today-onthisday-expand:hover{opacity:.85}.today-onthisday-date{font-size:9px}.today-onthisday-quote{margin-top:10px;font-family:var(--font-serif);font-size:12.5px;line-height:1.5;color:var(--color-ink-2)}.today-onthisday-link{margin-top:auto;align-self:flex-start;font-size:11px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.today-onthisday-link:hover{color:var(--color-ink)}.habit-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.habit-dialog{width:340px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.habit-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.habit-dialog-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.habit-dialog-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.habit-dialog-close:hover{background:var(--color-surface);color:var(--color-ink)}.habit-dialog-close svg{width:15px;height:15px}.habit-dialog-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.habit-dialog-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none;margin-bottom:18px}.habit-dialog-input:focus{border-color:var(--color-ink-4)}.habit-dialog-textarea{resize:none;font-family:var(--font-sans);line-height:1.4}.habit-dialog-swatches{display:flex;gap:8px;margin-bottom:20px}.habit-dialog-swatch{width:24px;height:24px;border-radius:999px;border:2px solid transparent;cursor:pointer;padding:0}.habit-dialog-swatch.is-selected{border-color:var(--color-ink)}.habit-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.habit-dialog-delete{margin-right:auto;font-size:12px;color:#b65c4e;background:transparent;border:none;cursor:pointer;font-family:var(--font-sans)}.habit-dialog-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.habit-dialog-save:disabled{opacity:.4;cursor:default}.habit-dialog-save:not(:disabled):hover{opacity:.85}.habits{max-width:1180px;margin:0 auto;padding:56px 40px 96px}.habits-header{margin-bottom:32px}.habits-header-row{display:flex;align-items:center;justify-content:space-between}.habits-add{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:6px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.habits-add svg{width:13px;height:13px}.habits-add:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.habits-hero{margin-top:10px;font-family:var(--font-serif);font-size:40px;line-height:1.08;font-weight:300;letter-spacing:-.02em;color:var(--color-ink)}.habits-hero-number{font-weight:500}.habits-meta{margin-top:10px;font-size:13px;color:var(--color-ink-3)}.habits-bento{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:168px;gap:28px}.habit-ring-tile{position:relative;border:1px solid var(--color-line-soft);border-radius:20px;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:transparent;cursor:pointer;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.habit-ring-tile:hover{border-color:var(--color-line);background:var(--tile-hover, var(--color-surface))}.habit-ring-tile.is-hero{grid-column:span 2;grid-row:span 2}.habit-ring-edit{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;opacity:0;transition:opacity .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.habit-ring-tile:hover .habit-ring-edit,.habit-ring-edit:focus-visible{opacity:1}.habit-ring-edit svg{width:12px;height:12px}.habit-ring-edit:hover{background:var(--color-surface);color:var(--color-ink)}.habit-ring-dial{position:relative;display:flex}.habit-ring-toggle{position:absolute;right:-2px;bottom:-2px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid var(--color-line);background:var(--color-paper);cursor:pointer;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.habit-ring-toggle.is-small{width:18px;height:18px}.habit-ring-toggle svg{width:13px;height:13px;stroke-width:3;color:var(--color-paper)}.habit-ring-toggle.is-small svg{width:10px;height:10px}.habit-ring-name{margin-top:12px;font-size:13px;font-weight:500;color:var(--color-ink)}.habit-ring-tile.is-hero .habit-ring-name{margin-top:14px;font-size:14px}.habit-ring-label{margin-top:3px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-3)}.habit-ring-strip{margin-top:14px;display:flex;gap:3px}.habit-ring-strip-cell{width:8px;height:8px;border-radius:2px}.habit-detail{max-width:1180px;margin:0 auto;padding:40px 40px 96px}.habit-detail-topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px}.habit-detail-back{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:transparent;border:none;padding:0;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.habit-detail-back svg{width:14px;height:14px}.habit-detail-back:hover{color:var(--color-ink)}.habit-detail-actions{display:flex;align-items:center;gap:8px}.habit-detail-edit-btn,.habit-detail-delete-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.habit-detail-edit-btn:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.habit-detail-delete-btn{color:#b65c4e}.habit-detail-delete-btn:hover{background:#fbedea;border-color:#b65c4e}.habit-detail-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.habit-detail-body{margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.habit-detail-main,.habit-detail-rail{display:flex;flex-direction:column;gap:28px}.habit-detail-card{border:1px solid var(--color-line-soft);border-radius:18px;background:var(--color-paper);box-shadow:var(--shadow-sm);padding:32px}.habit-detail-hero{display:flex;align-items:center;gap:40px}.habit-detail-dial{position:relative;flex-shrink:0}.habit-detail-ring-sublabel{position:absolute;top:50%;left:0;right:0;margin-top:22px;text-align:center;font-size:12.5px;color:var(--color-ink-4)}.habit-detail-toggle{position:absolute;right:0;bottom:2px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid var(--color-line);background:var(--color-paper);cursor:pointer;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.habit-detail-toggle svg{width:16px;height:16px;stroke-width:3;color:var(--color-paper)}.habit-detail-info{flex:1;min-width:0}.habit-detail-name{font-family:var(--font-serif);font-size:30px;font-weight:300;letter-spacing:-.02em}.habit-detail-badge{margin-top:10px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:5px 11px;border-radius:999px}.habit-detail-badge svg{width:12px;height:12px}.habit-detail-meta{margin-top:14px;font-size:13.5px;color:var(--color-ink-2)}.habit-detail-note{margin-top:10px;max-width:42ch;font-family:var(--font-serif);font-style:italic;font-size:13.5px;line-height:1.4;color:var(--color-ink-3)}.habit-detail-runs{position:relative;z-index:3}.habit-detail-runs-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.habit-detail-runs-title{display:flex;align-items:center;gap:6px}.habit-detail-info-icon{color:var(--color-ink-5);cursor:help}.habit-detail-range-wrap{position:relative}.habit-detail-range{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:12px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:8px;padding:6px 10px 6px 12px;cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.habit-detail-range:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.habit-detail-range svg{color:var(--color-ink-4)}.habit-detail-range-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:160px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:10px;box-shadow:var(--shadow-md);padding:6px}.habit-detail-range-option{width:100%;text-align:left;font-size:12.5px;color:var(--color-ink-3);background:transparent;border:none;border-radius:6px;padding:8px 10px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.habit-detail-range-option:hover{background:var(--color-surface);color:var(--color-ink)}.habit-detail-range-option.is-selected{color:var(--color-ink);font-weight:500;background:var(--color-surface)}.habit-detail-runs-plot-wrap{margin-top:22px;display:flex;gap:12px;height:168px}.habit-detail-runs-yaxis{flex-shrink:0;width:26px;display:flex;flex-direction:column;justify-content:space-between;text-align:right}.habit-detail-runs-ytick{font-family:var(--font-mono);font-size:9.5px;color:var(--color-ink-5);transform:translateY(-50%)}.habit-detail-runs-plot{position:relative;flex:1}.habit-detail-runs-gridlines{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.habit-detail-runs-gridline{height:0;border-top:1px dashed var(--color-line-soft)}.habit-detail-runs-chart{position:relative;height:100%;display:flex;align-items:flex-end;gap:5px}.habit-detail-run-bar-wrap{position:relative;flex:1 1 0;min-width:5px;max-width:20px;height:100%;display:flex;align-items:flex-end}.habit-detail-run-bar-wrap:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--color-ink-2);opacity:0;transition:opacity .12s var(--ease-out-quint);pointer-events:none;z-index:5}.habit-detail-run-bar-wrap:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--color-ink-2);color:var(--color-paper);font-size:11px;padding:4px 9px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s var(--ease-out-quint),transform .12s var(--ease-out-quint);z-index:5}.habit-detail-run-bar-wrap:hover:before,.habit-detail-run-bar-wrap:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.habit-detail-run-bar{width:100%;border-radius:3px 3px 0 0;opacity:.85}.habit-detail-run-peak{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:10px;color:var(--color-ink-3);white-space:nowrap}.habit-detail-runs-xaxis{margin-top:8px;margin-left:38px;display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9.5px;color:var(--color-ink-5)}.habit-detail-runs-caption{margin-top:20px;font-size:12.5px;color:var(--color-ink-3)}.habit-detail-milestones{position:relative;margin-top:22px;padding-top:8px;display:flex;justify-content:space-between}.habit-detail-milestones:before{content:"";position:absolute;top:18px;left:9px;right:9px;height:2px;background:linear-gradient(to right,var(--habit-color) 0%,var(--habit-color) var(--progress),var(--color-line) var(--progress),var(--color-line) 100%)}.habit-detail-milestone-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px}.habit-detail-milestone-dot{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--color-paper);border:2px solid var(--color-line);color:var(--color-paper)}.habit-detail-milestone-dot.is-reached{border-color:transparent}.habit-detail-milestone-num{margin-top:2px;font-size:12px;font-weight:500;color:var(--color-ink-2)}.habit-detail-milestone-unit{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.02em;color:var(--color-ink-5)}.habit-detail-rhythm-chart{margin-top:22px;height:150px;display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid var(--color-line-soft);padding-bottom:1px}.habit-detail-rhythm-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.habit-detail-rhythm-track{height:100%;width:14px;display:flex;align-items:flex-end;border-radius:999px 999px 0 0;background:var(--color-surface-2);overflow:hidden}.habit-detail-rhythm-fill{width:100%;border-radius:999px 999px 0 0;background-image:linear-gradient(180deg,#ffffff8c,#fff0 40%)}.habit-detail-rhythm-day{font-family:var(--font-mono);font-size:9.5px;color:var(--color-ink-4)}.habit-detail-rail-caption{margin-top:16px;font-size:12.5px;color:var(--color-ink-3)}.habit-detail-momentum-row{margin-top:22px;display:flex;align-items:center;justify-content:space-between}.habit-detail-momentum-side{display:flex;flex-direction:column;align-items:center;gap:4px}.habit-detail-momentum-pct{font-family:var(--font-serif);font-size:22px;font-weight:500;color:var(--color-ink)}.habit-detail-momentum-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-4)}.habit-detail-momentum-dial{position:relative;display:flex;align-items:center;justify-content:center}.habit-detail-momentum-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-ink-4)}@media(max-width:860px){.habit-detail-body{grid-template-columns:1fr}.habit-detail-hero{flex-direction:column;text-align:center}.habit-detail-info{display:flex;flex-direction:column;align-items:center}}.habit-detail-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.habit-detail-confirm{width:340px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:24px;transform-origin:center}.habit-detail-confirm-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.habit-detail-confirm-body{margin-top:8px;font-size:13px;line-height:1.5;color:var(--color-ink-3)}.habit-detail-confirm-actions{margin-top:20px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.habit-detail-confirm-cancel{font-size:12.5px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:6px;padding:7px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.habit-detail-confirm-cancel:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.habit-detail-confirm-delete{font-size:12.5px;font-weight:500;color:var(--color-paper);background:#b65c4e;border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.habit-detail-confirm-delete:hover{opacity:.85}.notes-screen{position:relative;height:100%;overflow:hidden}.notes-viewport{position:relative;height:100%;width:100%;overflow:hidden;cursor:grab;background:var(--color-surface)}.notes-viewport.is-panning{cursor:grabbing}.notes-world{position:absolute;top:0;left:0;transform-origin:0 0;background-image:radial-gradient(var(--color-line) 1px,transparent 1px);background-size:28px 28px}.note{position:absolute;box-sizing:border-box;padding:16px;border-radius:2px;box-shadow:var(--shadow-md);cursor:grab;touch-action:none}.note.is-dragging{cursor:grabbing;box-shadow:0 24px 48px -20px #17140f66}.note-text{width:100%;height:100%;resize:none;border:none;outline:none;background:transparent;overflow-y:auto;font-family:var(--font-sans);font-size:14px;line-height:1.4;color:var(--color-ink)}.note-text::placeholder{color:#17140fb3}.notes-fab{position:absolute;right:32px;bottom:32px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:var(--color-ink);color:var(--color-paper);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .15s var(--ease-out-quint),box-shadow .15s var(--ease-out-quint)}.notes-fab:hover{transform:scale(1.06);box-shadow:var(--shadow-gold)}.notes-fab svg{width:22px;height:22px;stroke-width:2}.notes-zoom{position:absolute;left:32px;bottom:32px;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:var(--color-paper);border:1px solid var(--color-line);box-shadow:var(--shadow-md)}.notes-zoom button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:999px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.notes-zoom button:hover{background:var(--color-surface-2);color:var(--color-ink)}.notes-zoom button svg{width:16px;height:16px;stroke-width:2}.notes-zoom-level{min-width:40px;text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--color-ink-3)}.notes-trash-link{position:absolute;bottom:32px;left:164px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:999px;padding:12px;text-decoration:none;font-family:var(--font-sans);box-shadow:var(--shadow-md);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.notes-trash-link:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.notes-trash-link svg{width:15px;height:15px}.notes-trash{position:absolute;left:50%;bottom:28px;transform:translate(-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink-3);box-shadow:var(--shadow-md);z-index:9999;animation:notes-trash-in .15s var(--ease-out-quint);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),transform .15s var(--ease-out-quint)}.notes-trash.is-active{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink);transform:translate(-50%) scale(1.12)}.notes-trash svg{width:26px;height:26px;stroke-width:1.75}@keyframes notes-trash-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#17140fb3;display:flex;align-items:center;justify-content:center}.confirm-dialog{width:340px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.confirm-dialog-title{font-family:var(--font-serif);font-size:17px;font-weight:400;color:var(--color-ink)}.confirm-dialog-message{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--color-ink-3)}.confirm-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px}.confirm-dialog-cancel{font-size:12.5px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.confirm-dialog-cancel:hover{border-color:var(--color-ink-4)}.confirm-dialog-confirm{font-size:12.5px;font-weight:500;color:var(--color-paper);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.confirm-dialog-confirm.is-danger{background:#b65c4e}.confirm-dialog-confirm.is-neutral{background:var(--color-ink)}.confirm-dialog-confirm:hover{opacity:.85}.notes-trash-back{position:absolute;top:32px;left:32px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:999px;padding:13px;cursor:pointer;font-family:var(--font-sans);box-shadow:var(--shadow-md);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.notes-trash-back:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.notes-trash-back svg{width:15px;height:15px}.notes-trash-title-chip{position:absolute;top:32px;left:50%;transform:translate(-50%);font-family:var(--font-serif);font-size:15px;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:999px;padding:10px 18px;box-shadow:var(--shadow-md)}.notes-trash-count-chip{position:absolute;top:32px;right:32px;font-size:12px;color:var(--color-ink-4);background:var(--color-paper);border:1px solid var(--color-line);border-radius:999px;padding:10px 16px;box-shadow:var(--shadow-md)}.notes-trash-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-ink-4);font-size:13.5px;pointer-events:none}.notes-trash-note-text{padding-bottom:20px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.notes-trash-note-purge{position:absolute;left:16px;bottom:12px;font-family:var(--font-mono);font-size:10px;color:#17140f8c}.notes-trash-note-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .15s var(--ease-out-quint)}.note:hover .notes-trash-note-actions{opacity:1}.notes-trash-note-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:999px;background:#17140f8c;color:var(--color-paper);cursor:pointer}.notes-trash-note-actions button:hover{background:#17140fcc}.notes-trash-note-actions button.is-danger:hover{background:#b65c4e}.notes-trash-note-actions svg{width:13px;height:13px}.multi-select{position:relative}.multi-select-trigger{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--color-ink-3);background:transparent;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.multi-select-trigger:hover{color:var(--color-ink);background:var(--color-surface)}.multi-select-trigger.has-selection{color:var(--color-ink);background:var(--color-surface);font-weight:500}.multi-select-chevron{width:12px;height:12px;color:var(--color-ink-4);transition:transform .15s var(--ease-out-quint)}.multi-select-chevron.is-open{transform:rotate(180deg)}.multi-select-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:170px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:8px;box-shadow:var(--shadow-md);padding:4px}.multi-select-menu.is-upward{top:auto;bottom:calc(100% + 6px)}.multi-select-option{display:flex;align-items:center;gap:9px;width:100%;white-space:nowrap;font-size:12.5px;color:var(--color-ink-2);background:transparent;border:none;border-radius:5px;padding:7px 10px;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint)}.multi-select-option:hover{background:var(--color-surface)}.multi-select-option.is-selected{color:var(--color-ink);font-weight:500}.multi-select-checkbox{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;border:1px solid var(--color-line);border-radius:4px;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.multi-select-checkbox.is-checked{background:var(--color-ink);border-color:var(--color-ink)}.multi-select-checkbox svg{width:10px;height:10px;color:var(--color-paper);stroke-width:3}.multi-select-create{display:flex;align-items:center;gap:9px;padding:3px 10px}.multi-select-create-commit{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;border:1px solid var(--color-line);border-radius:4px;background:transparent;color:transparent;cursor:pointer;padding:0;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.multi-select-create-commit.is-ready{border-color:var(--color-ink);color:var(--color-paper);background:var(--color-ink)}.multi-select-create-commit:disabled{cursor:default}.multi-select-create-commit svg{width:10px;height:10px;stroke-width:3}.multi-select-create-input{flex:1;min-width:0;font-size:12.5px;color:var(--color-ink);background:transparent;border:none;outline:none;padding:4px 0;font-family:var(--font-sans)}.multi-select-create-input::placeholder{color:var(--color-ink-4)}.multi-select-create-input:focus,.multi-select-create-input:focus-visible{outline:none;border-radius:0}.multi-select-clear{display:block;width:100%;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);background:transparent;border:none;border-radius:5px;padding:6px 10px;cursor:pointer;text-align:left;margin-bottom:2px;transition:color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.multi-select-clear:hover{color:var(--color-ink);background:var(--color-surface)}.date-filter{position:relative}.date-filter-trigger{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:transparent;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.date-filter-trigger:hover{color:var(--color-ink);background:var(--color-surface)}.date-filter-trigger.has-value{color:var(--color-ink);background:var(--color-surface);font-weight:500}.date-filter-icon{width:13px;height:13px;color:var(--color-ink-4)}.date-filter-chevron{width:12px;height:12px;color:var(--color-ink-4);transition:transform .15s var(--ease-out-quint)}.date-filter-chevron.is-open{transform:rotate(180deg)}.date-filter-menu{position:absolute;top:calc(100% + 14px);right:0;z-index:30;width:292px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:10px;box-shadow:var(--shadow-md);padding:10px}.date-filter-preset-row-top{display:flex;gap:8px}.date-filter-preset-row-bottom{display:flex;justify-content:space-between;gap:0px}.date-filter-option-top{flex:1;font-size:10px;color:var(--color-ink-2);background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:7px 4px;cursor:pointer;text-align:center;white-space:nowrap;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.date-filter-option-bottom{font-size:11px;color:var(--color-ink-2);background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:7px 12px;cursor:pointer;text-align:center;white-space:nowrap;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.date-filter-option-top:hover,.date-filter-option-bottom:hover{background:var(--color-surface-2);border-color:var(--color-line)}.date-filter-option-top.is-selected,.date-filter-option-bottom.is-selected{color:var(--color-paper);font-weight:500;background:var(--color-ink);border-color:var(--color-ink)}.date-filter-divider{height:.25px;background:var(--color-line-soft);margin:8px 2px}.date-calendar{padding:2px 4px 4px}.date-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.date-calendar-month{font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;color:var(--color-ink-2)}.date-calendar-nav-btns{display:flex;gap:2px}.date-calendar-nav-btns button{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:5px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.date-calendar-nav-btns button:hover{background:var(--color-surface);color:var(--color-ink)}.date-calendar-nav-btns button svg{width:13px;height:13px}.date-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.date-calendar-weekdays span{display:flex;align-items:center;justify-content:center;height:22px;font-family:var(--font-mono);font-size:9.5px;color:var(--color-ink-5)}.date-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-calendar-cell{display:flex;align-items:center;justify-content:center;height:26px;border:none;background:transparent;border-radius:6px;font-size:11.5px;font-family:var(--font-sans);color:var(--color-ink-2);cursor:pointer;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.date-calendar-cell:hover{background:var(--color-surface)}.date-calendar-cell.is-muted{color:var(--color-ink-5)}.date-calendar-cell.is-today{color:var(--color-doc);font-weight:600}.date-calendar-cell.is-in-range{background:var(--color-surface);border-radius:0}.date-calendar-cell.is-endpoint{background:var(--color-ink);color:var(--color-paper);font-weight:500}.ui-select{position:relative}.ui-select-trigger{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-2);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:6px 10px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.ui-select-trigger:hover{border-color:var(--color-ink-4)}.ui-select.ghost .ui-select-trigger{color:var(--color-ink-3);background:transparent;border:none;transition:color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.ui-select.ghost .ui-select-trigger:hover{color:var(--color-ink);background:var(--color-surface)}.ui-select.ghost.has-selection .ui-select-trigger{color:var(--color-ink);background:var(--color-surface);font-weight:500}.ui-select-chevron{width:12px;height:12px;color:var(--color-ink-4);transition:transform .15s var(--ease-out-quint)}.ui-select-chevron.is-open{transform:rotate(180deg)}.ui-select-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:100%;background:var(--color-paper);border:1px solid var(--color-line);border-radius:8px;box-shadow:var(--shadow-md);padding:4px}.ui-select-menu.is-upward{top:auto;bottom:calc(100% + 6px)}.ui-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;white-space:nowrap;font-size:12.5px;color:var(--color-ink-2);background:transparent;border:none;border-radius:5px;padding:7px 10px;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint)}.ui-select-option:hover{background:var(--color-surface)}.ui-select-option.is-selected{color:var(--color-ink);font-weight:500}.ui-select-check{width:12px;height:12px;flex-shrink:0}.add-link-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.add-link-dialog{width:380px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.add-link-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-link-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.add-link-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.add-link-close:hover{background:var(--color-surface);color:var(--color-ink)}.add-link-close svg{width:15px;height:15px}.add-link-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.add-link-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.add-link-input:focus{border-color:var(--color-ink-4)}.add-link-error{margin:8px 0 0;font-size:12px;color:#b65c4e}.add-link-dialog .multi-select{display:block}.add-link-dialog .multi-select-trigger{width:100%;box-sizing:border-box;justify-content:space-between;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px}.add-link-dialog .multi-select-trigger:hover,.add-link-dialog .multi-select-trigger.has-selection{background:transparent;border-color:var(--color-ink-4)}.add-link-dialog .multi-select-menu{left:0;right:0;width:auto}.add-link-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:18px}.add-link-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.add-link-save:disabled{opacity:.4;cursor:default}.add-link-save:not(:disabled):hover{opacity:.85}.links{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.links-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.links-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.links-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.links-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.links-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);font-weight:500}.links-header-action svg{width:13px;height:13px}.links-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.links-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.links-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.links-search{display:flex;align-items:center;gap:9px;flex:1 1 260px;max-width:360px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.links-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.links-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.links-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.links-toolbar-spacer{flex:1 0 12px}.links-toolbar-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--color-line-soft)}.links-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.links-filters-group .multi-select,.links-filters-group .date-filter{display:flex}.links-filters-group .multi-select-trigger,.links-filters-group .date-filter-trigger{height:100%;box-sizing:border-box;border-radius:6px}.links-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.links-layout-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px}.links-layout-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:4px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.links-layout-btn svg{width:13px;height:13px}.links-layout-btn:hover{color:var(--color-ink)}.links-layout-btn.is-active{background:var(--color-surface-2);color:var(--color-ink)}.links-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}.links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.link-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;border:1px solid var(--color-line);border-radius:12px;padding:18px;background:var(--color-paper);cursor:pointer;font-family:var(--font-sans);box-shadow:var(--shadow-sm);transition:border-color .18s var(--ease-out-quint),box-shadow .18s var(--ease-out-quint),transform .18s var(--ease-out-quint)}.link-card:hover{border-color:var(--color-ink-4);box-shadow:var(--shadow-md);transform:translateY(-2px)}.link-card-top{display:flex;align-items:center;justify-content:space-between;width:100%}.link-card-icon-badge,.link-row-icon-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--color-link) 13%,var(--color-paper));flex-shrink:0}.link-row-icon-badge{width:26px;height:26px;border-radius:7px}.link-card-icon,.link-row-icon{width:15px;height:15px;color:var(--color-link)}.link-row-icon{width:13px;height:13px}.link-card-external{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;color:var(--color-ink-5);transition:color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.link-card-external:hover{color:var(--color-ink);background:var(--color-surface)}.link-card-external svg{width:13px;height:13px}.link-card-title{font-size:14.5px;font-weight:500;color:var(--color-ink);line-height:1.4;word-break:break-word}.link-card-domain{font-size:11.5px;color:var(--color-ink-4);margin-top:-8px}.link-card-tags{display:flex;flex-wrap:wrap;gap:5px}.link-card-tag{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:2px 8px}.link-card-date{margin-top:auto;font-size:11px;color:var(--color-ink-5)}.link-card-actions{position:absolute;top:12px;right:12px;display:flex;gap:4px}.link-card-actions button,.link-row-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.link-card-actions button:hover,.link-row-actions button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.link-card-actions button:last-child:hover,.link-row-actions button:last-child:hover{color:#b65c4e;border-color:#b65c4e}.link-card-actions svg,.link-row-actions svg{width:13px;height:13px}.link-row-actions{display:flex;gap:4px;justify-content:flex-end}.links-rows{display:flex;flex-direction:column;margin-bottom:4px}.link-row{display:grid;grid-template-columns:26px 2fr 1.2fr 1.2fr 90px;align-items:center;gap:16px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:10px 8px;cursor:pointer;border-radius:8px;transition:background-color .15s var(--ease-out-quint)}.link-row.is-archive-row{grid-template-columns:26px 2fr 1.2fr 1.2fr 90px auto}.link-row:last-child{border-bottom:none}.link-row:hover{background:var(--color-surface)}.link-row-title{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-row-domain,.link-row-tags{font-size:12px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-row-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);text-align:right}.links-table-wrap{overflow-x:auto;margin-bottom:4px}.links-table{width:100%;border-collapse:collapse;font-size:12.5px}.links-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.links-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2)}.links-table tbody tr{cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.links-table tbody tr:last-child td{border-bottom:none}.links-table tbody tr:hover{background:var(--color-surface)}.links-table-title{color:var(--color-ink);font-weight:500}.links-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.links-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-line-soft)}.links-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.links-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.links-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.links-page-nav button svg{width:13px;height:13px}.links-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.links-page-nav button:disabled{opacity:.35;cursor:default}.link-detail{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.link-detail-content{flex:1;min-height:0;max-width:1180px;width:100%;margin:0 auto;padding:40px 40px 80px;box-sizing:border-box;overflow-y:auto}.link-detail-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.link-detail-header-right{display:flex;align-items:center;gap:12px}.link-detail-action{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-ink-4);background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.link-detail-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.link-detail-action svg{width:14px;height:14px}.link-detail-delete-toggle{padding:8px;border-radius:999px}.link-detail-delete-toggle:hover{color:#b65c4e;border-color:#b65c4e}.link-detail-trash-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,#B65C4E 10%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.link-detail-trash-banner-actions{display:flex;align-items:center;gap:8px}.link-detail-trash-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans)}.link-detail-trash-banner button:hover{border-color:var(--color-ink-4)}.link-detail-trash-banner button.is-danger:hover{color:#b65c4e;border-color:#b65c4e}.link-detail-trash-banner svg{width:12px;height:12px}.link-detail-archive-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,var(--color-ink) 6%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.link-detail-archive-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.link-detail-archive-banner button:hover{border-color:var(--color-ink-4)}.link-detail-archive-banner svg{width:12px;height:12px}.link-detail-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.link-detail-back:hover{color:var(--color-ink)}.link-detail-back svg{width:15px;height:15px}.link-detail-domain-row{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-link);text-decoration:none}.link-detail-domain-row:hover{text-decoration:underline}.link-detail-domain-row svg{width:12px;height:12px}.link-detail-title{margin-top:12px;font-family:var(--font-serif);font-size:26px;font-weight:400;color:var(--color-ink);line-height:1.3}.link-detail-url{margin-top:6px;font-family:var(--font-mono);font-size:11.5px;color:var(--color-ink-5);word-break:break-all}.link-detail-tags{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.link-detail-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:3px 9px}.link-detail-tag-remove{display:flex;align-items:center;justify-content:center;width:12px;height:12px;border:none;background:transparent;color:var(--color-ink-5);cursor:pointer;padding:0}.link-detail-tag-remove:hover{color:var(--color-ink)}.link-detail-tag-remove svg{width:10px;height:10px}.link-detail-tag-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px dashed var(--color-line);border-radius:999px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.link-detail-tag-add:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.link-detail-tag-add svg{width:11px;height:11px}.link-detail-tag-input{width:90px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink);background:var(--color-surface);border:1px solid transparent;border-radius:999px;padding:3px 9px;outline:none}.link-detail-tag-input:focus,.link-detail-tag-input:focus-visible{outline:none;border-color:var(--color-ink-4);background:var(--color-paper);box-shadow:0 0 0 3px var(--color-surface-2)}.link-detail-notes{display:block;width:100%;box-sizing:border-box;margin-top:24px;padding:0;border:none;outline:none;resize:none;overflow:hidden;background:transparent;font-family:var(--font-serif);font-size:16px;line-height:1.7;color:var(--color-ink-2)}.link-detail-notes::placeholder{color:var(--color-ink-5);font-style:italic}.link-detail-notes:focus,.link-detail-notes:focus-visible{outline:none;border:none}.link-detail-not-found{max-width:1180px;margin:80px auto;text-align:center;color:var(--color-ink-4);font-size:13.5px}.add-thought-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.add-thought-dialog{width:400px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.add-thought-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-thought-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.add-thought-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.add-thought-close:hover{background:var(--color-surface);color:var(--color-ink)}.add-thought-close svg{width:15px;height:15px}.add-thought-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.add-thought-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.add-thought-input:focus{border-color:var(--color-ink-4)}.add-thought-textarea{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-serif);line-height:1.5;color:var(--color-ink);background:transparent;outline:none;resize:none}.add-thought-textarea:focus{border-color:var(--color-ink-4)}.add-thought-dialog .multi-select{display:block}.add-thought-dialog .multi-select-trigger{width:100%;box-sizing:border-box;justify-content:space-between;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px}.add-thought-dialog .multi-select-trigger:hover,.add-thought-dialog .multi-select-trigger.has-selection{background:transparent;border-color:var(--color-ink-4)}.add-thought-dialog .multi-select-menu{left:0;right:0;width:auto}.add-thought-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:18px}.add-thought-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.add-thought-save:disabled{opacity:.4;cursor:default}.add-thought-save:not(:disabled):hover{opacity:.85}.thoughts{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.thoughts-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.thoughts-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.thoughts-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.thoughts-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.thoughts-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);font-weight:500}.thoughts-header-action svg{width:13px;height:13px}.thoughts-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.thoughts-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.thoughts-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.thoughts-search{display:flex;align-items:center;gap:9px;flex:1 1 260px;max-width:360px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.thoughts-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.thoughts-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.thoughts-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.thoughts-toolbar-spacer{flex:1 0 12px}.thoughts-toolbar-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--color-line-soft)}.thoughts-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.thoughts-filters-group .multi-select,.thoughts-filters-group .date-filter{display:flex}.thoughts-filters-group .multi-select-trigger,.thoughts-filters-group .date-filter-trigger{height:100%;box-sizing:border-box;border-radius:6px}.thoughts-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.thoughts-layout-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px}.thoughts-layout-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:4px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.thoughts-layout-btn svg{width:13px;height:13px}.thoughts-layout-btn:hover{color:var(--color-ink)}.thoughts-layout-btn.is-active{background:var(--color-surface-2);color:var(--color-ink)}.thoughts-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}.thoughts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.thought-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;border:1px solid var(--color-line);border-radius:12px;padding:18px;background:var(--color-paper);cursor:pointer;font-family:var(--font-sans);box-shadow:var(--shadow-sm);transition:border-color .18s var(--ease-out-quint),box-shadow .18s var(--ease-out-quint),transform .18s var(--ease-out-quint)}.thought-card:hover{border-color:var(--color-ink-4);box-shadow:var(--shadow-md);transform:translateY(-2px)}.thought-card-icon-badge,.thought-row-icon-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--color-thought) 13%,var(--color-paper));flex-shrink:0}.thought-row-icon-badge{width:26px;height:26px;border-radius:7px}.thought-card-icon,.thought-row-icon{width:15px;height:15px;color:var(--color-thought)}.thought-row-icon{width:13px;height:13px}.thought-card-title{font-size:14.5px;font-weight:500;color:var(--color-ink);line-height:1.4;word-break:break-word}.thought-card-body{font-size:12.5px;line-height:1.5;color:var(--color-ink-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.thought-card-tags{display:flex;flex-wrap:wrap;gap:5px}.thought-card-tag{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:2px 8px}.thought-card-date{margin-top:auto;font-size:11px;color:var(--color-ink-5)}.thought-card-actions{position:absolute;top:12px;right:12px;display:flex;gap:4px}.thought-card-actions button,.thought-row-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.thought-card-actions button:hover,.thought-row-actions button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.thought-card-actions button:last-child:hover,.thought-row-actions button:last-child:hover{color:#b65c4e;border-color:#b65c4e}.thought-card-actions svg,.thought-row-actions svg{width:13px;height:13px}.thought-row-actions{display:flex;gap:4px;justify-content:flex-end}.thoughts-rows{display:flex;flex-direction:column;margin-bottom:4px}.thought-row{display:grid;grid-template-columns:26px 2fr 1.4fr 100px;align-items:center;gap:16px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:10px 8px;cursor:pointer;border-radius:8px;transition:background-color .15s var(--ease-out-quint)}.thought-row.is-archive-row{grid-template-columns:26px 2fr 1.4fr 100px auto}.thought-row:last-child{border-bottom:none}.thought-row:hover{background:var(--color-surface)}.thought-row-title{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thought-row-tags{font-size:12px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thought-row-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);text-align:right}.thoughts-table-wrap{overflow-x:auto;margin-bottom:4px}.thoughts-table{width:100%;border-collapse:collapse;font-size:12.5px}.thoughts-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.thoughts-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2)}.thoughts-table tbody tr{cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.thoughts-table tbody tr:last-child td{border-bottom:none}.thoughts-table tbody tr:hover{background:var(--color-surface)}.thoughts-table-title{color:var(--color-ink);font-weight:500}.thoughts-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.thoughts-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-line-soft)}.thoughts-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.thoughts-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.thoughts-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.thoughts-page-nav button svg{width:13px;height:13px}.thoughts-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.thoughts-page-nav button:disabled{opacity:.35;cursor:default}.thought-detail{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.thought-detail-content{flex:1;min-height:0;max-width:1180px;width:100%;margin:0 auto;padding:40px 40px 80px;box-sizing:border-box;overflow-y:auto}.thought-detail-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.thought-detail-header-right{display:flex;align-items:center;gap:12px}.thought-detail-action{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-ink-4);background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.thought-detail-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.thought-detail-action svg{width:14px;height:14px}.thought-detail-delete-toggle{padding:8px;border-radius:999px}.thought-detail-delete-toggle:hover{color:#b65c4e;border-color:#b65c4e}.thought-detail-trash-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,#B65C4E 10%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.thought-detail-trash-banner-actions{display:flex;align-items:center;gap:8px}.thought-detail-trash-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans)}.thought-detail-trash-banner button:hover{border-color:var(--color-ink-4)}.thought-detail-trash-banner button.is-danger:hover{color:#b65c4e;border-color:#b65c4e}.thought-detail-trash-banner svg{width:12px;height:12px}.thought-detail-archive-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,var(--color-ink) 6%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.thought-detail-archive-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.thought-detail-archive-banner button:hover{border-color:var(--color-ink-4)}.thought-detail-archive-banner svg{width:12px;height:12px}.thought-detail-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.thought-detail-back:hover{color:var(--color-ink)}.thought-detail-back svg{width:15px;height:15px}.thought-detail-title{font-family:var(--font-serif);font-size:26px;font-weight:400;color:var(--color-ink);line-height:1.3}.thought-detail-tags{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.thought-detail-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:3px 9px}.thought-detail-tag-remove{display:flex;align-items:center;justify-content:center;width:12px;height:12px;border:none;background:transparent;color:var(--color-ink-5);cursor:pointer;padding:0}.thought-detail-tag-remove:hover{color:var(--color-ink)}.thought-detail-tag-remove svg{width:10px;height:10px}.thought-detail-tag-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px dashed var(--color-line);border-radius:999px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.thought-detail-tag-add:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.thought-detail-tag-add svg{width:11px;height:11px}.thought-detail-tag-input{width:90px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink);background:var(--color-surface);border:1px solid transparent;border-radius:999px;padding:3px 9px;outline:none}.thought-detail-tag-input:focus,.thought-detail-tag-input:focus-visible{outline:none;border-color:var(--color-ink-4);background:var(--color-paper);box-shadow:0 0 0 3px var(--color-surface-2)}.thought-detail-body{display:block;width:100%;box-sizing:border-box;margin-top:24px;padding:0;border:none;outline:none;resize:none;overflow:hidden;background:transparent;font-family:var(--font-serif);font-size:16px;line-height:1.7;color:var(--color-ink-2)}.thought-detail-body::placeholder{color:var(--color-ink-5);font-style:italic}.thought-detail-body:focus,.thought-detail-body:focus-visible{outline:none;border:none}.thought-detail-not-found{max-width:1180px;margin:80px auto;text-align:center;color:var(--color-ink-4);font-size:13.5px}.calendar{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.calendar-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.calendar-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.calendar-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.calendar-today-btn{font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:8px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.calendar-today-btn:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.calendar-today-btn:disabled{opacity:.35;cursor:default}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-paper);color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.calendar-nav-btn:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.calendar-nav-btn svg{width:15px;height:15px}.calendar-month-select .ui-select-trigger{min-width:172px;justify-content:center;gap:10px;border:1px solid var(--color-line);border-radius:8px;padding:9px 14px;font-size:13px;color:var(--color-ink);background:var(--color-paper)}.calendar-body{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.calendar-grid-wrap{min-width:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-weekdays span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-5);text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:92px;padding:9px 10px;border:1px solid var(--color-line-soft);border-radius:10px;background:var(--color-paper);cursor:pointer;font-family:var(--font-sans);text-align:left;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.calendar-day:hover{border-color:var(--color-ink-4)}.calendar-day.is-outside{background:transparent;border-color:transparent}.calendar-day.is-outside .calendar-day-num{color:var(--color-ink-5);opacity:.6}.calendar-day.has-activity{background:color-mix(in srgb,var(--color-surface) 60%,var(--color-paper))}.calendar-day.is-today .calendar-day-num{display:flex;align-items:center;justify-content:center;width:21px;height:21px;margin:-2px 0 -2px -3px;border-radius:999px;background:var(--color-heat-3);color:var(--color-paper);font-weight:600}.calendar-day.is-selected{border-color:var(--color-heat-3);box-shadow:0 0 0 1px var(--color-heat-3);background:var(--color-paper)}.calendar-day-num{font-size:12.5px;color:var(--color-ink-2)}.calendar-day-dots{display:flex;flex-wrap:wrap;gap:3px}.calendar-day-dot{width:6px;height:6px;border-radius:999px}.calendar-day-count{margin-top:auto;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4)}.calendar-detail{border:1px solid var(--color-line-soft);border-radius:12px;padding:18px 18px 8px;background:var(--color-paper);min-width:0}.calendar-detail-head{margin-bottom:14px}.calendar-detail-date{font-size:13.5px;font-weight:600;color:var(--color-ink);line-height:1.35}.calendar-detail-count{display:block;margin-top:3px;font-family:var(--font-mono);font-size:10.5px;color:var(--color-ink-4)}.calendar-detail-empty{padding-bottom:12px;font-size:12.5px;color:var(--color-ink-4)}.calendar-detail-list{display:flex;flex-direction:column}.calendar-entry{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 0;border:none;border-bottom:1px solid var(--color-line-soft);background:transparent;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.calendar-entry:last-child{border-bottom:none}.calendar-entry:hover{opacity:.68}.calendar-entry.is-static{cursor:default}.calendar-entry.is-static:hover{opacity:1}.calendar-entry-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:7px;color:var(--type-color);background:color-mix(in srgb,var(--type-color) 14%,var(--color-paper))}.calendar-entry-icon svg{width:12px;height:12px}.calendar-entry-body{display:flex;flex-direction:column;gap:2px;min-width:0}.calendar-entry-title{font-size:12.5px;color:var(--color-ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-entry-type{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase}.calendar-detail-all{display:flex;align-items:center;gap:7px;width:100%;justify-content:center;margin-top:4px;padding:13px 0;border:none;border-top:1px solid var(--color-line-soft);background:transparent;color:var(--color-heat-3);font-family:var(--font-sans);font-size:12.5px;font-weight:500;cursor:pointer;transition:opacity .15s var(--ease-out-quint)}.calendar-detail-all:hover{opacity:.75}.calendar-detail-all svg{width:13px;height:13px}@media(max-width:960px){.calendar-body{grid-template-columns:1fr}}.add-person-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.add-person-dialog{width:460px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.add-person-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-person-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.add-person-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.add-person-close:hover{background:var(--color-surface);color:var(--color-ink)}.add-person-close svg{width:15px;height:15px}.add-person-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.add-person-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.add-person-input:focus{border-color:var(--color-ink-4)}.add-person-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.add-person-cadence{display:flex;flex-wrap:wrap;gap:6px}.add-person-cadence-option{font-size:11.5px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:7px;padding:6px 11px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.add-person-cadence-option:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.add-person-cadence-option.is-active{color:var(--color-paper);background:var(--color-ink);border-color:var(--color-ink)}.add-person-dialog .multi-select{display:block}.add-person-dialog .multi-select-trigger{width:100%;box-sizing:border-box;justify-content:space-between;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px}.add-person-dialog .multi-select-trigger:hover,.add-person-dialog .multi-select-trigger.has-selection{background:transparent;border-color:var(--color-ink-4)}.add-person-dialog .multi-select-menu{left:0;right:0;width:auto}.add-person-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:18px}.add-person-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.add-person-save:disabled{opacity:.4;cursor:default}.add-person-save:not(:disabled):hover{opacity:.85}.people{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.people-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.people-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.people-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.people-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.people-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);font-weight:500}.people-header-action svg{width:13px;height:13px}.people-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.people-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.people-overdue-link{font-size:13px;font-family:var(--font-sans);color:#b65c4e;background:transparent;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.people-overdue-link:hover{opacity:.75}.people-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.people-search{display:flex;align-items:center;gap:9px;flex:1 1 260px;max-width:360px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.people-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.people-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.people-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.people-toolbar-spacer{flex:1 0 12px}.people-toolbar-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--color-line-soft)}.people-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.people-filters-group .multi-select,.people-filters-group .ui-select{display:flex}.people-filters-group .multi-select-trigger,.people-filters-group .ui-select-trigger{height:100%;box-sizing:border-box;border-radius:6px}.people-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.people-layout-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px}.people-layout-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:4px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.people-layout-btn svg{width:13px;height:13px}.people-layout-btn:hover{color:var(--color-ink)}.people-layout-btn.is-active{background:var(--color-surface-2);color:var(--color-ink)}.people-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}.person-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--person-color);background:color-mix(in srgb,var(--person-color) 15%,var(--color-paper))}.person-avatar.is-small{width:28px;height:28px;font-size:10.5px}.person-status{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--status-color);background:color-mix(in srgb,var(--status-color) 12%,var(--color-paper));border-radius:999px;padding:4px 9px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.person-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;border:1px solid var(--color-line);border-radius:12px;padding:18px;background:var(--color-paper);cursor:pointer;font-family:var(--font-sans);box-shadow:var(--shadow-sm);transition:border-color .18s var(--ease-out-quint),box-shadow .18s var(--ease-out-quint),transform .18s var(--ease-out-quint)}.person-card:hover{border-color:var(--color-ink-4);box-shadow:var(--shadow-md);transform:translateY(-2px)}.person-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.person-card-name{font-size:14.5px;font-weight:500;color:var(--color-ink);line-height:1.4}.person-card-role{margin-top:-8px;font-size:12px;color:var(--color-ink-4)}.person-card-tags{display:flex;flex-wrap:wrap;gap:5px}.person-card-tag{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:2px 8px}.person-card-last{margin-top:auto;font-size:11px;color:var(--color-ink-5)}.person-card-log{width:100%;margin-top:2px;font-size:12px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:7px;padding:7px 0;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.person-card-log:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.person-card-actions{position:absolute;top:12px;right:12px;display:flex;gap:4px}.person-card-actions button,.person-row-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.person-card-actions button:hover,.person-row-actions button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.person-card-actions button:last-child:hover,.person-row-actions button:last-child:hover{color:#b65c4e;border-color:#b65c4e}.person-card-actions svg,.person-row-actions svg{width:13px;height:13px}.person-row-actions{display:flex;gap:4px;justify-content:flex-end}.people-rows{display:flex;flex-direction:column;margin-bottom:4px}.person-row{display:grid;grid-template-columns:28px 1.4fr 1.6fr 120px 110px;align-items:center;gap:14px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:10px 8px;cursor:pointer;border-radius:8px;transition:background-color .15s var(--ease-out-quint)}.person-row.is-archive-row{grid-template-columns:28px 1.4fr 1.6fr 120px 110px auto}.person-row:last-child{border-bottom:none}.person-row:hover{background:var(--color-surface)}.person-row-name{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row-role{font-size:12px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row-last{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4)}.people-table-wrap{overflow-x:auto;margin-bottom:4px}.people-table{width:100%;border-collapse:collapse;font-size:12.5px}.people-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.people-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2)}.people-table tbody tr{cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.people-table tbody tr:last-child td{border-bottom:none}.people-table tbody tr:hover{background:var(--color-surface)}.people-table-name{color:var(--color-ink);font-weight:500}.people-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.people-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-line-soft)}.people-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.people-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.people-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.people-page-nav button svg{width:13px;height:13px}.people-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.people-page-nav button:disabled{opacity:.35;cursor:default}.person-detail{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.person-detail-content{flex:1;min-height:0;max-width:1180px;width:100%;margin:0 auto;padding:40px 40px 80px;box-sizing:border-box;overflow-y:auto}.person-detail-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.person-detail-header-right{display:flex;align-items:center;gap:12px}.person-detail-action{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-ink-4);background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.person-detail-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.person-detail-action svg{width:14px;height:14px}.person-detail-delete-toggle{padding:8px;border-radius:999px}.person-detail-delete-toggle:hover{color:#b65c4e;border-color:#b65c4e}.person-detail-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.person-detail-back:hover{color:var(--color-ink)}.person-detail-back svg{width:15px;height:15px}.person-detail-trash-banner,.person-detail-archive-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.person-detail-trash-banner{background:color-mix(in srgb,#B65C4E 10%,var(--color-paper))}.person-detail-archive-banner{background:color-mix(in srgb,var(--color-ink) 6%,var(--color-paper))}.person-detail-banner-actions{display:flex;align-items:center;gap:8px}.person-detail-trash-banner button,.person-detail-archive-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans)}.person-detail-trash-banner button:hover,.person-detail-archive-banner button:hover{border-color:var(--color-ink-4)}.person-detail-trash-banner button.is-danger:hover{color:#b65c4e;border-color:#b65c4e}.person-detail-trash-banner svg,.person-detail-archive-banner svg{width:12px;height:12px}.person-detail-identity{display:flex;align-items:flex-start;gap:16px}.person-detail-avatar{display:flex;align-items:center;justify-content:center;width:60px;height:60px;flex-shrink:0;border-radius:999px;font-size:19px;font-weight:600;letter-spacing:.02em;color:var(--person-color);background:color-mix(in srgb,var(--person-color) 15%,var(--color-paper))}.person-detail-identity-text{min-width:0}.person-detail-name{font-family:var(--font-serif);font-size:26px;font-weight:400;color:var(--color-ink);line-height:1.25}.person-detail-role{margin-top:3px;font-size:13px;color:var(--color-ink-4)}.person-detail-contacts{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.person-detail-contact{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);text-decoration:none}a.person-detail-contact:hover{color:var(--color-ink);text-decoration:underline}.person-detail-contact svg{width:13px;height:13px;color:var(--color-ink-5)}.person-detail-cadence{display:flex;align-items:center;gap:32px;margin-top:26px;padding:18px 20px;border:1px solid var(--color-line-soft);border-radius:12px;background:var(--color-paper)}.person-detail-cadence-stat{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.person-detail-cadence-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-5)}.person-detail-cadence-value{font-size:14.5px;color:var(--color-ink)}.person-detail-status{margin:1px 0}.person-detail-cadence-sub{font-size:11.5px;color:var(--color-ink-4)}.person-detail-log{display:inline-flex;align-items:center;gap:7px;margin-left:auto;font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:8px;padding:10px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.person-detail-log:hover{opacity:.85}.person-detail-log svg{width:14px;height:14px}.person-detail-field{margin-top:26px}.person-detail-field-label{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-5);margin-bottom:9px}.person-detail-cadence-picker{display:flex;flex-wrap:wrap;gap:6px}.person-detail-cadence-option{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:7px;padding:6px 11px;cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.person-detail-cadence-option:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.person-detail-cadence-option.is-active{color:var(--color-paper);background:var(--color-ink);border-color:var(--color-ink)}.person-detail-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.person-detail-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:3px 9px}.person-detail-tag-remove{display:flex;align-items:center;justify-content:center;width:12px;height:12px;border:none;background:transparent;color:var(--color-ink-5);cursor:pointer;padding:0}.person-detail-tag-remove:hover{color:var(--color-ink)}.person-detail-tag-remove svg{width:10px;height:10px}.person-detail-tag-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px dashed var(--color-line);border-radius:999px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.person-detail-tag-add:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.person-detail-tag-add svg{width:11px;height:11px}.person-detail-tag-input{width:90px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink);background:var(--color-surface);border:1px solid transparent;border-radius:999px;padding:3px 9px;outline:none}.person-detail-tag-input:focus,.person-detail-tag-input:focus-visible{outline:none;border-color:var(--color-ink-4);background:var(--color-paper);box-shadow:0 0 0 3px var(--color-surface-2)}.person-detail-notes{display:block;width:100%;box-sizing:border-box;margin-top:26px;padding:0;border:none;outline:none;resize:none;overflow:hidden;background:transparent;font-family:var(--font-serif);font-size:16px;line-height:1.7;color:var(--color-ink-2)}.person-detail-notes::placeholder{color:var(--color-ink-5);font-style:italic}.person-detail-notes:focus,.person-detail-notes:focus-visible{outline:none;border:none}.person-detail-not-found{max-width:1180px;margin:80px auto;text-align:center;color:var(--color-ink-4);font-size:13.5px}.add-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.add-task-dialog{width:460px;max-height:88vh;overflow-y:auto;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.add-task-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-task-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.add-task-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.add-task-close:hover{background:var(--color-surface);color:var(--color-ink)}.add-task-close svg{width:15px;height:15px}.add-task-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.add-task-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.add-task-input:focus{border-color:var(--color-ink-4)}.add-task-textarea{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-serif);line-height:1.5;color:var(--color-ink);background:transparent;outline:none;resize:none}.add-task-textarea:focus{border-color:var(--color-ink-4)}.add-task-priority,.add-task-due{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.add-task-priority-option,.add-task-due-option{font-size:12px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:7px;padding:6px 13px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.add-task-priority-option:hover{border-color:var(--priority-color);color:var(--priority-color)}.add-task-priority-option.is-active{color:var(--color-paper);background:var(--priority-color);border-color:var(--priority-color);font-weight:500}.add-task-due-option:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.add-task-due-option.is-active{color:var(--color-paper);background:var(--color-ink);border-color:var(--color-ink);font-weight:500}.add-task-date-input{font-family:var(--font-sans);font-size:12px;color:var(--color-ink);background:transparent;border:1px solid var(--color-line);border-radius:7px;padding:6px 10px;outline:none}.add-task-date-input:focus{border-color:var(--color-ink-4)}.add-task-dialog .multi-select,.add-task-dialog .ui-select{display:block}.add-task-dialog .multi-select-trigger,.add-task-dialog .ui-select-trigger{width:100%;box-sizing:border-box;justify-content:space-between;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px}.add-task-dialog .multi-select-trigger:hover,.add-task-dialog .multi-select-trigger.has-selection,.add-task-dialog .ui-select-trigger:hover{background:transparent;border-color:var(--color-ink-4)}.add-task-dialog .multi-select-menu,.add-task-dialog .ui-select-menu{left:0;right:0;width:auto}.add-task-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:18px}.add-task-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.add-task-save:disabled{opacity:.4;cursor:default}.add-task-save:not(:disabled):hover{opacity:.85}.tasks{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.tasks-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.tasks-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tasks-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.tasks-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.tasks-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);font-weight:500}.tasks-header-action svg{width:13px;height:13px}.tasks-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.tasks-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.tasks-flag{font-size:13px;font-family:var(--font-sans);background:transparent;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.tasks-flag.is-overdue{color:#b65c4e}.tasks-flag.is-today{color:#c17d3a}.tasks-flag:hover{opacity:.75}.tasks-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.tasks-search{display:flex;align-items:center;gap:9px;flex:1 1 220px;max-width:320px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.tasks-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.tasks-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.tasks-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.tasks-toolbar-spacer{flex:1 0 8px}.tasks-toolbar-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--color-line-soft)}.tasks-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.tasks-filters-group .multi-select,.tasks-filters-group .ui-select{display:flex}.tasks-filters-group .multi-select-trigger,.tasks-filters-group .ui-select-trigger{height:100%;box-sizing:border-box;border-radius:6px}.tasks-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.tasks-done-toggle{font-size:12.5px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:8px;padding:8px 13px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.tasks-done-toggle:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.tasks-done-toggle.is-active{color:var(--color-ink);background:var(--color-surface);border-color:var(--color-ink-4);font-weight:500}.tasks-layout-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px}.tasks-layout-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:4px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.tasks-layout-btn svg{width:13px;height:13px}.tasks-layout-btn:hover{color:var(--color-ink)}.tasks-layout-btn.is-active{background:var(--color-surface-2);color:var(--color-ink)}.tasks-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}.task-check{display:flex;align-items:center;justify-content:center;width:19px;height:19px;flex-shrink:0;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--priority-color) 55%,var(--color-line));background:transparent;cursor:pointer;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.task-check:hover{border-color:var(--priority-color);background:color-mix(in srgb,var(--priority-color) 12%,transparent)}.task-check.is-done{background:var(--priority-color);border-color:var(--priority-color)}.task-check svg{width:11px;height:11px;stroke-width:3;color:var(--color-paper)}.task-priority{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--priority-color)}.task-due{font-family:var(--font-mono);font-size:11px;white-space:nowrap;text-align:right;color:var(--due-color)}.tasks-rows{display:flex;flex-direction:column;margin-bottom:4px}.task-row{display:grid;grid-template-columns:19px 1fr 70px 92px;align-items:center;gap:14px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:11px 8px;cursor:pointer;border-radius:8px;transition:background-color .15s var(--ease-out-quint)}.task-row.is-archive-row{grid-template-columns:19px 1fr 70px 92px auto}.task-row:last-child{border-bottom:none}.task-row:hover{background:var(--color-surface)}.task-row.is-done .task-row-title{color:var(--color-ink-5);text-decoration:line-through}.task-row.is-done .task-priority{opacity:.5}.task-row-body{display:flex;flex-direction:column;gap:3px;min-width:0}.task-row-title{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-sub{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.task-row-person{font-size:11px;color:var(--color-ink-4)}.task-row-person:after{content:"·";margin-left:5px;color:var(--color-ink-5)}.task-row-tag{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:2px 8px}.task-row:hover .task-row-tag{background:var(--color-surface-2)}.task-row-actions{display:flex;gap:4px;justify-content:flex-end}.task-row-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.task-row-actions button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.task-row-actions button:last-child:hover{color:#b65c4e;border-color:#b65c4e}.task-row-actions svg{width:13px;height:13px}.tasks-table-wrap{overflow-x:auto;margin-bottom:4px}.tasks-table{width:100%;border-collapse:collapse;font-size:12.5px}.tasks-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.tasks-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2)}.tasks-table tbody tr{cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.tasks-table tbody tr:last-child td{border-bottom:none}.tasks-table tbody tr:hover{background:var(--color-surface)}.tasks-table tbody tr.is-done .tasks-table-title{color:var(--color-ink-5);text-decoration:line-through}.tasks-table-title{color:var(--color-ink);font-weight:500}.tasks-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.tasks-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-line-soft)}.tasks-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.tasks-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.tasks-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.tasks-page-nav button svg{width:13px;height:13px}.tasks-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.tasks-page-nav button:disabled{opacity:.35;cursor:default}.task-detail{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.task-detail-content{flex:1;min-height:0;max-width:1180px;width:100%;margin:0 auto;padding:40px 40px 80px;box-sizing:border-box;overflow-y:auto}.task-detail-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.task-detail-header-right{display:flex;align-items:center;gap:12px}.task-detail-action{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-ink-4);background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.task-detail-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.task-detail-action svg{width:14px;height:14px}.task-detail-delete-toggle{padding:8px;border-radius:999px}.task-detail-delete-toggle:hover{color:#b65c4e;border-color:#b65c4e}.task-detail-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.task-detail-back:hover{color:var(--color-ink)}.task-detail-back svg{width:15px;height:15px}.task-detail-trash-banner,.task-detail-archive-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.task-detail-trash-banner{background:color-mix(in srgb,#B65C4E 10%,var(--color-paper))}.task-detail-archive-banner{background:color-mix(in srgb,var(--color-ink) 6%,var(--color-paper))}.task-detail-banner-actions{display:flex;align-items:center;gap:8px}.task-detail-trash-banner button,.task-detail-archive-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans)}.task-detail-trash-banner button:hover,.task-detail-archive-banner button:hover{border-color:var(--color-ink-4)}.task-detail-trash-banner button.is-danger:hover{color:#b65c4e;border-color:#b65c4e}.task-detail-trash-banner svg,.task-detail-archive-banner svg{width:12px;height:12px}.task-detail-headline{display:flex;align-items:flex-start;gap:14px}.task-detail-check{width:24px;height:24px;margin-top:4px}.task-detail-check svg{width:13px;height:13px}.task-detail-title{font-family:var(--font-serif);font-size:26px;font-weight:400;color:var(--color-ink);line-height:1.3}.task-detail-title.is-done{color:var(--color-ink-5);text-decoration:line-through}.task-detail-summary{display:flex;align-items:stretch;gap:12px;margin-top:24px}.task-detail-summary-item,.task-detail-person{display:flex;flex-direction:column;gap:3px;align-items:flex-start;border:1px solid var(--color-line-soft);border-radius:12px;padding:14px 16px;background:var(--color-paper)}.task-detail-summary-value{font-size:14px;color:var(--color-ink)}.task-detail-summary-sub{font-family:var(--font-mono);font-size:11px}.task-detail-person{flex-direction:row;align-items:center;gap:11px;cursor:pointer;font-family:var(--font-sans);text-align:left;transition:border-color .15s var(--ease-out-quint)}.task-detail-person:hover{border-color:var(--color-ink-4)}.task-detail-person-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:999px;font-size:12px;font-weight:600;color:var(--person-color);background:color-mix(in srgb,var(--person-color) 15%,var(--color-paper))}.task-detail-person-text{display:flex;flex-direction:column;gap:2px}.task-detail-field{margin-top:26px}.task-detail-field-label{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-5);margin-bottom:9px}.task-detail-priority-picker{display:flex;gap:6px}.task-detail-priority-option{font-size:12px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:7px;padding:6px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.task-detail-priority-option:hover{border-color:var(--priority-color);color:var(--priority-color)}.task-detail-priority-option.is-active{color:var(--color-paper);background:var(--priority-color);border-color:var(--priority-color);font-weight:500}.task-detail-date-input{font-family:var(--font-sans);font-size:12.5px;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:7px;padding:7px 11px;outline:none}.task-detail-date-input:focus{border-color:var(--color-ink-4)}.task-detail-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.task-detail-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:3px 9px}.task-detail-tag-remove{display:flex;align-items:center;justify-content:center;width:12px;height:12px;border:none;background:transparent;color:var(--color-ink-5);cursor:pointer;padding:0}.task-detail-tag-remove:hover{color:var(--color-ink)}.task-detail-tag-remove svg{width:10px;height:10px}.task-detail-tag-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px dashed var(--color-line);border-radius:999px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.task-detail-tag-add:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.task-detail-tag-add svg{width:11px;height:11px}.task-detail-tag-input{width:90px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink);background:var(--color-surface);border:1px solid transparent;border-radius:999px;padding:3px 9px;outline:none}.task-detail-tag-input:focus,.task-detail-tag-input:focus-visible{outline:none;border-color:var(--color-ink-4);background:var(--color-paper);box-shadow:0 0 0 3px var(--color-surface-2)}.task-detail-notes{display:block;width:100%;box-sizing:border-box;margin-top:26px;padding:0;border:none;outline:none;resize:none;overflow:hidden;background:transparent;font-family:var(--font-serif);font-size:16px;line-height:1.7;color:var(--color-ink-2)}.task-detail-notes::placeholder{color:var(--color-ink-5);font-style:italic}.task-detail-notes:focus,.task-detail-notes:focus-visible{outline:none;border:none}.task-detail-not-found{max-width:1180px;margin:80px auto;text-align:center;color:var(--color-ink-4);font-size:13.5px}.add-txn-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.add-txn-dialog{width:440px;max-height:88vh;overflow-y:auto;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.add-txn-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-txn-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.add-txn-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.add-txn-close:hover{background:var(--color-surface);color:var(--color-ink)}.add-txn-close svg{width:15px;height:15px}.add-txn-kinds{display:flex;gap:4px;padding:3px;margin-bottom:16px;border:1px solid var(--color-line);border-radius:9px}.add-txn-kind{flex:1;font-size:12.5px;color:var(--color-ink-3);background:transparent;border:none;border-radius:6px;padding:8px 0;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.add-txn-kind:hover{color:var(--color-ink);background:var(--color-surface)}.add-txn-kind.is-active{font-weight:600;color:var(--color-paper);background:var(--color-ink)}.add-txn-kind.is-active.is-expense{background:#b65c4e}.add-txn-kind.is-active.is-income{background:#5b8a5a}.add-txn-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.add-txn-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.add-txn-input:focus{border-color:var(--color-ink-4)}.add-txn-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.add-txn-amount-wrap{display:flex;align-items:center;border:1px solid var(--color-line);border-radius:6px;padding-left:10px;transition:border-color .15s var(--ease-out-quint)}.add-txn-amount-wrap:focus-within{border-color:var(--color-ink-4)}.add-txn-currency{font-size:14px;color:var(--color-ink-4)}.add-txn-amount{border:none;padding-left:5px;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.add-txn-amount:focus{border:none}.add-txn-textarea{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-serif);line-height:1.5;color:var(--color-ink);background:transparent;outline:none;resize:none}.add-txn-textarea:focus{border-color:var(--color-ink-4)}.add-txn-dialog .ui-select{display:block}.add-txn-dialog .ui-select-trigger{width:100%;box-sizing:border-box;justify-content:space-between;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px}.add-txn-dialog .ui-select-trigger:hover{background:transparent;border-color:var(--color-ink-4)}.add-txn-dialog .ui-select-menu{left:0;right:0;width:auto}.add-txn-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:18px}.add-txn-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.add-txn-save:disabled{opacity:.4;cursor:default}.add-txn-save:not(:disabled):hover{opacity:.85}.account-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.account-dialog{width:420px;max-height:88vh;overflow-y:auto;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.account-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.account-dialog-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.account-dialog-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.account-dialog-close:hover{background:var(--color-surface);color:var(--color-ink)}.account-dialog-close svg{width:15px;height:15px}.account-dialog-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.account-dialog-kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.account-dialog-kind{font-size:12px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:7px;padding:8px 0;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.account-dialog-kind:hover{border-color:var(--kind-color);color:var(--kind-color)}.account-dialog-kind.is-active{color:var(--color-paper);background:var(--kind-color);border-color:var(--kind-color);font-weight:500}.account-dialog-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.account-dialog-input:focus{border-color:var(--color-ink-4)}.account-dialog-amount-wrap{display:flex;align-items:center;border:1px solid var(--color-line);border-radius:6px;padding-left:10px;transition:border-color .15s var(--ease-out-quint)}.account-dialog-amount-wrap:focus-within{border-color:var(--color-ink-4)}.account-dialog-currency{font-size:14px;color:var(--color-ink-4)}.account-dialog-amount{border:none;padding-left:5px;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.account-dialog-amount:focus{border:none}.account-dialog-hint{margin-top:8px;font-size:11.5px;line-height:1.5;color:var(--color-ink-4)}.account-dialog-hint strong{font-family:var(--font-mono);font-weight:600;color:var(--color-ink-2)}.account-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:20px}.account-dialog-archive{display:inline-flex;align-items:center;gap:6px;margin-right:auto;font-size:12.5px;color:var(--color-ink-4);background:transparent;border:1px solid var(--color-line);border-radius:6px;padding:7px 12px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.account-dialog-archive:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.account-dialog-archive svg{width:13px;height:13px}.account-dialog-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.account-dialog-save:disabled{opacity:.4;cursor:default}.account-dialog-save:not(:disabled):hover{opacity:.85}.finance{max-width:1320px;margin:0 auto;padding:48px 40px 56px}.finance-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.finance-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.finance-header-action{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:9px;padding:10px 16px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.finance-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.finance-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);border-color:var(--color-ink);font-weight:500}.finance-header-action.is-primary:hover{color:var(--color-paper);opacity:.9}.finance-header-action svg{width:14px;height:14px}.finance-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.finance-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.finance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.finance-stat{display:flex;align-items:center;gap:14px;border:1px solid var(--color-line-soft);border-radius:14px;padding:18px 20px;background:var(--color-paper);box-shadow:var(--shadow-sm)}.finance-stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:999px;color:var(--stat-color);background:color-mix(in srgb,var(--stat-color) 13%,var(--color-paper))}.finance-stat-icon svg{width:17px;height:17px}.finance-stat-body{display:flex;flex-direction:column;gap:3px;min-width:0}.finance-stat-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink-5)}.finance-stat-value{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--color-ink);font-variant-numeric:tabular-nums;line-height:1.15}.finance-stat-value.is-income{color:#5b8a5a}.finance-stat-value.is-expense{color:#b65c4e}.finance-stat-sub,.finance-stat-delta{font-size:11.5px;color:var(--color-ink-4)}.finance-stat-delta.is-good{color:#5b8a5a}.finance-stat-delta.is-bad{color:#b65c4e}.finance-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:start}.finance-col{display:flex;flex-direction:column;gap:20px;min-width:0}.finance-card{display:flex;flex-direction:column;border:1px solid var(--color-line-soft);border-radius:14px;padding:20px 22px 8px;background:var(--color-paper);box-shadow:var(--shadow-sm);min-width:0}.finance-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.finance-card-title{font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.finance-card-meta{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4)}.finance-card-empty{padding:24px 0 32px;font-size:12.5px;color:var(--color-ink-4)}.finance-month-select .ui-select-trigger{border-radius:9px;padding:7px 12px;font-size:12px}.finance-card-search{display:flex;align-items:center;gap:8px;flex:0 1 210px;background:var(--color-surface);border:1px solid transparent;border-radius:9px;padding:8px 12px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.finance-card-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.finance-card-search svg{width:13px;height:13px;color:var(--color-ink-4);flex-shrink:0}.finance-card-search input{width:100%;min-width:0;border:none;outline:none;background:transparent;font-size:12.5px;font-family:var(--font-sans);color:var(--color-ink)}.finance-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:auto;padding:13px 2px;border:none;border-top:1px solid var(--color-line-soft);background:transparent;font-family:var(--font-sans);font-size:12.5px;color:var(--color-ink-3)}.finance-card-foot.is-total{font-weight:500}.finance-card-foot-value{font-family:var(--font-mono);font-weight:600;color:var(--color-ink);font-variant-numeric:tabular-nums}.finance-card-foot.is-link{justify-content:center;gap:7px;color:var(--color-heat-3);font-weight:500;cursor:pointer;transition:opacity .15s var(--ease-out-quint)}.finance-card-foot.is-link:hover{opacity:.75}.finance-card-foot.is-link svg{width:13px;height:13px}.finance-chart{display:flex;flex-direction:column;gap:1px}.finance-chart-row{display:grid;grid-template-columns:8px 96px 68px 34px 1fr;align-items:center;gap:12px;width:100%;padding:7px 4px;border:none;border-radius:7px;background:transparent;cursor:pointer;font-family:var(--font-sans);text-align:left;transition:background-color .15s var(--ease-out-quint)}.finance-chart-row:hover{background:var(--color-surface)}.finance-chart-dot{width:8px;height:8px;border-radius:999px}.finance-chart-name{font-size:12.5px;color:var(--color-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-chart-amount{font-family:var(--font-mono);font-size:11.5px;color:var(--color-ink-2);text-align:right;font-variant-numeric:tabular-nums}.finance-chart-pct{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-5);text-align:right;font-variant-numeric:tabular-nums}.finance-chart-track{display:block;width:100%;height:9px;border-radius:999px;background:var(--color-surface-2);overflow:hidden}.finance-chart-fill{display:block;height:100%;border-radius:999px;min-width:3px}.finance-accounts{display:flex;flex-direction:column}.finance-account{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;width:100%;padding:10px 4px;border:none;border-bottom:1px solid var(--color-line-soft);border-radius:7px;background:transparent;cursor:pointer;font-family:var(--font-sans);text-align:left;transition:background-color .15s var(--ease-out-quint)}.finance-account:last-child{border-bottom:none}.finance-account:hover{background:var(--color-surface)}.finance-account-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;color:var(--kind-color);background:color-mix(in srgb,var(--kind-color) 13%,var(--color-paper))}.finance-account-icon svg{width:15px;height:15px}.finance-account-body{display:flex;flex-direction:column;gap:2px;min-width:0}.finance-account-name{font-size:13px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-account-sub{font-size:11px;color:var(--color-ink-5)}.finance-account-balance{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--color-ink);font-variant-numeric:tabular-nums}.finance-account-balance.is-liability{color:#b65c4e}.finance-txns{display:flex;flex-direction:column}.finance-txn{display:grid;grid-template-columns:30px minmax(0,1.5fr) minmax(0,1fr) 54px 84px;align-items:center;gap:12px;width:100%;padding:10px 4px;border:none;border-bottom:1px solid var(--color-line-soft);border-radius:7px;background:transparent;cursor:pointer;font-family:var(--font-sans);text-align:left;transition:background-color .15s var(--ease-out-quint)}.finance-txn:last-child{border-bottom:none}.finance-txn:hover{background:var(--color-surface)}.finance-txn-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;color:var(--cat-color);background:color-mix(in srgb,var(--cat-color) 13%,var(--color-paper))}.finance-txn-icon svg{width:13px;height:13px}.finance-txn-desc{font-size:12.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-txn-sub{font-size:11.5px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-txn-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4)}.finance-txn-amount{font-family:var(--font-mono);font-size:12.5px;color:var(--color-ink);text-align:right;font-variant-numeric:tabular-nums}.finance-txn-amount.is-income{color:#5b8a5a}.finance-quick{display:flex;flex-direction:column;padding-bottom:12px}.finance-quick-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--color-line-soft)}.finance-quick-row:last-child{border-bottom:none}.finance-quick-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;color:var(--stat-color);background:color-mix(in srgb,var(--stat-color) 13%,var(--color-paper))}.finance-quick-icon svg{width:14px;height:14px}.finance-quick-body{display:flex;flex-direction:column;gap:2px;min-width:0}.finance-quick-label{font-size:12.5px;color:var(--color-ink-2)}.finance-quick-sub{font-size:11px;color:var(--color-ink-5)}.finance-quick-value{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--color-ink);font-variant-numeric:tabular-nums}.finance-quick-value.is-income{color:#5b8a5a}.finance-quick-value.is-expense{color:#b65c4e}@media(max-width:1100px){.finance-summary{grid-template-columns:repeat(2,1fr)}.finance-grid{grid-template-columns:1fr}}.finance-card-action{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:8px;padding:6px 11px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.finance-card-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.finance-card-action svg{width:12px;height:12px}.ledger{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.ledger-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.ledger-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ledger-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.ledger-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.ledger-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);font-weight:500}.ledger-header-action svg{width:13px;height:13px}.ledger-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.ledger-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.ledger-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:14px;margin-bottom:34px}.ledger-stat{display:flex;flex-direction:column;gap:5px;border:1px solid var(--color-line-soft);border-radius:12px;padding:16px 18px;background:var(--color-paper)}.ledger-stat.is-net{background:color-mix(in srgb,var(--color-heat-3) 7%,var(--color-paper));border-color:color-mix(in srgb,var(--color-heat-3) 22%,var(--color-line-soft))}.ledger-stat.is-net .ledger-stat-value{font-size:27px}.ledger-stat-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-5)}.ledger-stat-value{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--color-ink);font-variant-numeric:tabular-nums}.ledger-stat-value.is-income{color:#5b8a5a}.ledger-stat-value.is-expense{color:#b65c4e}.ledger-stat-sub{font-size:11.5px;color:var(--color-ink-4)}.ledger-section{margin-bottom:34px}.ledger-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.ledger-section-title{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.ledger-section-meta{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4)}.ledger-accounts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ledger-account{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:1px solid var(--color-line-soft);border-radius:12px;padding:16px;background:var(--color-paper);cursor:pointer;font-family:var(--font-sans);text-align:left;box-shadow:var(--shadow-sm);transition:border-color .15s var(--ease-out-quint),box-shadow .15s var(--ease-out-quint),transform .15s var(--ease-out-quint)}.ledger-account:hover{border-color:color-mix(in srgb,var(--kind-color) 40%,var(--color-line));box-shadow:var(--shadow-md);transform:translateY(-2px)}.ledger-account-top{display:flex;align-items:center;gap:8px;width:100%}.ledger-account-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--kind-color);background:color-mix(in srgb,var(--kind-color) 14%,var(--color-paper))}.ledger-account-icon svg{width:14px;height:14px}.ledger-account-kind{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-5)}.ledger-account-name{margin-top:4px;font-size:13px;color:var(--color-ink)}.ledger-account-inst{margin-top:-4px;font-size:11px;color:var(--color-ink-5)}.ledger-account-balance{margin-top:4px;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--color-ink);font-variant-numeric:tabular-nums}.ledger-account-balance.is-liability{color:#b65c4e}.ledger-chart{display:flex;flex-direction:column;gap:1px}.ledger-chart-row{display:grid;grid-template-columns:108px 1fr 84px 38px;align-items:center;gap:14px;width:100%;padding:7px 6px;border:none;border-radius:7px;background:transparent;cursor:pointer;font-family:var(--font-sans);text-align:left;transition:background-color .15s var(--ease-out-quint)}.ledger-chart-row:hover{background:var(--color-surface)}.ledger-chart-name{font-size:12.5px;color:var(--color-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-chart-track{display:block;width:100%;height:16px;border-radius:5px;background:var(--color-surface-2);overflow:hidden}.ledger-chart-fill{display:block;height:100%;border-radius:5px;min-width:3px}.ledger-chart-amount{font-family:var(--font-mono);font-size:11.5px;color:var(--color-ink-2);text-align:right;font-variant-numeric:tabular-nums}.ledger-chart-pct{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-5);text-align:right;font-variant-numeric:tabular-nums}.ledger-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid var(--color-line-soft)}.ledger-search{display:flex;align-items:center;gap:9px;flex:1 1 220px;max-width:320px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.ledger-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.ledger-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.ledger-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.ledger-toolbar-spacer{flex:1 0 8px}.ledger-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.ledger-filters-group .multi-select,.ledger-filters-group .ui-select{display:flex}.ledger-filters-group .multi-select-trigger,.ledger-filters-group .ui-select-trigger{height:100%;box-sizing:border-box;border-radius:6px}.ledger-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.ledger-empty{padding:56px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px}.ledger-txns{display:flex;flex-direction:column}.ledger-txn{display:grid;grid-template-columns:32px 1fr 64px 108px 34px;align-items:center;gap:14px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:11px 8px;cursor:pointer;border-radius:8px;transition:background-color .15s var(--ease-out-quint)}.ledger-txn:last-child{border-bottom:none}.ledger-txn:hover{background:var(--color-surface)}.ledger-txn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;color:var(--cat-color);background:color-mix(in srgb,var(--cat-color) 13%,var(--color-paper))}.ledger-txn-icon svg{width:14px;height:14px}.ledger-txn-body{display:flex;flex-direction:column;gap:2px;min-width:0}.ledger-txn-desc{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-txn-sub{font-size:11.5px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-txn-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4)}.ledger-txn-amount{font-family:var(--font-mono);font-size:13px;color:var(--color-ink);text-align:right;font-variant-numeric:tabular-nums}.ledger-txn-amount.is-income{color:#5b8a5a}.ledger-txn-actions{display:flex;gap:4px;justify-content:flex-end;opacity:0;transition:opacity .15s var(--ease-out-quint)}.ledger-txn:hover .ledger-txn-actions,.ledger-txn:focus-within .ledger-txn-actions{opacity:1}.ledger-txn-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.ledger-txn-actions button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.ledger-txn-actions button:last-child:hover{color:#b65c4e;border-color:#b65c4e}.ledger-txn-actions svg{width:13px;height:13px}.ledger-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;margin-top:4px;border-top:1px solid var(--color-line-soft)}.ledger-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.ledger-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.ledger-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.ledger-page-nav button svg{width:13px;height:13px}.ledger-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.ledger-page-nav button:disabled{opacity:.35;cursor:default}@media(max-width:960px){.ledger-summary{grid-template-columns:repeat(2,1fr)}}.dashboard{max-width:1320px;margin:0 auto;padding:48px 40px 56px;background:var(--color-surface);box-shadow:0 0 0 100vmax var(--color-surface);clip-path:inset(0 -100vmax);min-height:100%;box-sizing:border-box}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.dashboard-greeting{font-family:var(--font-sans);font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--color-ink)}.dashboard-subgreeting{margin-top:6px;font-size:13.5px;color:var(--color-ink-3)}.dashboard-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.dashboard-date-pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:10px;padding:9px 16px}.dashboard-date-pill svg{width:14px;height:14px;color:var(--color-ink-4)}.dashboard-new-habit{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--color-paper);background:var(--color-heat-3);border:none;border-radius:10px;padding:10px 12px 10px 11px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint),transform .15s var(--ease-out-quint)}.dashboard-new-habit:hover{opacity:.9;transform:translateY(-1px)}.dashboard-new-habit svg{width:14px;height:14px}.dashboard-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:24px}.dashboard-stat{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;border:.25px solid var(--color-line-soft);border-radius:18px;padding:18px;background:var(--color-paper);cursor:pointer;font-family:var(--font-sans);text-align:left;overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color .15s var(--ease-out-quint),box-shadow .15s var(--ease-out-quint),transform .15s var(--ease-out-quint)}.dashboard-stat:hover{border-color:color-mix(in srgb,var(--type-color) 32%,var(--color-line));box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-stat-watermark{position:absolute;right:0;bottom:0;width:72%;height:66%;pointer-events:none;z-index:0;opacity:.12}.dashboard-stat>:not(.dashboard-stat-watermark){position:relative;z-index:1}.dashboard-stat-icon-badge{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--type-color) 15%,var(--color-paper))}.dashboard-stat-icon{width:16px;height:16px;color:var(--type-color)}.dashboard-stat-count{font-family:var(--font-sans);font-size:27px;font-weight:700;letter-spacing:-.02em;color:var(--color-ink);line-height:1}.dashboard-stat-label{margin-top:-8px;font-size:12.5px;color:var(--color-ink-2)}.dashboard-stat-sub{margin-top:-8px;font-size:11.5px;color:var(--color-ink-5)}.dashboard-columns{display:grid;grid-template-columns:1fr 460px;gap:20px;align-items:start}.dashboard-col{display:flex;flex-direction:column;gap:20px;min-width:0}.dashboard-card{background:var(--color-paper);border:1px solid var(--color-line-soft);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow-sm);min-width:0}.dashboard-card-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.dashboard-card-head-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--color-heat-3) 15%,var(--color-paper));color:var(--color-heat-3);flex-shrink:0}.dashboard-card-head-icon-flame{background:transparent}.dashboard-card-head-icon-flame img{width:30px;height:30px;display:block}.dashboard-card-head-icon svg{width:16px;height:16px}.dashboard-card-title{font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.dashboard-card-badge{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4)}.dashboard-card-link{font-size:12px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:9px;padding:5px 12px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.dashboard-card-link:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.dashboard-empty{font-size:12.5px;color:var(--color-ink-4)}.dashboard-habits-columns{display:grid;grid-template-columns:26px 1fr 60px 24px;gap:14px;padding:0 2px 6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-5)}.dashboard-habits-columns>span:nth-child(3),.dashboard-habits-columns>span:nth-child(4){justify-self:center;white-space:nowrap}.dashboard-habits{display:flex;flex-direction:column}.dashboard-habit-row{display:grid;grid-template-columns:26px 1fr 60px 24px;align-items:center;gap:14px;padding:9px 2px;border-bottom:1px solid var(--color-line-soft)}.dashboard-habit-row:last-child{border-bottom:none}.dashboard-habit-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;flex-shrink:0;color:var(--habit-color);background:color-mix(in srgb,var(--habit-color) 15%,var(--color-paper))}.dashboard-habit-icon svg{width:13px;height:13px}.dashboard-habit-body{display:flex;flex-direction:column;gap:6px;min-width:0}.dashboard-habit-name{font-size:13px;color:var(--color-ink-2)}.dashboard-habit-bar-track{display:block;width:100%;height:4px;border-radius:999px;background:var(--color-surface-2);overflow:hidden}.dashboard-habit-bar-fill{display:block;height:100%;border-radius:999px}.dashboard-habit-streak{font-family:var(--font-mono);font-size:12px;color:var(--color-ink-3);text-align:center}.dashboard-habit-check{display:flex;height:20px;width:20px;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--color-line);background:transparent;cursor:pointer;justify-self:center;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.dashboard-habit-check svg{height:12px;width:12px;stroke-width:3;color:var(--color-paper)}.dashboard-streak-card{--heat-base: var(--color-heat-3);--heat-0: var(--color-surface-2);--heat-1: color-mix(in srgb, var(--heat-base) 16%, var(--color-paper));--heat-2: color-mix(in srgb, var(--heat-base) 36%, var(--color-paper));--heat-3: color-mix(in srgb, var(--heat-base) 62%, var(--color-paper));--heat-4: var(--heat-base)}.dashboard-streak-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.dashboard-streak-stat{position:relative;display:flex;flex-direction:column;gap:2px;border:1px solid var(--color-line-soft);border-radius:14px;padding:14px 16px;overflow:hidden}.dashboard-streak-stat-label{font-size:12px;color:var(--color-ink-3)}.dashboard-streak-stat-value{margin-top:2px;font-size:28px;font-weight:500;letter-spacing:-.02em;color:var(--color-ink);line-height:1.15}.dashboard-streak-stat-value em{font-style:normal;font-size:15px;font-weight:500;color:var(--color-ink-2)}.dashboard-streak-stat-sub{font-size:12px;font-weight:500;color:#5b8a5a}.dashboard-sparkline{position:absolute;right:12px;bottom:12px;width:104px;height:54px;pointer-events:none}.dashboard-heatmap-block{width:100%}.dashboard-heatmap{display:grid;grid-template-columns:auto repeat(var(--heat-cols),1fr);grid-template-rows:repeat(7,auto);gap:3px}.dashboard-heatmap-day{display:flex;align-items:center;justify-content:center;padding-right:5px;font-size:9.5px;line-height:1;color:var(--color-ink-5)}.dashboard-heatmap-cell{width:100%;aspect-ratio:1;border-radius:3px}.dashboard-heatmap-axis{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-left:14px;font-size:11px;color:var(--color-ink-4)}.dashboard-heatmap-legend{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:14px;font-size:11px;color:var(--color-ink-4)}.dashboard-heatmap-swatch{width:11px;height:11px;border-radius:3px}.dashboard-heatmap-legend span:first-child{margin-right:3px}.dashboard-heatmap-legend span:last-child{margin-left:3px}.dashboard-window-select{margin-left:auto}.dashboard-window-select .ui-select-trigger{border:1px solid var(--color-line);border-radius:10px;padding:8px 13px;font-size:12px;color:var(--color-ink-3);background:var(--color-paper)}.dashboard-scroll-nav{display:flex;gap:4px}.dashboard-scroll-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.dashboard-scroll-nav button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.dashboard-scroll-nav button svg{width:10px;height:10px}.dashboard-activity-row{scrollbar-width:none}.dashboard-activity-row::-webkit-scrollbar{display:none}.dashboard-activity-row{display:flex;gap:14px;overflow-x:auto;margin:0 -24px;padding:0 24px;--fade-left: 0px;--fade-right: 0px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent 100%)}.dashboard-activity-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:168px;flex-shrink:0;background:transparent;border:none;padding:0;cursor:pointer;text-align:left;font-family:var(--font-sans)}.dashboard-activity-media{position:relative;width:100%;aspect-ratio:16 / 10;border-radius:12px;overflow:hidden;background:var(--color-surface-2)}.dashboard-activity-media img{width:100%;height:100%;object-fit:cover;display:block}.dashboard-activity-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--type-color) 14%,var(--color-surface));color:var(--type-color)}.dashboard-activity-icon svg{width:22px;height:22px}.dashboard-activity-title{font-size:12.5px;font-weight:500;color:var(--color-ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-activity-meta{font-size:11px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.dashboard-logs{display:flex;flex-direction:column}.dashboard-log-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-line-soft)}.dashboard-log-row:last-child{border-bottom:none}.dashboard-log-pill{flex-shrink:0;font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--log-color);background:color-mix(in srgb,var(--log-color) 14%,var(--color-paper));border-radius:999px;padding:4px 9px}.dashboard-log-title{font-size:12.5px;color:var(--color-ink-2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-log-date{font-family:var(--font-mono);font-size:10.5px;color:var(--color-ink-5);flex-shrink:0}@media(max-width:960px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}.dashboard-bento{grid-template-columns:1fr}}.everything{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.everything-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.everything-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.everything-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.everything-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.everything-search{display:flex;align-items:center;gap:9px;flex:1 1 300px;max-width:420px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.everything-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.everything-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.everything-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.everything-toolbar-spacer{flex:1 0 12px}.everything-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.everything-filters-group .multi-select,.everything-filters-group .date-filter{display:flex}.everything-filters-group .multi-select-trigger,.everything-filters-group .date-filter-trigger{height:100%;box-sizing:border-box;border-radius:6px}.everything-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.everything-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}.everything-rows{display:flex;flex-direction:column;margin-bottom:4px}.everything-row{display:grid;grid-template-columns:30px 2.4fr 1fr 90px 100px;align-items:center;gap:16px;width:100%;border:none;border-bottom:1px solid var(--color-line-soft);padding:12px 8px;cursor:pointer;border-radius:8px;background:transparent;font-family:var(--font-sans);text-align:left;transition:background-color .15s var(--ease-out-quint)}.everything-row:last-child{border-bottom:none}.everything-row:hover{background:var(--color-surface)}.everything-row-icon-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--type-color) 13%,var(--color-paper));flex-shrink:0}.everything-row-icon{width:15px;height:15px;color:var(--type-color)}.everything-row-body{display:flex;flex-direction:column;gap:2px;min-width:0}.everything-row-title{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.everything-row-excerpt,.everything-row-tags{font-size:12px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.everything-row-type{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.everything-row-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);text-align:right}.everything-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-line-soft)}.everything-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.everything-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.everything-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.everything-page-nav button svg{width:13px;height:13px}.everything-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.everything-page-nav button:disabled{opacity:.35;cursor:default}.add-journal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.add-journal-dialog{width:440px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.add-journal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-journal-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.add-journal-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.add-journal-close:hover{background:var(--color-surface);color:var(--color-ink)}.add-journal-close svg{width:15px;height:15px}.add-journal-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.add-journal-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.add-journal-input:focus{border-color:var(--color-ink-4)}.add-journal-textarea{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:10px;font-size:13.5px;font-family:var(--font-serif);line-height:1.6;color:var(--color-ink);background:transparent;outline:none;resize:none}.add-journal-textarea:focus{border-color:var(--color-ink-4)}.add-journal-dialog .multi-select{display:block}.add-journal-dialog .multi-select-trigger{width:100%;box-sizing:border-box;justify-content:space-between;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px}.add-journal-dialog .multi-select-trigger:hover,.add-journal-dialog .multi-select-trigger.has-selection{background:transparent;border-color:var(--color-ink-4)}.add-journal-dialog .multi-select-menu{left:0;right:0;width:auto}.add-journal-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:18px}.add-journal-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.add-journal-save:disabled{opacity:.4;cursor:default}.add-journal-save:not(:disabled):hover{opacity:.85}.journal{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.journal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.journal-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.journal-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.journal-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.journal-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);font-weight:500}.journal-header-action svg{width:13px;height:13px}.journal-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.journal-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.journal-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.journal-search{display:flex;align-items:center;gap:9px;flex:1 1 260px;max-width:360px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.journal-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.journal-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.journal-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.journal-toolbar-spacer{flex:1 0 12px}.journal-toolbar-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--color-line-soft)}.journal-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.journal-filters-group .multi-select,.journal-filters-group .date-filter{display:flex}.journal-filters-group .multi-select-trigger,.journal-filters-group .date-filter-trigger{height:100%;box-sizing:border-box;border-radius:6px}.journal-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.journal-layout-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px}.journal-layout-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:4px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.journal-layout-btn svg{width:13px;height:13px}.journal-layout-btn:hover{color:var(--color-ink)}.journal-layout-btn.is-active{background:var(--color-surface-2);color:var(--color-ink)}.journal-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.journal-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;border:1px solid var(--color-line);border-radius:12px;padding:18px;background:var(--color-paper);cursor:pointer;font-family:var(--font-sans);box-shadow:var(--shadow-sm);transition:border-color .18s var(--ease-out-quint),box-shadow .18s var(--ease-out-quint),transform .18s var(--ease-out-quint)}.journal-card:hover{border-color:var(--color-ink-4);box-shadow:var(--shadow-md);transform:translateY(-2px)}.journal-card-icon-badge,.journal-row-icon-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--color-journal) 13%,var(--color-paper));flex-shrink:0}.journal-row-icon-badge{width:26px;height:26px;border-radius:7px}.journal-card-icon,.journal-row-icon{width:15px;height:15px;color:var(--color-journal)}.journal-row-icon{width:13px;height:13px}.journal-card-title{font-size:14.5px;font-weight:500;color:var(--color-ink);line-height:1.4;word-break:break-word}.journal-card-body{font-size:12.5px;line-height:1.5;color:var(--color-ink-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.journal-card-tags{display:flex;flex-wrap:wrap;gap:5px}.journal-card-tag{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:2px 8px}.journal-card-date{margin-top:auto;font-size:11px;color:var(--color-ink-5)}.journal-card-actions{position:absolute;top:12px;right:12px;display:flex;gap:4px}.journal-card-actions button,.journal-row-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.journal-card-actions button:hover,.journal-row-actions button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.journal-card-actions button:last-child:hover,.journal-row-actions button:last-child:hover{color:#b65c4e;border-color:#b65c4e}.journal-card-actions svg,.journal-row-actions svg{width:13px;height:13px}.journal-row-actions{display:flex;gap:4px;justify-content:flex-end}.journal-rows{display:flex;flex-direction:column;margin-bottom:4px}.journal-row{display:grid;grid-template-columns:26px 2fr 1.4fr 100px;align-items:center;gap:16px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:10px 8px;cursor:pointer;border-radius:8px;transition:background-color .15s var(--ease-out-quint)}.journal-row.is-archive-row{grid-template-columns:26px 2fr 1.4fr 100px auto}.journal-row:last-child{border-bottom:none}.journal-row:hover{background:var(--color-surface)}.journal-row-title{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-tags{font-size:12px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);text-align:right}.journal-table-wrap{overflow-x:auto;margin-bottom:4px}.journal-table{width:100%;border-collapse:collapse;font-size:12.5px}.journal-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.journal-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2)}.journal-table tbody tr{cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.journal-table tbody tr:last-child td{border-bottom:none}.journal-table tbody tr:hover{background:var(--color-surface)}.journal-table-title{color:var(--color-ink);font-weight:500}.journal-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.journal-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-line-soft)}.journal-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.journal-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.journal-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.journal-page-nav button svg{width:13px;height:13px}.journal-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.journal-page-nav button:disabled{opacity:.35;cursor:default}.journal-detail{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.journal-detail-content{flex:1;min-height:0;max-width:1180px;width:100%;margin:0 auto;padding:40px 40px 80px;box-sizing:border-box;overflow-y:auto}.journal-detail-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.journal-detail-header-right{display:flex;align-items:center;gap:12px}.journal-detail-action{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-ink-4);background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.journal-detail-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.journal-detail-action svg{width:14px;height:14px}.journal-detail-delete-toggle{padding:8px;border-radius:999px}.journal-detail-delete-toggle:hover{color:#b65c4e;border-color:#b65c4e}.journal-detail-trash-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,#B65C4E 10%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.journal-detail-trash-banner-actions{display:flex;align-items:center;gap:8px}.journal-detail-trash-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans)}.journal-detail-trash-banner button:hover{border-color:var(--color-ink-4)}.journal-detail-trash-banner button.is-danger:hover{color:#b65c4e;border-color:#b65c4e}.journal-detail-trash-banner svg{width:12px;height:12px}.journal-detail-archive-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,var(--color-ink) 6%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.journal-detail-archive-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.journal-detail-archive-banner button:hover{border-color:var(--color-ink-4)}.journal-detail-archive-banner svg{width:12px;height:12px}.journal-detail-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.journal-detail-back:hover{color:var(--color-ink)}.journal-detail-back svg{width:15px;height:15px}.journal-detail-date{display:block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.03em;color:var(--color-journal)}.journal-detail-title{margin-top:8px;font-family:var(--font-serif);font-size:26px;font-weight:400;color:var(--color-ink);line-height:1.3}.journal-detail-tags{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.journal-detail-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:3px 9px}.journal-detail-tag-remove{display:flex;align-items:center;justify-content:center;width:12px;height:12px;border:none;background:transparent;color:var(--color-ink-5);cursor:pointer;padding:0}.journal-detail-tag-remove:hover{color:var(--color-ink)}.journal-detail-tag-remove svg{width:10px;height:10px}.journal-detail-tag-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px dashed var(--color-line);border-radius:999px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.journal-detail-tag-add:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.journal-detail-tag-add svg{width:11px;height:11px}.journal-detail-tag-input{width:90px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink);background:var(--color-surface);border:1px solid transparent;border-radius:999px;padding:3px 9px;outline:none}.journal-detail-tag-input:focus,.journal-detail-tag-input:focus-visible{outline:none;border-color:var(--color-ink-4);background:var(--color-paper);box-shadow:0 0 0 3px var(--color-surface-2)}.journal-detail-body{display:block;width:100%;box-sizing:border-box;margin-top:24px;padding:0;border:none;outline:none;resize:none;overflow:hidden;background:transparent;font-family:var(--font-serif);font-size:16px;line-height:1.7;color:var(--color-ink-2)}.journal-detail-body::placeholder{color:var(--color-ink-5);font-style:italic}.journal-detail-body:focus,.journal-detail-body:focus-visible{outline:none;border:none}.journal-detail-not-found{max-width:1180px;margin:80px auto;text-align:center;color:var(--color-ink-4);font-size:13.5px}.add-video-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.add-video-dialog{width:380px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.add-video-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-video-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.add-video-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.add-video-close:hover{background:var(--color-surface);color:var(--color-ink)}.add-video-close svg{width:15px;height:15px}.add-video-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px}.add-video-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.add-video-input:focus{border-color:var(--color-ink-4)}.add-video-error{margin:8px 0 0;font-size:12px;color:#b65c4e}.add-video-dialog .multi-select{display:block}.add-video-dialog .multi-select-trigger{width:100%;box-sizing:border-box;justify-content:space-between;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px}.add-video-dialog .multi-select-trigger:hover,.add-video-dialog .multi-select-trigger.has-selection{background:transparent;border-color:var(--color-ink-4)}.add-video-dialog .multi-select-menu{left:0;right:0;width:auto}.add-video-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:18px}.add-video-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.add-video-save:disabled{opacity:.4;cursor:default}.add-video-save:not(:disabled):hover{opacity:.85}.videos{display:flex;flex-direction:column;min-height:100%;max-width:1180px;margin:0 auto;padding:56px 40px 40px}.videos-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.videos-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.videos-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.videos-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.videos-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);font-weight:500}.videos-header-action svg{width:13px;height:13px}.videos-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.videos-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.videos-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.videos-search{display:flex;align-items:center;gap:9px;flex:1 1 260px;max-width:360px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.videos-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.videos-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.videos-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.videos-toolbar-spacer{flex:1 0 12px}.videos-toolbar-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--color-line-soft)}.videos-filters-group{display:flex;align-items:center;border:1px solid var(--color-line);border-radius:9px;padding:5px;gap:2px}.videos-filters-group .multi-select,.videos-filters-group .date-filter,.videos-filters-group .ui-select{display:flex}.videos-filters-group .multi-select-trigger,.videos-filters-group .date-filter-trigger,.videos-filters-group .ui-select-trigger{box-sizing:border-box;border-radius:6px}.videos-filters-divider{width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.videos-layout-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px}.videos-layout-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:4px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.videos-layout-btn svg{width:13px;height:13px}.videos-layout-btn:hover{color:var(--color-ink)}.videos-layout-btn.is-active{background:var(--color-surface-2);color:var(--color-ink)}.videos-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px 24px;margin-bottom:32px}.video-sleeve{position:relative;display:flex;flex-direction:column;border:none;padding:0;cursor:pointer;text-align:left;font-family:var(--font-sans);border-radius:6px;overflow:hidden;background:var(--color-paper);box-shadow:2px 2px 0 var(--color-surface-2),4px 4px 0 var(--color-line),var(--shadow-sm);transition:transform .2s var(--ease-out-quint),box-shadow .2s var(--ease-out-quint)}.video-sleeve-archive-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px}.video-sleeve-archive-actions button,.video-row-archive-actions button,.videos-table-archive-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:999px;background:#17140f8c;color:var(--color-paper);cursor:pointer}.video-sleeve-archive-actions button:hover,.video-row-archive-actions button:hover,.videos-table-archive-actions button:hover{background:#17140fcc}.video-sleeve-archive-actions svg,.video-row-archive-actions svg,.videos-table-archive-actions svg{width:13px;height:13px}.videos-table-archive-actions{display:flex;gap:4px;justify-content:flex-end}.video-sleeve:hover{transform:rotate(-1deg) translateY(-4px);box-shadow:2px 2px 0 var(--color-surface-2),4px 4px 0 var(--color-line),var(--shadow-md)}.video-sleeve-thumb{position:relative;aspect-ratio:16 / 9;background-color:var(--color-video);overflow:hidden}.video-sleeve-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.video-sleeve-info{padding:12px 14px 14px}.video-sleeve-title{color:var(--color-ink);font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-sleeve-meta{margin-top:5px;color:var(--color-ink-4);font-size:11px}.videos-rows{display:flex;flex-direction:column;margin-bottom:4px}.video-row{display:grid;grid-template-columns:64px 2fr 1fr 70px 1.2fr 90px;align-items:center;gap:14px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:10px 8px;border-radius:8px}.video-row.is-archive-row{grid-template-columns:64px 2fr 1fr 70px 1.2fr 90px auto}.video-row-archive-actions{display:flex;gap:4px}.video-row:last-child{border-bottom:none}.video-row-thumb{position:relative;width:64px;height:36px;border-radius:5px;overflow:hidden;background:var(--color-video);flex-shrink:0}.video-row-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.video-row-title{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-row-channel{font-size:12px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-row-duration{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4)}.video-row-tags{font-size:12px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-row-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);text-align:right}.videos-table-wrap{overflow-x:auto;margin-bottom:4px}.videos-table{width:100%;border-collapse:collapse;font-size:12.5px}.videos-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.videos-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2)}.videos-table tbody tr:last-child td{border-bottom:none}.videos-table-title{color:var(--color-ink);font-weight:500}.videos-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.videos-table-thumb{position:relative;width:56px;height:31.5px;border-radius:4px;overflow:hidden;background:var(--color-video)}.videos-table-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.videos-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px;border-top:1px solid var(--color-line-soft)}.videos-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.videos-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.videos-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.videos-page-nav button svg{width:13px;height:13px}.videos-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.videos-page-nav button:disabled{opacity:.35;cursor:default}.video-row{border-left:none;border-right:none;border-top:none;background:transparent;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint)}.video-row:hover{background:var(--color-surface)}.videos-table tbody tr{cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.videos-table tbody tr:hover{background:var(--color-surface)}.video-sleeve.is-watched{opacity:.55}.video-watched-icon{width:12px;height:12px;margin-right:5px;vertical-align:-1px;color:var(--color-ink-4);stroke-width:2.5}.videos-active-playlist{display:flex;align-items:center;gap:8px;width:fit-content;margin-bottom:20px;padding:6px 10px 6px 14px;border-radius:999px;background:var(--color-surface);font-size:12.5px;color:var(--color-ink-2)}.videos-active-playlist button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:999px;background:transparent;color:var(--color-ink-4);cursor:pointer}.videos-active-playlist button:hover{background:var(--color-surface-2);color:var(--color-ink)}.videos-active-playlist button svg{width:12px;height:12px}.videos-playlists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;margin-bottom:32px}.playlist-card{position:relative;border-radius:8px;overflow:hidden;background:var(--color-paper);box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease-out-quint),transform .2s var(--ease-out-quint)}.playlist-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.playlist-card-open{display:flex;flex-direction:column;cursor:pointer}.playlist-card-cover{width:100%;aspect-ratio:16 / 9;overflow:hidden;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-video) 16%,var(--color-surface))}.playlist-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.playlist-card-cover-empty{width:22px;height:22px;color:color-mix(in srgb,var(--color-video) 55%,var(--color-ink-4))}.playlist-card-name{margin:12px 14px 0;font-size:13.5px;font-weight:600;color:var(--color-ink)}.playlist-card-name-input{margin:12px 14px 0;border:1px solid var(--color-ink-4);border-radius:6px;padding:4px 8px;font-family:var(--font-sans);font-size:13.5px;color:var(--color-ink);background:var(--color-surface)}.playlist-card-name-input:focus,.playlist-card-name-input:focus-visible{outline:none;border-color:var(--color-ink)}.playlist-card-count{margin:4px 14px 8px;font-size:11px;color:var(--color-ink-4)}.playlist-card-description{margin:0 14px 14px;font-size:12.5px;line-height:1.5;color:var(--color-ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.playlist-card-controls{display:flex;gap:6px;margin:10px 14px 14px}.playlist-card-control{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.playlist-card-control:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.playlist-card-control svg{width:13px;height:13px}.playlist-card-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:16 / 9;min-height:130px;border:1px dashed var(--color-line);background:transparent;color:var(--color-ink-4);font-family:var(--font-sans);font-size:12.5px;cursor:pointer;box-shadow:none}.playlist-card-new:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.playlist-card-new svg{width:20px;height:20px}.playlist-card-new .playlist-card-name-input{width:80%;margin:0}.playlists-rows{display:flex;flex-direction:column;margin-bottom:4px}.playlist-row{display:grid;grid-template-columns:40px 2fr 90px 100px;align-items:center;gap:14px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:10px 8px;border-radius:8px;cursor:pointer}.playlist-row.is-archive-row{grid-template-columns:40px 2fr 90px 100px auto}.playlist-row:last-child{border-bottom:none}.playlist-row:hover{background:var(--color-surface)}.playlist-row-thumb{position:relative;width:40px;height:40px;border-radius:5px;overflow:hidden;background:color-mix(in srgb,var(--color-video) 16%,var(--color-surface));display:flex;align-items:center;justify-content:center;flex-shrink:0}.playlist-row-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.playlist-row-thumb-empty{width:16px;height:16px;color:color-mix(in srgb,var(--color-video) 55%,var(--color-ink-4))}.playlist-row-name{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-row-count{font-size:12px;color:var(--color-ink-4)}.playlist-row-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);text-align:right}.playlists-table-wrap{overflow-x:auto;margin-bottom:4px}.playlists-table{width:100%;border-collapse:collapse;font-size:12.5px}.playlists-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.playlists-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2);cursor:pointer}.playlists-table tbody tr:last-child td{border-bottom:none}.playlists-table-title{color:var(--color-ink);font-weight:500}.playlists-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.playlists-table-thumb{position:relative;width:64px;height:36px;border-radius:4px;overflow:hidden;background:color-mix(in srgb,var(--color-video) 16%,var(--color-surface));display:flex;align-items:center;justify-content:center}.playlists-table-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.playlists-table-thumb-empty{width:14px;height:14px;color:color-mix(in srgb,var(--color-video) 55%,var(--color-ink-4))}.video-detail-content{max-width:900px;margin:0 auto;padding:40px 40px 80px}.video-detail.is-split{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;max-width:none;margin:0;padding:24px 32px;box-sizing:border-box;display:flex;flex-direction:column;background:#0b0b0c}.video-detail.is-split .video-detail-back,.video-detail.is-split .video-detail-split-toggle{color:#fff9;border-color:#ffffff2e}.video-detail.is-split .video-detail-back:hover,.video-detail.is-split .video-detail-split-toggle:hover{color:#fff;border-color:#ffffff59}.video-detail.is-split .video-detail-split-toggle.is-active{background:#ffffff1f;color:#fff;border-color:#ffffff59}.video-detail.is-split .video-detail-notes-label{color:#fff6}.video-detail.is-split .video-detail-notes-textarea{background:#ffffff0f;border-color:#ffffff24;color:#ffffffe6}.video-detail.is-split .video-detail-notes-textarea::placeholder{color:#ffffff59}.video-detail.is-split .video-detail-notes-textarea:focus,.video-detail.is-split .video-detail-notes-textarea:focus-visible{outline:none;border-color:#fff6;background:#ffffff17;box-shadow:0 0 0 3px #ffffff14}.video-detail-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.video-detail-header-right{display:flex;align-items:center;gap:12px}.video-detail-split-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-ink-4);background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.video-detail-delete-toggle{border-radius:8px!important;height:32px!important}.video-detail-split-toggle:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.video-detail-split-toggle.is-active{background:var(--color-surface-2);color:var(--color-ink);border-color:var(--color-ink-4)}.video-detail-split-toggle svg{width:14px;height:14px}.video-detail-delete-toggle{padding:6px 8px}.video-detail-delete-toggle:hover{color:#b65c4e;border-color:#b65c4e}.video-detail-trash-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,#B65C4E 10%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.video-detail-trash-banner-actions{display:flex;align-items:center;gap:8px}.video-detail-trash-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans)}.video-detail-trash-banner button:hover{border-color:var(--color-ink-4)}.video-detail-trash-banner button.is-danger:hover{color:#b65c4e;border-color:#b65c4e}.video-detail-trash-banner svg{width:12px;height:12px}.video-detail-archive-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,var(--color-ink) 6%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2)}.video-detail-archive-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.video-detail-archive-banner button:hover{border-color:var(--color-ink-4)}.video-detail-archive-banner svg{width:12px;height:12px}.video-detail-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:0;font-size:13px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.video-detail-back:hover{color:var(--color-ink)}.video-detail-back svg{width:15px;height:15px}.video-detail-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;background:var(--color-ink)}.video-detail-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.video-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:24px}.video-detail-title{font-family:var(--font-serif);font-size:26px;font-weight:400;color:var(--color-ink)}.video-detail-watched{flex-shrink:0;display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--color-ink-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.video-detail-watched:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.video-detail-watched.is-watched{color:var(--color-ink);background:var(--color-surface-2);border-color:var(--color-ink-4)}.video-detail-watched svg{width:12px;height:12px;stroke-width:2.5}.video-detail-channel{margin-top:6px;font-size:13px;color:var(--color-ink-3)}.video-detail-tags{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.video-detail-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:3px 9px}.video-detail-tag-remove{display:flex;align-items:center;justify-content:center;width:12px;height:12px;border:none;background:transparent;color:var(--color-ink-5);cursor:pointer;padding:0}.video-detail-tag-remove:hover{color:var(--color-ink)}.video-detail-tag-remove svg{width:10px;height:10px}.video-detail-tag-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px dashed var(--color-line);border-radius:999px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.video-detail-tag-add:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.video-detail-tag-add svg{width:11px;height:11px}.video-detail-tag-input{width:90px;font-family:var(--font-mono);font-size:10px;color:var(--color-ink);background:var(--color-surface);border:1px solid transparent;border-radius:999px;padding:3px 9px;outline:none}.video-detail-tag-input:focus,.video-detail-tag-input:focus-visible{outline:none;border-color:var(--color-ink-4);background:var(--color-paper);box-shadow:0 0 0 3px var(--color-surface-2)}.video-detail-summary{display:block;width:100%;box-sizing:border-box;margin-top:20px;padding:0;border:none;outline:none;resize:none;overflow:hidden;background:transparent;font-family:var(--font-serif);font-size:16px;line-height:1.7;color:var(--color-ink-2)}.video-detail-summary::placeholder{color:var(--color-ink-5);font-style:italic}.video-detail-summary:focus,.video-detail-summary:focus-visible{outline:none;border:none}.video-detail-playlists{display:flex;align-items:center;gap:8px}.video-detail-not-found{max-width:900px;margin:80px auto;text-align:center;color:var(--color-ink-4);font-size:13.5px}.video-detail-focus-body{display:flex;align-items:stretch;gap:24px;flex:1;min-height:0;min-width:0}.video-detail-focus-video{flex:1 1 auto;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}.video-detail-focus-video .video-detail-frame{width:100%}.video-detail-notes{flex:0 0 340px;min-width:0;padding-left:24px;border-left:1px solid var(--color-line);display:flex;flex-direction:column}.video-detail.is-split .video-detail-notes{border-left-color:#ffffff1a}.video-detail-notes-label{display:block;margin-bottom:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4)}.video-detail-notes-textarea{flex:1;width:100%;box-sizing:border-box;resize:none;border:1px solid var(--color-line);border-radius:10px;padding:14px 16px;font-family:var(--font-serif);font-size:14.5px;line-height:1.6;color:var(--color-ink-2);background:var(--color-surface);outline:none}.video-detail-notes-textarea::placeholder{color:var(--color-ink-5);font-style:italic}.video-detail-notes-textarea:focus,.video-detail-notes-textarea:focus-visible{outline:none;border-color:var(--color-ink-4);background:var(--color-paper);box-shadow:0 0 0 3px var(--color-surface-2)}.create-playlist-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.create-playlist-dialog{width:440px;max-height:82vh;display:flex;flex-direction:column;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.create-playlist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-shrink:0}.create-playlist-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.create-playlist-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.create-playlist-close:hover{background:var(--color-surface);color:var(--color-ink)}.create-playlist-close svg{width:15px;height:15px}.create-playlist-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:6px;flex-shrink:0}.create-playlist-videos-label{display:flex;align-items:center;gap:7px;margin-top:16px}.create-playlist-selected-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:var(--color-ink);color:var(--color-paper);font-size:10px;font-weight:600;letter-spacing:normal;text-transform:none}.create-playlist-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none;flex-shrink:0}.create-playlist-input:focus{border-color:var(--color-ink-4)}.create-playlist-search{display:flex;align-items:center;gap:8px;border:1px solid var(--color-line);border-radius:6px;padding:7px 10px;margin-bottom:8px;flex-shrink:0}.create-playlist-search svg{width:13px;height:13px;color:var(--color-ink-4);flex-shrink:0}.create-playlist-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:12.5px;font-family:var(--font-sans);color:var(--color-ink)}.create-playlist-video-list{flex:1 1 auto;min-height:50px;max-height:220px;overflow-y:auto;border:1px solid var(--color-line);border-radius:8px;padding:4px;margin-bottom:16px}.create-playlist-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 16px;text-align:center;font-size:12px;line-height:1.5;color:var(--color-ink-4)}.create-playlist-empty svg{width:20px;height:20px;color:var(--color-ink-5)}.create-playlist-empty p{max-width:260px}.create-playlist-video-row{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;border-radius:6px;padding:6px;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint)}.create-playlist-video-row:hover{background:var(--color-surface)}.create-playlist-video-checkbox{display:flex;align-items:center;justify-content:center;width:15px;height:15px;flex-shrink:0;border:1px solid var(--color-line);border-radius:4px;transition:background-color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.create-playlist-video-checkbox.is-checked{background:var(--color-ink);border-color:var(--color-ink)}.create-playlist-video-checkbox svg{width:10px;height:10px;color:var(--color-paper);stroke-width:3}.create-playlist-video-thumb{flex-shrink:0;width:48px;aspect-ratio:16 / 9;border-radius:4px;overflow:hidden;background:var(--color-video)}.create-playlist-video-thumb img{width:100%;height:100%;object-fit:cover;display:block}.create-playlist-video-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.create-playlist-video-title{font-size:12.5px;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-playlist-video-channel{font-size:11px;color:var(--color-ink-4)}.create-playlist-link-section{flex-shrink:0;border-top:1px solid var(--color-line-soft);padding-top:14px}.create-playlist-link-row{display:flex;gap:8px;flex-shrink:0}.create-playlist-link-row input{flex:1;min-width:0;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none}.create-playlist-link-row input:focus{border-color:var(--color-ink-4)}.create-playlist-link-row button{flex-shrink:0;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-line);border-radius:6px;padding:0 14px;cursor:pointer;font-family:var(--font-sans)}.create-playlist-link-row button:disabled{opacity:.4;cursor:default}.create-playlist-link-row button:not(:disabled):hover{border-color:var(--color-ink-4)}.create-playlist-error{margin:8px 0 0;font-size:12px;color:#b65c4e;flex-shrink:0}.create-playlist-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;flex-shrink:0}.create-playlist-cancel{font-size:12.5px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.create-playlist-cancel:hover{border-color:var(--color-ink-4)}.create-playlist-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.create-playlist-save:disabled{opacity:.4;cursor:default}.create-playlist-save:not(:disabled):hover{opacity:.85}.playlist-detail{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.playlist-detail-content{flex:1;min-height:0;max-width:1100px;width:100%;margin:0 auto;padding:40px 40px 0;box-sizing:border-box;display:flex;flex-direction:column}.playlist-detail-archive-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,var(--color-ink) 6%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2);flex-shrink:0}.playlist-detail-archive-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.playlist-detail-archive-banner button:hover{border-color:var(--color-ink-4)}.playlist-detail-archive-banner svg{width:12px;height:12px}.playlist-detail-back{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin-bottom:28px;font-size:13px;color:var(--color-ink-3);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint)}.playlist-detail-back:hover{color:var(--color-ink)}.playlist-detail-back svg{width:15px;height:15px}.playlist-detail-body{display:flex;align-items:stretch;gap:40px;flex:1;min-height:0}.playlist-detail-hero{flex:0 0 300px;min-height:0;overflow-y:auto;padding-bottom:40px}.playlist-detail-cover{aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-video) 16%,var(--color-surface));box-shadow:var(--shadow-sm)}.playlist-detail-cover img{width:100%;height:100%;object-fit:cover;display:block}.playlist-detail-cover-empty{width:48px;height:48px;color:color-mix(in srgb,var(--color-video) 55%,var(--color-ink-4))}.playlist-detail-title{margin-top:20px;font-family:var(--font-serif);font-size:26px;font-weight:400;color:var(--color-ink);line-height:1.25}.playlist-detail-name-input{display:block;width:100%;box-sizing:border-box;margin-top:20px;border:1px solid var(--color-ink-4);border-radius:6px;padding:6px 8px;font-family:var(--font-serif);font-size:22px;color:var(--color-ink);background:var(--color-surface);outline:none}.playlist-detail-meta{margin-top:8px;font-size:13px;color:var(--color-ink-4)}.playlist-detail-hero-actions{display:flex;gap:8px;margin-top:20px}.playlist-detail-hero-actions button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--color-ink-2);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:0;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.playlist-detail-hero-actions button:hover{border-color:var(--color-ink-4);color:var(--color-ink)}.playlist-detail-hero-actions button.is-danger:hover{border-color:#b65c4e;color:#b65c4e}.playlist-detail-hero-actions svg{width:14px;height:14px}.playlist-detail-description{display:block;width:100%;box-sizing:border-box;margin-top:18px;padding:0;border:none;outline:none;resize:none;overflow:hidden;background:transparent;font-family:var(--font-serif);font-size:14px;line-height:1.6;color:var(--color-ink-2)}.playlist-detail-description::placeholder{color:var(--color-ink-5);font-style:italic}.playlist-detail-list{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;padding-bottom:40px;display:flex;flex-direction:column;gap:4px;margin-top:-8px}.playlist-detail-empty{padding:40px 0;text-align:center;font-size:13.5px;color:var(--color-ink-4)}.playlist-detail-row{display:flex;align-items:center;gap:14px;padding:8px;border-radius:8px;cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.playlist-detail-row:hover{background:var(--color-surface)}.playlist-detail-row-thumb{flex-shrink:0;width:140px;aspect-ratio:16 / 9;border-radius:6px;overflow:hidden;background:var(--color-video)}.playlist-detail-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}.playlist-detail-row-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.playlist-detail-row-title{font-size:14px;font-weight:500;color:var(--color-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.playlist-detail-row-channel{font-size:12px;color:var(--color-ink-4)}.playlist-detail-row-chip{flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-4);background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:999px;padding:3px 9px}.playlist-detail-row-remove{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-ink-5);border-radius:999px;cursor:pointer;opacity:0;transition:opacity .15s var(--ease-out-quint),color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.playlist-detail-row:hover .playlist-detail-row-remove{opacity:1}.playlist-detail-row-remove:hover{color:#b65c4e;background:var(--color-surface-2)}.playlist-detail-row-remove svg{width:14px;height:14px}.playlist-detail-not-found{max-width:900px;margin:80px auto;text-align:center;color:var(--color-ink-4);font-size:13.5px}.playlist-detail-not-found button{display:block;margin:16px auto 0;font-size:13px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:6px;padding:7px 14px;cursor:pointer;font-family:var(--font-sans)}.memories{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.memories-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-paper)}.memories-close{position:absolute;top:24px;right:32px;z-index:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-ink-4);cursor:pointer;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.memories-close:hover{border-color:var(--color-line);background:var(--color-surface);color:var(--color-ink)}.memories-close svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5}.memories-board{position:relative;height:100%;overflow-y:auto;box-sizing:border-box;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:40px;padding:96px 64px}.memories-card{position:relative;width:200px;aspect-ratio:594 / 723;flex-shrink:0;background-size:100% 100%;background-repeat:no-repeat;box-sizing:border-box;padding:42px 24px 46px;display:flex;flex-direction:column}.memories-card-date{font-size:9px}.memories-card-quote{margin-top:10px;font-family:var(--font-serif);font-size:13px;line-height:1.5;color:var(--color-ink-2)}.add-doc{position:relative}.add-doc-trigger{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.add-doc-trigger:hover{opacity:.85}.add-doc-chevron{width:13px;height:13px;transition:transform .15s var(--ease-out-quint)}.add-doc-chevron.is-open{transform:rotate(180deg)}.add-doc-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:208px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:10px;box-shadow:var(--shadow-md);padding:6px}.add-doc-menu-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 10px 6px}.add-doc-menu-item{display:flex;align-items:center;gap:10px;width:100%;font-size:13px;color:var(--color-ink-2);background:transparent;border:none;border-radius:6px;padding:8px 10px;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint)}.add-doc-menu-item:hover{background:var(--color-surface)}.add-doc-menu-icon{width:15px;height:15px;color:var(--color-ink-4);flex-shrink:0}.add-doc-menu-divider{height:1px;background:var(--color-line-soft);margin:6px 4px}.add-doc-file-input{display:none}.documents{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.documents-header{margin-bottom:28px}.documents-header-row{display:flex;align-items:center;justify-content:space-between}.documents-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.documents-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.documents-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.documents-header-action svg{width:13px;height:13px}.documents-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.documents-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.documents-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.documents-search{display:flex;align-items:center;gap:9px;flex:1 1 260px;max-width:360px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.documents-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.documents-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.documents-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.documents-toolbar-spacer{flex:1 0 12px}.documents-toolbar-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--color-line-soft)}.documents-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.documents-filters-group .ui-select,.documents-filters-group .multi-select,.documents-filters-group .date-filter{display:flex}.documents-filters-group .ui-select-trigger,.documents-filters-group .multi-select-trigger,.documents-filters-group .date-filter-trigger{height:100%;box-sizing:border-box;border-radius:6px}.documents-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.documents-layout-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px}.documents-layout-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:4px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.documents-layout-btn svg{width:13px;height:13px}.documents-layout-btn:hover{color:var(--color-ink)}.documents-layout-btn.is-active{background:var(--color-surface-2);color:var(--color-ink)}.documents-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}[data-loading=true]{opacity:.55;pointer-events:none;transition:opacity .15s var(--ease-out-quint)}.documents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.doc-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;border:1px solid var(--color-line);border-radius:12px;padding:18px;background:var(--color-paper);cursor:pointer;font-family:var(--font-sans);box-shadow:var(--shadow-sm);transition:border-color .18s var(--ease-out-quint),box-shadow .18s var(--ease-out-quint),transform .18s var(--ease-out-quint)}.doc-card:hover{border-color:var(--color-ink-4);box-shadow:var(--shadow-md);transform:translateY(-2px)}.doc-card-top{display:flex;align-items:center;justify-content:space-between;width:100%}.doc-card-icon-badge,.doc-row-icon-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--doc-color, var(--color-doc)) 13%,var(--color-paper));flex-shrink:0}.doc-row-icon-badge{width:26px;height:26px;border-radius:7px}.doc-card-icon,.doc-row-icon{width:15px;height:15px;color:var(--doc-color, var(--color-doc))}.doc-row-icon{width:13px;height:13px}.doc-card-status{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.doc-card-status-dot{width:6px;height:6px;border-radius:999px;flex-shrink:0}.doc-card-lock{width:10px;height:10px;color:var(--color-ink-5)}.doc-card-title{font-size:14.5px;font-weight:500;color:var(--color-ink);line-height:1.4;word-break:break-word}.doc-card-tags{display:flex;flex-wrap:wrap;gap:5px}.doc-card-tag{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-4);background:var(--color-surface);border-radius:999px;padding:2px 8px}.doc-card-date{margin-top:auto;font-size:11px;color:var(--color-ink-5)}.doc-card-trash-actions{position:absolute;top:12px;right:12px;display:flex;gap:4px}.doc-card-trash-actions button,.doc-row-trash-actions button,.documents-table-trash-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);color:var(--color-ink-4);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.doc-card-trash-actions button:hover,.doc-row-trash-actions button:hover,.documents-table-trash-actions button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.doc-card-trash-actions button:last-child:hover,.doc-row-trash-actions button:last-child:hover,.documents-table-trash-actions button:last-child:hover{color:#b65c4e;border-color:#b65c4e}.doc-card-trash-actions svg,.doc-row-trash-actions svg,.documents-table-trash-actions svg{width:13px;height:13px}.documents-table-trash-actions{display:flex;gap:4px;justify-content:flex-end}.documents-rows{display:flex;flex-direction:column;margin-bottom:4px}.doc-row{display:grid;grid-template-columns:26px 2fr 1.4fr 100px 90px;align-items:center;gap:16px;width:100%;border:none;border-bottom:1px solid var(--color-line-soft);background:transparent;padding:10px 8px;cursor:pointer;text-align:left;font-family:var(--font-sans);border-radius:8px;transition:background-color .15s var(--ease-out-quint)}.doc-row.is-trash-row{grid-template-columns:26px 2fr 1.4fr 100px 90px auto}.doc-row-trash-actions{display:flex;gap:4px}.doc-row:last-child{border-bottom:none}.doc-row:hover{background:var(--color-surface)}.doc-row-title{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-row-tags{font-size:12px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-row-status{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.doc-row-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);text-align:right}.documents-table-wrap{overflow-x:auto;margin-bottom:4px}.documents-table{width:100%;border-collapse:collapse;font-size:12.5px}.documents-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.documents-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2)}.documents-table tbody tr{cursor:pointer;transition:background-color .15s var(--ease-out-quint)}.documents-table tbody tr:last-child td{border-bottom:none}.documents-table tbody tr:hover{background:var(--color-surface)}.documents-table-title{color:var(--color-ink);font-weight:500}.documents-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.documents-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-line-soft)}.documents-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.documents-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.documents-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.documents-page-nav button svg{width:13px;height:13px}.documents-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.documents-page-nav button:disabled{opacity:.35;cursor:default}.doc-render-frame{width:100%;height:100%;border:none;background:var(--color-paper)}.doc-render{height:100%;overflow-y:auto;padding:32px 40px}.doc-render-md{max-width:72ch;margin:0 auto}.doc-render-md h1,.doc-render-md h2,.doc-render-md h3{font-family:var(--font-serif);font-weight:500;letter-spacing:-.01em;color:var(--color-ink);margin:1.4em 0 .5em}.doc-render-md h1:first-child,.doc-render-md h2:first-child{margin-top:0}.doc-render-md p{margin:0 0 1em}.doc-render-md a{color:var(--color-ink);text-decoration-color:var(--color-ink-5)}.doc-render-md code{font-family:var(--font-mono);font-size:.85em;background:var(--color-surface);padding:.15em .4em;border-radius:4px}.doc-render-md pre{background:var(--color-surface);border:1px solid var(--color-line);border-radius:8px;padding:14px 16px;overflow-x:auto}.doc-render-md pre code{background:none;padding:0}.doc-render-md ul,.doc-render-md ol{padding-left:1.4em}.doc-render-md blockquote{margin:0 0 1em;padding-left:1em;border-left:2px solid var(--color-line);color:var(--color-ink-3)}.doc-render-json{font-family:var(--font-mono);font-size:13px}.doc-render-json pre{margin:0;white-space:pre-wrap;word-break:break-word}.doc-render-warning{margin-bottom:14px;font-family:var(--font-sans);font-size:12.5px;color:#b65c4e}.doc-render-json .jk{color:var(--color-ink-3)}.doc-render-json .js{color:#5b8a5a}.doc-render-json .jn{color:#4c7c9e}.doc-render-json .jb,.doc-render-json .jz{color:#8b76a8}.publish-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17140fb3;display:flex;align-items:center;justify-content:center}.publish-dialog{width:380px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;transform-origin:center}.publish-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.publish-dialog-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.publish-dialog-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.publish-dialog-close:hover{background:var(--color-surface);color:var(--color-ink)}.publish-dialog-close svg{width:15px;height:15px}.publish-dialog-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-4);margin-bottom:8px}.publish-dialog-expiry{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.publish-dialog-chip{font-size:12px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.publish-dialog-chip:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.publish-dialog-chip.is-selected{color:var(--color-paper);background:var(--color-ink);border-color:var(--color-ink)}.publish-dialog-toggle-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-ink-2);margin-bottom:12px;cursor:pointer}.publish-dialog-toggle-row input{accent-color:var(--color-ink)}.publish-dialog-input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none;margin-bottom:6px}.publish-dialog-input:focus{border-color:var(--color-ink-4)}.publish-dialog-link-row{display:flex;gap:8px;margin-bottom:10px}.publish-dialog-link{flex:1;min-width:0;border:1px solid var(--color-line);border-radius:6px;padding:8px 10px;font-size:12px;font-family:var(--font-mono);color:var(--color-ink-2);background:var(--color-surface)}.publish-dialog-copy{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.publish-dialog-copy:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.publish-dialog-copy svg{width:14px;height:14px}.publish-dialog-meta{font-size:12px;color:var(--color-ink-4);margin:0 0 18px}.publish-dialog-email-row{display:flex;gap:8px;margin-bottom:6px}.publish-dialog-email-row .publish-dialog-input{margin-bottom:0}.publish-dialog-send{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),opacity .15s var(--ease-out-quint)}.publish-dialog-send:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.publish-dialog-send:disabled{opacity:.4;cursor:default}.publish-dialog-send svg{width:14px;height:14px}.publish-dialog-email-hint{font-size:11px;color:var(--color-ink-5);margin:0 0 12px}.publish-dialog-email-note{font-size:11.5px;color:var(--color-ink-3);background:var(--color-surface);border-radius:6px;padding:8px 10px;margin:-6px 0 18px}.publish-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:4px}.publish-dialog-unpublish{font-size:12.5px;font-weight:500;color:#b65c4e;background:transparent;border:1px solid var(--color-line);border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s var(--ease-out-quint)}.publish-dialog-unpublish:hover{border-color:#b65c4e}.publish-dialog-save{font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:7px 16px;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s var(--ease-out-quint)}.publish-dialog-save:disabled{opacity:.4;cursor:default}.publish-dialog-save:not(:disabled):hover{opacity:.85}.doc-detail{display:flex;flex-direction:column;height:100%;min-height:0}.doc-detail-header{display:flex;align-items:center;gap:12px;padding:20px 32px;border-bottom:1px solid var(--color-line-soft);flex-shrink:0}.doc-detail-back{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:6px;flex-shrink:0;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.doc-detail-back:hover{background:var(--color-surface);color:var(--color-ink)}.doc-detail-back svg{width:16px;height:16px}.doc-detail-format-icon{width:17px;height:17px;color:var(--color-doc);flex-shrink:0}.doc-detail-title{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-serif);font-size:22px;font-weight:400;color:var(--color-ink);padding:2px 0}.doc-detail-save-state{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-5);min-width:52px}.doc-detail-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.doc-detail-action{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:transparent;border:1px solid var(--color-line);border-radius:6px;padding:7px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.doc-detail-action svg{width:14px;height:14px}.doc-detail-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.doc-detail-action.is-live{color:var(--color-ink);background:var(--color-surface);font-weight:500}.doc-detail-delete{padding:9px}.doc-detail-delete:hover{color:#b65c4e;border-color:#b65c4e}.doc-detail-trash-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 32px;background:color-mix(in srgb,#B65C4E 10%,var(--color-paper));border-bottom:1px solid var(--color-line-soft);font-size:12.5px;color:var(--color-ink-2);flex-shrink:0}.doc-detail-trash-banner-actions{display:flex;align-items:center;gap:8px}.doc-detail-trash-banner button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans)}.doc-detail-trash-banner button:hover{border-color:var(--color-ink-4)}.doc-detail-trash-banner button.is-danger:hover{color:#b65c4e;border-color:#b65c4e}.doc-detail-trash-banner svg{width:12px;height:12px}.doc-detail-meta-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 32px;border-bottom:1px solid var(--color-line-soft);flex-shrink:0}.doc-detail-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1;min-width:0}.doc-detail-tag{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:11px;color:var(--color-ink-3);background:var(--color-surface);border-radius:999px;padding:3px 6px 3px 10px}.doc-detail-tag button{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-ink-5);cursor:pointer;padding:2px}.doc-detail-tag button svg{width:10px;height:10px}.doc-detail-tag-input{border:none;outline:none;background:transparent;font-size:12px;font-family:var(--font-sans);color:var(--color-ink);padding:4px 2px;min-width:100px}.doc-detail-view-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px;flex-shrink:0}.doc-detail-view-switch button{font-size:12px;color:var(--color-ink-3);background:transparent;border:none;border-radius:4px;padding:5px 12px;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.doc-detail-view-switch button.is-active{background:var(--color-surface-2);color:var(--color-ink);font-weight:500}.doc-detail-json-warning{padding:8px 32px;font-size:12px;color:#b65c4e;background:#b65c4e14;flex-shrink:0}.doc-detail-body{flex:1;min-height:0;display:flex}.doc-detail-body-split{gap:0}.doc-detail-editor{flex:1;min-width:0;min-height:0;border:none;outline:none;resize:none;padding:28px 32px;font-family:var(--font-mono);font-size:13px;line-height:1.65;color:var(--color-ink-2);background:var(--color-paper)}.doc-detail-body-split .doc-detail-editor{border-right:1px solid var(--color-line-soft)}.doc-detail-editor:focus,.doc-detail-editor:focus-visible{outline:none}.doc-detail-preview{flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--color-paper)}.doc-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;color:var(--color-ink-4);font-size:14px}.doc-detail-empty button{font-size:12.5px;color:var(--color-ink);background:var(--color-surface);border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-family:var(--font-sans)}.doc-sandbox{display:flex;flex-direction:column;height:100vh;background:var(--color-paper)}.doc-sandbox-bar{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--color-line-soft);background:var(--color-surface);flex-shrink:0}.doc-sandbox-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-4);border:1px solid var(--color-line);border-radius:999px;padding:3px 10px}.doc-sandbox-title{font-size:13px;color:var(--color-ink-2)}.doc-sandbox-body{flex:1;min-height:0}.doc-sandbox-empty{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--color-ink-4);font-size:14px}.doc-public{height:100vh}.doc-public-empty{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--color-ink-4);font-size:14px;font-family:var(--font-sans);background:var(--color-paper)}.doc-public-gate{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--color-paper)}.doc-public-gate-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:280px;text-align:center}.doc-public-gate-icon{width:22px;height:22px;color:var(--color-ink-4);margin-bottom:4px}.doc-public-gate-title{font-family:var(--font-serif);font-size:18px;font-weight:400;color:var(--color-ink);margin-bottom:6px}.doc-public-gate-card input{width:100%;box-sizing:border-box;border:1px solid var(--color-line);border-radius:6px;padding:9px 12px;font-size:13px;font-family:var(--font-sans);color:var(--color-ink);background:transparent;outline:none;text-align:center}.doc-public-gate-card input:focus{border-color:var(--color-ink-4)}.doc-public-gate-error{font-size:12px;color:#b65c4e}.doc-public-gate-card button{width:100%;font-size:12.5px;font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:6px;padding:9px 16px;cursor:pointer;font-family:var(--font-sans);margin-top:4px;transition:opacity .15s var(--ease-out-quint)}.doc-public-gate-card button:hover{opacity:.85}.hub-section{margin-bottom:8px}.hub-section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.hub-section-icon-wrap{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:color-mix(in srgb,var(--hub-color) 16%,var(--color-paper));flex-shrink:0}.hub-section-icon{width:14px;height:14px;color:var(--hub-color)}.hub-section-name{font-size:15px;font-weight:500;color:var(--color-ink)}.hub-section-count{font-size:12px;color:var(--color-ink-4)}.hub-section-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.hub-section-link{font-size:12.5px;color:var(--color-ink-3);text-decoration:none;transition:color .15s var(--ease-out-quint);border:1px solid var(--color-line);padding:6px 12px;border-radius:999px}.hub-section-link:hover{color:var(--color-ink)}.hub-section-nav{display:flex;gap:6px}.hub-section-nav button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--color-paper);border:1px solid var(--color-line);color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.hub-section-nav button:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.hub-section-nav button:disabled{opacity:.4;cursor:default;pointer-events:none}.hub-section-nav svg{width:15px;height:15px}.hub-section-empty{font-size:13px;color:var(--color-ink-5);padding:12px 0 8px;font-weight:400;text-align:center}.hub-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-behavior:smooth;scrollbar-width:none}.hub-row::-webkit-scrollbar{display:none}.hub-card{flex-shrink:0;width:220px;display:flex;flex-direction:column;text-decoration:none;cursor:pointer}.hub-card-thumb{position:relative;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:var(--color-surface);display:flex;align-items:center;justify-content:center}.hub-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.hub-card-thumb svg{width:22px;height:22px;color:var(--color-ink-4)}.hub-card-title{margin-top:8px;font-size:13px;font-weight:500;color:var(--color-ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hub-card-meta{margin-top:3px;font-size:11.5px;line-height:1.5;color:var(--color-ink-4);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.hub-card-initials{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;letter-spacing:.02em;color:var(--color-ink-4);background:var(--color-surface)}.hub{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.hub-header{margin-bottom:32px}.hub-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.hub-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.hub-sections{display:flex;flex-direction:column;gap:32px}.hub-empty{height:calc(100vh - 300px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:56px 0;color:var(--color-ink-5);font-size:13px}.hub-empty svg{width:24px;height:24px}.logs{max-width:1180px;margin:0 auto;padding:56px 40px 40px}.logs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.logs-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.logs-header-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-ink-3);background:var(--color-paper);border:1px solid var(--color-line);border-radius:6px;padding:8px 14px;cursor:pointer;font-family:var(--font-sans);transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.logs-header-action:hover{color:var(--color-ink);border-color:var(--color-ink-4)}.logs-header-action.is-primary{color:var(--color-paper);background:var(--color-ink);font-weight:500}.logs-header-action svg{width:13px;height:13px}.logs-title{font-family:var(--font-serif);font-size:32px;font-weight:300;letter-spacing:-.02em}.logs-meta{margin-top:8px;font-size:13px;color:var(--color-ink-3)}.logs-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--color-line-soft)}.logs-search{display:flex;align-items:center;gap:9px;flex:1 1 260px;max-width:360px;background:var(--color-surface);border:1px solid transparent;border-radius:8px;padding:9px 14px;transition:border-color .15s var(--ease-out-quint),background-color .15s var(--ease-out-quint)}.logs-search:focus-within{background:var(--color-paper);border-color:var(--color-ink-4)}.logs-search-icon{width:14px;height:14px;color:var(--color-ink-4);flex-shrink:0}.logs-search input{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:var(--font-sans);color:var(--color-ink)}.logs-toolbar-spacer{flex:1 0 12px}.logs-toolbar-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--color-line-soft)}.logs-filters-group{display:flex;align-items:stretch;gap:3px;border:1px solid var(--color-line);border-radius:9px;padding:3px}.logs-filters-group .multi-select,.logs-filters-group .date-filter{display:flex}.logs-filters-group .multi-select-trigger,.logs-filters-group .date-filter-trigger{height:100%;box-sizing:border-box;border-radius:6px}.logs-filters-divider{align-self:center;width:1px;height:16px;flex-shrink:0;background:var(--color-line-soft)}.logs-layout-switch{display:flex;gap:2px;border:1px solid var(--color-line);border-radius:6px;padding:2px}.logs-layout-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;border:none;background:transparent;color:var(--color-ink-4);cursor:pointer;border-radius:4px;transition:background-color .15s var(--ease-out-quint),color .15s var(--ease-out-quint)}.logs-layout-btn svg{width:13px;height:13px}.logs-layout-btn:hover{color:var(--color-ink)}.logs-layout-btn.is-active{background:var(--color-surface-2);color:var(--color-ink)}.logs-empty{padding:64px 0;text-align:center;color:var(--color-ink-4);font-size:13.5px;align-items:center;justify-content:center;display:flex;height:calc(100vh - 364px)}.logs-rows{display:flex;flex-direction:column;margin-bottom:4px}.log-row{display:grid;grid-template-columns:26px 100px 1.8fr 130px 100px;align-items:center;gap:14px;width:100%;border-bottom:1px solid var(--color-line-soft);padding:10px 8px;border-radius:8px;transition:background-color .15s var(--ease-out-quint)}.log-row-icon-badge{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:color-mix(in srgb,var(--log-color) 13%,var(--color-paper));flex-shrink:0}.log-row-icon{width:13px;height:13px;color:var(--log-color)}.log-row:last-child{border-bottom:none}.log-row:hover{background:var(--color-surface)}.log-row-category{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row-title{font-size:13.5px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row-value{font-family:var(--font-mono);font-size:12px;color:var(--color-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row-date{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-4);text-align:right}.logs-table-wrap{overflow-x:auto;margin-bottom:4px}.logs-table{width:100%;border-collapse:collapse;font-size:12.5px}.logs-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-5);padding:8px 12px;border-bottom:1px solid var(--color-line)}.logs-table td{padding:10px 12px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink-2)}.logs-table tbody tr{transition:background-color .15s var(--ease-out-quint)}.logs-table tbody tr:last-child td{border-bottom:none}.logs-table tbody tr:hover{background:var(--color-surface)}.logs-table-category{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--log-color);background:color-mix(in srgb,var(--log-color) 13%,var(--color-paper));border-radius:999px;padding:3px 9px}.logs-table-title{color:var(--color-ink);font-weight:500}.logs-table-mono{font-family:var(--font-mono);color:var(--color-ink-4)}.logs-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-line-soft)}.logs-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-ink-4)}.logs-page-nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-ink-3);font-family:var(--font-mono)}.logs-page-nav button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-line);border-radius:6px;background:transparent;color:var(--color-ink-3);cursor:pointer;transition:color .15s var(--ease-out-quint),border-color .15s var(--ease-out-quint)}.logs-page-nav button svg{width:13px;height:13px}.logs-page-nav button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-4)}.logs-page-nav button:disabled{opacity:.35;cursor:default}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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-outline-style:solid;--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:"Instrument Sans", system-ui, sans-serif;--font-serif:"Newsreader", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--spacing:.25rem;--font-weight-medium:500;--shadow-sm:0 1px 2px #17140f0d;--shadow-md:0 10px 24px -12px #17140f38;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#fdfcfa;--color-surface:#f5f3ef;--color-surface-2:#e8e5df;--color-surface-3:#ddd8ce;--color-line:#d8d5cf;--color-line-soft:#e7e4dd;--color-ink:#17140f;--color-ink-2:#2b251e;--color-ink-3:#423c32;--color-ink-4:#726a5c;--color-ink-5:#948c7a;--color-accent:#b89b5e;--color-accent-strong:#9c7f44;--color-accent-ink:#faf9f6;--color-accent-soft:#b89b5e29;--color-selected-bg:#efece7;--color-journal:#9c6b4f;--color-thought:#786a94;--color-note:#8c7a3f;--color-video:#4f7a94;--color-link:#4f7a5c;--color-doc:#5a6c94;--color-log:#a2593c;--color-habit-read:#c17d3a;--color-habit-walk:#5b8a5a;--color-habit-write:#4c7c9e;--color-habit-screens:#b65c4e;--color-habit-meditate:#8b76a8;--color-heat-1:#e8d9a8;--color-heat-2:#d9a855;--color-heat-3:#c17d3a;--color-heat-4:#9c4a38;--shadow-gold:0 1px 2px #17140f14, 0 6px 16px -8px #b89b5e73;--ease-out-quint:cubic-bezier(.22, 1, .36, 1)}}@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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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 components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-1\/2{top:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-12{margin-top:calc(var(--spacing) * 12)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-\[9px\]{height:9px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-0{min-height:0}.w-\[28px\]{width:28px}.w-\[110px\]{width:110px}.w-\[280px\]{width:280px}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-\[232px_1fr\]{grid-template-columns:232px 1fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-ink{border-color:var(--color-ink)}.bg-ink{background-color:var(--color-ink)}.bg-line{background-color:var(--color-line)}.bg-paper{background-color:var(--color-paper)}.object-cover{object-fit:cover}.font-serif{font-family:var(--font-serif)}.text-\[clamp\(64px\,9vw\,132px\)\]{font-size:clamp(64px,9vw,132px)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.text-ink{color:var(--color-ink)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-10{opacity:.1}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.invert{--tw-invert:invert(100%);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,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);letter-spacing:-.005em;margin:0;font-size:14px;line-height:1.55}::selection{background:var(--color-surface-2)}:focus-visible{outline:none}.label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-3);font-size:10px}.prose-serif{font-family:var(--font-serif);letter-spacing:0;max-width:64ch;font-size:19px;line-height:1.72}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
