.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);width:260px;min-width:260px;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur) var(--ease);z-index:150;flex-direction:column;flex-shrink:0;display:flex;position:relative}.sidebar.collapsed>*{display:none!important}.sidebar-header{justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.workspace-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.workspace-name--hw{font-size:13px}.collapse-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:var(--r-xs);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur) var(--ease);pointer-events:auto;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.collapse-btn:hover{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.sidebar-section{padding:8px 0}.section-header{color:var(--text-tertiary);text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:4px;padding:0 16px;font-size:11px;font-weight:600;display:flex}.add-protocol-btn{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.nav-items{flex-direction:column;display:flex}.nav-item{border-radius:var(--r-xs);text-align:left;color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;margin:0 12px;padding:8px 12px;font-size:14px;display:flex}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-item-wrapper{border-radius:var(--r-xs);align-items:center;margin:0 12px;display:flex}.nav-item-wrapper:hover{background:var(--bg-tertiary)}.nav-item-wrapper .nav-item{margin:0}.nav-item-wrapper .nav-item:hover{background:0 0}.nav-item-wrapper.dragging{opacity:.5}.nav-item-remove-btn{cursor:pointer;color:var(--text-tertiary);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);background:0 0;border:none;padding:4px 8px}.nav-item-wrapper:hover .nav-item-remove-btn{opacity:.5;pointer-events:auto}.nav-item-remove-btn:hover{color:#ff6b6b;opacity:1!important}.nav-item:hover{background:var(--bg-tertiary)}.nav-item.active{background:var(--accent-subtle);color:var(--text-primary)}.sidebar-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:4px;margin-top:auto;padding:8px 12px;display:flex}.footer-btn{border-radius:var(--r-xs);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.footer-btn:hover{background:var(--bg-tertiary)}.user-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.user-avatar{border-radius:50%;width:32px;height:32px}.user-avatar-initial{background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.sidebar-mobile-backdrop{animation:motion-overlay-in var(--dur) var(--ease);z-index:499;-webkit-backdrop-filter:blur(2px);background:#0006;display:none;position:fixed;inset:0}@media (width<=768px){.sidebar{z-index:500;transition:transform var(--dur) var(--ease);position:fixed;top:0;bottom:0;left:0;transform:translate(0);width:260px!important;min-width:260px!important}.sidebar.collapsed{transform:translate(-100%)}html body .sidebar.collapsed{position:fixed;width:260px!important;min-width:260px!important;overflow:hidden!important}.sidebar.collapsed>*{display:flex!important}body .sidebar.collapsed:after{display:none!important}.sidebar-mobile-backdrop{display:block}.nav-item-remove-btn{opacity:.45;pointer-events:auto}.sidebar{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.sidebar-body{padding-bottom:12px;scroll-padding-bottom:12px}}.workspace-name{flex-wrap:nowrap;align-items:baseline;gap:.31em;display:flex}.workspace-mark{flex-shrink:0;width:.62em;height:.62em}@media (width<=768px){.nav-item{min-height:44px}.add-protocol-btn{min-width:44px;min-height:44px}.footer-btn{width:44px;height:44px}.user-avatar-btn{min-width:44px;min-height:44px}.user-avatar,.user-avatar-initial{width:36px;height:36px}}@media (width<=1024px){.sidebar .nav-item,.sidebar .add-protocol-btn,.sidebar .collapse-btn,.sidebar .footer-btn,.sidebar .user-avatar-btn,.sidebar .nav-item-remove-btn{flex-shrink:0;min-height:44px}.sidebar .add-protocol-btn,.sidebar .collapse-btn,.sidebar .footer-btn,.sidebar .user-avatar-btn,.sidebar .nav-item-remove-btn{min-width:44px}}.sidebar-navigation{padding:8px 0}.sidebar-block+.sidebar-block{margin-top:20px}.sidebar-group-heading{color:var(--text-secondary);font-size:12px;font-weight:500}.protocol-app-group>.sidebar-group-heading{width:calc(100% - 24px)}.sidebar-chevron{margin-left:auto}.sidebar-children{border-left:1px solid var(--border-color);margin:4px 12px 0 24px;padding-left:8px}.sidebar-children .nav-item-wrapper{margin:0}.sidebar-children .nav-item{width:100%;min-width:0;color:var(--text-secondary);margin:0;font-size:13px}.sidebar-children .nav-item.active{color:var(--text-primary);background:var(--bg-tertiary);box-shadow:inset 2px 0 var(--text-secondary)}.sidebar-store-heading{align-items:center;padding-right:12px;display:flex}.sidebar-store-heading>.nav-item{flex:1;margin-right:0}.sidebar .nav-item:focus-visible,.sidebar .collapse-btn:focus-visible,.sidebar :is(.footer-btn,.user-avatar-btn):focus-visible,.top-bar :is(.nav-open-btn,.btn-header-secondary,.btn-new):focus-visible{outline:2px solid var(--text-secondary);outline-offset:-2px}.protocol-view-header{flex-shrink:0;padding:12px 24px 0}.protocol-view-name{color:var(--text-primary);margin-bottom:8px;font-size:14px}.protocol-view-tabs{flex-shrink:0;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.protocol-view-tabs a,.protocol-view-tabs button{white-space:nowrap;font:inherit;color:var(--text-secondary);border-radius:var(--r-xs);cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:13px;text-decoration:none}.protocol-view-tabs :is(a,button):hover{background:var(--bg-tertiary)}.protocol-view-tabs [aria-current=page],.protocol-view-tabs [aria-selected=true]{color:var(--text-primary);background:var(--accent-subtle)}.protocol-view-tabs :focus-visible{outline:2px solid var(--text-secondary);outline-offset:-2px}.journal-workspace{flex-direction:column;flex:1;min-height:0;display:flex}.journal-workspace>.protocol-view-tabs{padding-inline:12px}.journal-workspace-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.journal-workspace-panel[hidden]{display:none}.sidebar-protocol-list{overscroll-behavior:contain;max-height:min(20dvh,176px);overflow-y:auto}.sidebar .nav-label{min-width:0}.sidebar .nav-item{min-width:0;min-height:44px}.sidebar .nav-item>svg{flex-shrink:0}.sidebar .nav-item-wrapper>.nav-item{flex:1 1 0;width:auto}.sidebar-header{flex-shrink:0}.sidebar :is(.collapse-btn,.footer-btn,.user-avatar-btn,.nav-item-remove-btn){flex-shrink:0;min-width:44px;min-height:44px}.sidebar .nav-item-remove-btn{color:var(--text-secondary)}.sidebar .nav-item-wrapper:is(:hover,:focus-within) .nav-item-remove-btn{opacity:1;pointer-events:auto}.sidebar .nav-item-remove-btn:hover{color:var(--text-primary)}@media (width<=768px){.sidebar .nav-item-remove-btn{opacity:1}}.protocol-view-header,.journal-workspace,.journal-workspace-panel{min-width:0}.protocol-view-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.protocol-view-tabs :is(a,button){flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}@media (width<=768px){.protocol-view-header{padding-inline:16px}.protocol-view-tabs{gap:0}.protocol-view-tabs :is(a,button){padding-inline:8px}}.calendar-layout{gap:24px;height:100%;display:flex}.goals-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;width:280px;min-width:280px;display:flex}.goals-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.goals-header h2{margin:0;font-size:14px;font-weight:600}.icon-btn-sm{border-radius:var(--r-sm,10px);width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-btn-sm:hover{background:var(--bg-tertiary);color:var(--text-primary)}.goal-input-wrapper{border-bottom:1px solid var(--border-color);padding:16px}.goal-input-wrapper .goal-input{font-size:13px}.goals-list{flex-direction:column;flex:1;min-height:0;padding:8px;display:flex;overflow-y:auto}.goals-empty{text-align:center;flex:1;justify-content:center;align-items:center;padding:40px 16px;display:flex}.goals-empty p{margin:0;font-size:13px}.goal-item{border-radius:var(--r-xs);flex-direction:column;gap:6px;margin-bottom:1px;padding:8px;display:flex}.goal-item-header{align-items:center;gap:12px;display:flex}.goal-linked-schedules{flex-direction:column;gap:2px;padding-left:30px;display:flex}.goal-linked-schedule-item{border-radius:var(--r-xs);color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:8px;padding:3px 6px;font-size:12px;display:flex}.goal-linked-schedule-item:hover{background:var(--bg-primary)}.goal-linked-schedule-item{transition:background var(--dur-fast) var(--ease), color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000}.goal-linked-schedule-item.completed{color:var(--text-tertiary);text-decoration-color:currentColor}.linked-schedule-date{font-variant-numeric:tabular-nums;color:var(--text-tertiary);flex-shrink:0}.linked-schedule-title{-webkit-line-clamp:2;line-clamp:2;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;min-width:0;color:var(--text-primary);-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.linked-schedule-time{color:var(--text-tertiary);flex-shrink:0}.goal-item:hover{background:var(--bg-tertiary)}.goal-item.completed .goal-text{color:var(--text-tertiary);text-decoration-color:currentColor}.goal-checkbox{border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.goal-checkbox.checked{background:var(--success-soft);border-color:var(--success-line);color:var(--success)}.goal-text{color:var(--text-primary);transition:color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);flex:1;font-size:13px;-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000}.goal-delete-btn{width:24px;height:24px;color:var(--text-tertiary);background:0 0;border:none;padding:0;font-size:18px}.calendar-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.calendar-grid-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.calendar-grid.grid-month{scrollbar-gutter:stable;flex:1;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow-y:auto}.calendar-grid.grid-month .calendar-cell{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);cursor:pointer;min-width:0;min-height:100px;padding:8px}.calendar-grid.grid-month .calendar-cell:nth-child(7n){border-right:none}.weekday-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);scrollbar-gutter:stable;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.weekday-label{text-align:center;color:var(--text-tertiary);text-transform:uppercase;padding:10px;font-size:11px;font-weight:600}.weekday-label.sunday{color:var(--text-primary)}.calendar-cell{cursor:pointer}.calendar-cell:hover{background:var(--bg-secondary)}.calendar-cell.other-month{opacity:.65}.calendar-cell.other-month .cell-date.sunday{color:var(--text-primary)}.calendar-cell.today{background:var(--accent-subtle)}.cell-date{color:var(--text-primary);margin-bottom:4px;font-size:13px;font-weight:500}.cell-date.sunday{color:var(--text-primary)}.cell-schedules{flex-direction:column;gap:2px;display:flex}.schedule-chip{background:var(--chip-bg,#fff);color:var(--text-primary);border:1px solid var(--chip-border,var(--border-color));border-left:3px solid var(--chip-accent,var(--border-strong));white-space:nowrap;box-sizing:border-box;transition:opacity var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;line-height:1.3;-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000;display:flex;overflow:hidden}.schedule-chip.quiet .title{font-weight:400}@media (pointer:coarse) and (width>=769px){.schedule-chip[role=button]{position:relative;overflow:visible}.schedule-chip[role=button]:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:calc(50% - 1px);transform:translate(-50%,-50%)}}.schedule-chip.timed .title{font-weight:500}.schedule-chip.timed .time{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:9px;font-weight:600}.schedule-chip.category-work{--chip-accent:var(--cat-work,var(--border-strong));--chip-bg:color-mix(in srgb, var(--cat-work,var(--border-strong)) 8%, var(--bg-primary));--chip-border:color-mix(in srgb, var(--cat-work,var(--border-strong)) 35%, transparent)}.schedule-chip.category-personal{--chip-accent:var(--cat-personal,var(--border-strong));--chip-bg:color-mix(in srgb, var(--cat-personal,var(--border-strong)) 8%, var(--bg-primary));--chip-border:color-mix(in srgb, var(--cat-personal,var(--border-strong)) 35%, transparent)}.schedule-chip.category-meeting{--chip-accent:var(--cat-meeting,var(--border-strong));--chip-bg:color-mix(in srgb, var(--cat-meeting,var(--border-strong)) 8%, var(--bg-primary));--chip-border:color-mix(in srgb, var(--cat-meeting,var(--border-strong)) 35%, transparent)}.schedule-chip.category-other{--chip-accent:var(--cat-other,var(--border-strong));--chip-bg:color-mix(in srgb, var(--cat-other,var(--border-strong)) 8%, var(--bg-primary));--chip-border:color-mix(in srgb, var(--cat-other,var(--border-strong)) 35%, transparent)}.schedule-chip.completed{opacity:.5;text-decoration-color:currentColor}.schedule-chip .time{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:9px;font-weight:600}.schedule-chip .title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.more-schedules{color:var(--text-secondary);text-align:center;padding:1px 0;font-size:10px;font-weight:500}.day-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.day-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.day-header h2{margin:0;font-size:16px;font-weight:600}.btn-add{border-radius:var(--r-xs);background:var(--btn-primary-bg);width:32px;height:32px;color:var(--bg-primary);border:1px solid var(--btn-primary-bg)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:48px;display:flex}.empty-icon{opacity:.3;margin-bottom:16px;font-size:48px}.empty-state h2{margin:0 0 8px;font-size:18px}.empty-state p{margin:0 0 24px;font-size:13px}.calendar-layout .btn-primary{height:36px;padding:0 24px;font-size:14px}@media (width>=769px) and (width<=1199px){.calendar-layout{flex-direction:column;gap:12px;height:100%;min-height:0}.calendar-layout>.goals-panel{flex:none;width:100%;min-width:0;max-height:200px;overflow-y:auto}.calendar-layout>.calendar-container{flex:1;width:100%;min-width:0}}@media (width<=768px){.calendar-layout{flex-direction:column;gap:12px;height:100%;min-height:0}.goals-panel{width:100%;min-width:unset;max-height:200px;overflow-y:auto}.calendar-container{flex:1;min-height:0}.grid-month .calendar-cell{min-height:64px;padding:5px 4px}.grid-month .cell-date{text-align:center;margin-bottom:4px}.grid-month .cell-schedules{flex-flow:wrap;justify-content:center;align-items:center;gap:4px}.grid-month .schedule-chip{pointer-events:none;border-radius:50%;flex-shrink:0;gap:0;width:7px;height:7px;padding:0;background:var(--chip-accent,var(--border-strong))!important;border:none!important}.grid-month .schedule-chip .time,.grid-month .schedule-chip .title{display:none}.grid-month .schedule-chip.google{background:#4285f4!important;border:none!important}.grid-month .more-schedules{font-size:9px;line-height:7px}}.schedule-chip.google{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-left:3px solid #4285f4}.calendar-back-btn{display:none}@media (width<=768px){.calendar-back-btn{border:none;border-bottom:1px solid var(--border-color);min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:13px;display:flex}.goal-checkbox{width:24px;height:24px}.goal-delete-btn,.icon-btn-sm,.btn-add{flex-shrink:0;width:44px;height:44px}.goal-item-header{min-height:44px}.goal-linked-schedule-item{align-items:center;min-height:36px}.calendar-grid,.timegrid,.goals-list{padding-bottom:env(safe-area-inset-bottom,0px)}.calendar-layout>.goals-panel,.calendar-layout>.calendar-container{flex:1;width:100%;min-width:0;max-width:none;max-height:none}.calendar-grid-wrapper{overflow-y:auto}.calendar-layout .grid-month{flex:none;overflow-y:visible}.calendar-layout .weekday-header{z-index:2;flex-shrink:0;position:sticky;top:0}.calendar-grid.grid-month .calendar-cell{min-height:48px}.calendar-grid.grid-month .calendar-cell.selected{box-shadow:inset 0 0 0 2px var(--text-primary)}.day-view>.day-header{display:none}.day-view .calendar-agenda{border-top:none;border-bottom:1px solid var(--border-color);flex:none;min-height:0;max-height:45%;overflow:hidden}.timegrid-multi .timegrid-inner{min-width:0!important}.timegrid-day-header{justify-content:center;min-height:44px;padding:4px 2px}}@media (width<=1024px){.calendar-layout button{min-height:44px}}@media (width>=769px) and (width<=1024px){.calendar-layout .schedule-chip{min-height:44px}.calendar-grid.grid-month{grid-auto-rows:max-content}}.calendar-layout :is(button,input,[role=button]){min-height:44px}.calendar-layout button{min-width:44px}.calendar-layout .calendar-agenda-title{overflow-wrap:anywhere}@media (width>=769px){.calendar-layout .calendar-grid-wrapper:has(>div>.calendar-agenda){overflow-y:auto}}.calendar-agenda{border-top:1px solid var(--border-color);background:var(--bg-primary);flex-direction:column;flex:none;display:flex}.calendar-agenda-head{justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.calendar-agenda-date{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-tertiary);font-size:12px;font-weight:600}.calendar-agenda-add{border:1px solid var(--border-color);border-radius:var(--r-sm,10px);background:var(--bg-elevated);width:44px;height:44px;color:var(--text-primary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.calendar-agenda-empty{color:var(--text-tertiary);margin:0;padding:4px 16px 20px;font-size:13px}.calendar-agenda-list{padding:0 16px calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:auto;gap:8px;min-height:0;margin:0;list-style:none;display:flex;overflow-y:auto}.calendar-agenda-item{border:1px solid var(--border-color);border-radius:var(--r-md,14px);background:var(--bg-elevated);align-items:center;gap:8px;min-height:56px;padding:0 10px 0 0;display:flex;overflow:hidden}.calendar-agenda-item.completed .calendar-agenda-title{color:var(--text-tertiary);text-decoration:line-through}.calendar-agenda-bar{background:var(--accent);flex-shrink:0;align-self:stretch;width:4px}.calendar-agenda-check{width:44px;height:44px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.calendar-agenda-item.completed .calendar-agenda-check{color:var(--success)}.calendar-agenda-main{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:2px;min-width:0;min-height:44px;padding:6px 0;font-family:inherit;display:flex}.calendar-agenda-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-primary);font-size:15px;overflow:hidden}.calendar-agenda-time{color:var(--text-tertiary);font-size:12px}.day-view:not(:has(.timegrid)) .calendar-agenda{flex:1;min-height:0;max-height:none}.panel-notice-shell:has(.calendar-layout) .error-retry-btn{min-width:44px;min-height:44px}.calendar-layout .schedule-chip.completed{opacity:1;text-decoration:line-through}.calendar-layout .calendar-cell.other-month{opacity:1;background:var(--bg-secondary)}.calendar-layout .calendar-agenda-title{white-space:nowrap;text-wrap:nowrap}@media (width>=769px){.day-view:not(:has(.timegrid)) .calendar-agenda-head{display:none}.calendar-grid.grid-month{grid-auto-rows:max-content}.calendar-layout .calendar-grid-wrapper:has(.grid-month){padding-bottom:0}.calendar-layout .calendar-grid.grid-month:after{content:"";height:var(--assistant-launcher-lane,96px);pointer-events:none;grid-column:1/-1}}.app-view-router{display:contents}@media (width<=768px){.calendar-page{overscroll-behavior:contain;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;flex:1;display:flex;overflow:hidden auto}.calendar-page>.content-area,.calendar-page .panel-notice-shell,.calendar-page .calendar-layout{overscroll-behavior:auto;flex:none;height:auto;overflow:visible}.calendar-page .calendar-layout :is(.calendar-container,.calendar-grid-wrapper,.grid-month,.day-view,.calendar-agenda,.calendar-agenda-list,.goals-panel,.goals-list,.timegrid,.timegrid-hscroll,.timegrid-inner,.timegrid-vscroll){overscroll-behavior:auto;scrollbar-gutter:auto;flex:none;height:auto;max-height:none;overflow:visible}.calendar-page .weekday-header{scrollbar-gutter:auto;overflow:visible}}.calendar-layout .goals-panel .goal-checkbox,.calendar-layout .timegrid .timegrid-check{min-width:0;min-height:0;position:relative}@media (pointer:coarse){.calendar-layout .goals-panel .goal-checkbox:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.calendar-layout .timegrid-event .timegrid-event-body,.calendar-layout .timegrid-allday-item .timegrid-item-title{min-height:0}@media (width>=769px) and (pointer:fine){.calendar-layout .timegrid .timegrid-delete,.calendar-layout .goals-panel .goal-delete-btn{min-width:0;min-height:0}}@media (pointer:fine){.goal-item .goal-delete-btn{opacity:0}.goal-item:is(:hover,:focus-within) .goal-delete-btn{opacity:1}}.goal-text{word-break:keep-all;overflow-wrap:anywhere}.timegrid-multi .timegrid-inner{min-width:0!important}.day-view>.day-header{display:none}.day-view>.calendar-habits{box-sizing:border-box;padding:8px 24px}.calendar-agenda>.calendar-habits{box-sizing:border-box;padding:0 16px 8px}@media (width<=768px){.calendar-container{border-left:none;border-right:none;border-radius:0}.grid-month .calendar-cell .calendar-habits,.calendar-habit-week .calendar-habits{flex-wrap:wrap;gap:2px;display:flex}.grid-month .calendar-cell .calendar-habit-check,.calendar-layout .calendar-habit-week .calendar-habit-check{background:0 0;justify-content:center;width:auto;min-width:24px;min-height:24px;padding:0;position:relative}.grid-month .calendar-cell .calendar-habit-check span,.calendar-habit-week .calendar-habit-check span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=769px){.calendar-container,.goals-panel{box-shadow:var(--surface-depth)}}.calendar-agenda-item{transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease)}@media (hover:hover) and (pointer:fine){.calendar-agenda-item:hover{box-shadow:var(--surface-depth-hover)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.calendar-agenda-item:hover{transform:translateY(-1px)}}.calendar-habit-week .calendar-habit-slot{min-height:44px;display:block}@media (width<=768px){.calendar-habit-week .calendar-habits{flex-flow:column}.calendar-layout .calendar-habit-week .calendar-habit-check{width:100%;min-height:44px}.calendar-agenda>.calendar-habits .calendar-habit-check{gap:8px;padding:0 12px;font-size:13px}.calendar-agenda>.calendar-habits .calendar-habit-check svg{width:14px}}.btn-danger{height:36px;color:var(--bg-primary);border-radius:var(--r-xs);cursor:pointer;background:#e53e3e;border:none;padding:0 16px;font-size:13px}.btn-danger:hover{background:#c53030}.panel-overlay{animation:motion-overlay-in var(--dur) var(--ease);height:var(--app-vh,100dvh);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.panel-panel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:90vw;max-height:90dvh;max-height:calc(var(--app-vh,100dvh) * .9);box-shadow:var(--dialog-depth);position:relative;overflow:hidden}.panel-close{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-xs);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}@media (width<=768px){.panel-panel{max-width:calc(100vw - 24px);max-height:calc(var(--app-vh,100dvh) - 32px)}.panel-close{width:44px;height:44px;top:8px;right:8px}.panel-panel>.panel-close{margin:8px 8px -52px auto;position:sticky;top:8px;right:auto}.panel-panel>.search-panel .search-header>.icon-btn{display:none}.panel-panel>.search-panel .search-header{padding-right:44px}.panel-panel>.search-panel .search-input-wrapper{min-width:0}.panel-panel>.search-panel .search-input{width:0;min-width:0}}.error-boundary{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.error-content{text-align:center;width:100%;max-width:460px;color:var(--text-primary)}.error-icon{color:var(--text-tertiary);margin-bottom:16px}.error-content h2{margin-bottom:8px;font-size:18px;font-weight:700}.error-message{color:var(--text-secondary);word-break:keep-all;overflow-wrap:break-word;margin-bottom:20px;font-size:14px;line-height:1.6}.error-details{text-align:left;border:1px solid var(--border-color);border-radius:var(--r-sm,10px);background:var(--bg-secondary);margin-bottom:20px}.error-details>summary{color:var(--text-tertiary);cursor:pointer;align-items:center;min-height:44px;padding:10px 12px;font-size:12px;list-style:none;display:flex}.error-details>summary::-webkit-details-marker{display:none}.error-details pre{color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;max-height:240px;margin:0;padding:0 12px 12px;font-size:11px;line-height:1.55;overflow:auto}.error-reset-btn{border:1px solid var(--btn-primary-bg);border-radius:var(--r-sm,10px);background:var(--btn-primary-bg);min-height:44px;color:var(--bg-primary);cursor:pointer;box-shadow:var(--shadow-1), var(--hi);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.error-reset-btn:hover{background:var(--btn-primary-bg-hover)}.error-fallback{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.error-fallback h3{color:var(--text-primary);font-size:15px;font-weight:600}.error-fallback p{word-break:break-word;font-size:13px}.view-loading{min-height:200px;color:var(--text-tertiary);flex:1;padding:20px;overflow:hidden}.confirm-overlay{animation:motion-overlay-in var(--dur) var(--ease);z-index:1000;-webkit-backdrop-filter:blur(2px);background:#0006;position:fixed;inset:0}.confirm-dialog{animation:motion-sheet-in var(--dur-slow) var(--ease);z-index:1001;text-align:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--r-lg,18px);width:calc(100% - 40px);max-width:380px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-2);padding:24px;position:fixed;top:50%;left:50%;overflow-y:auto;translate:-50% -50%}.confirm-icon{color:var(--text-tertiary);margin-bottom:12px}.confirm-icon-danger{color:var(--danger)}.confirm-icon-warning{color:var(--warning)}.confirm-icon-info{color:var(--info)}.confirm-title{margin-bottom:6px;font-size:16px;font-weight:700}.confirm-message{color:var(--text-secondary);word-break:keep-all;overflow-wrap:break-word;margin-bottom:20px;font-size:13px;line-height:1.6}.confirm-actions{gap:8px;display:flex}.confirm-btn{border-radius:var(--r-sm,10px);border:1px solid var(--border-strong);background:var(--bg-primary);min-height:44px;color:var(--text-primary);cursor:pointer;flex:1;font-family:inherit;font-size:14px;font-weight:600}.confirm-btn:disabled{opacity:.5;cursor:default}.confirm-cancel:hover{background:var(--bg-tertiary)}.confirm-danger{background:var(--danger);border-color:var(--danger);color:#fff}.confirm-danger:hover{background:#b3261e}.confirm-warning{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:#fff}.confirm-warning:hover{background:var(--btn-primary-bg-hover)}.confirm-info{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-primary)}.confirm-info:hover{background:var(--text-secondary)}.skeleton-container,.table-skeleton,.list-skeleton,.card-skeleton{width:100%}.skeleton-split{gap:16px;display:flex}.skeleton-title,.skeleton-button,.skeleton-date,.skeleton-chip,.skeleton-item,.skeleton-text,.skeleton-icon,.skeleton-value,.skeleton-label,.skeleton-chart,.skeleton-avatar,.table-skeleton-th,.table-skeleton-td,.card-skeleton-header,.card-skeleton-body{background:var(--bg-tertiary);border-radius:var(--r-xs,6px);animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton-container *,.table-skeleton *,.list-skeleton *,.card-skeleton *{animation:none!important}}.skeleton-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.skeleton-title{width:40%;height:18px}.skeleton-button{border-radius:var(--r-sm,10px);width:88px;height:32px}.skeleton-text{width:100%;height:12px;margin-top:8px}.skeleton-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.skeleton-cell{border:1px solid var(--border-color);border-radius:var(--r-sm,10px);flex-direction:column;gap:6px;min-height:96px;padding:8px;display:flex}.skeleton-date{width:24px;height:12px}.skeleton-chip{width:100%;height:10px}.skeleton-sidebar{flex-direction:column;flex-shrink:0;gap:8px;width:220px;display:flex}.skeleton-item{border-radius:var(--r-sm,10px);width:100%;height:34px}.skeleton-detail{flex:1;min-width:0}.skeleton-stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.skeleton-stat-card{border:1px solid var(--border-color);border-radius:var(--r-md,14px);flex-direction:column;gap:8px;padding:14px;display:flex}.skeleton-icon{border-radius:50%;width:20px;height:20px}.skeleton-value{width:55%;height:20px}.skeleton-label{width:75%;height:11px}.skeleton-chart{border-radius:var(--r-md,14px);width:100%;height:180px}.table-skeleton-header,.table-skeleton-row{border-bottom:1px solid var(--border-color);grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:10px 0;display:grid}.table-skeleton-th{height:11px}.table-skeleton-td{height:13px}.list-skeleton{flex-direction:column;gap:12px;display:flex}.list-skeleton-item{align-items:center;gap:12px;display:flex}.skeleton-avatar{border-radius:50%;flex-shrink:0;width:36px;height:36px}.skeleton-content{flex:1;min-width:0}.card-skeleton{border:1px solid var(--border-color);border-radius:var(--r-md,14px);padding:16px}.card-skeleton-header{width:45%;height:16px;margin-bottom:12px}.card-skeleton-body{width:100%;height:12px;margin-bottom:8px}@media (width<=768px){.skeleton-grid{grid-template-columns:1fr}.skeleton-cell{flex-direction:row;align-items:center;min-height:56px}.skeleton-sidebar{display:none}}.journal-panel{flex-direction:column;height:100%;min-height:0;display:flex}.journal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.date-nav{align-items:center;gap:6px;min-width:0;display:flex}.current-date{flex-direction:column;align-items:center;gap:1px;min-width:150px;display:flex}.current-date h3{white-space:nowrap;margin:0;font-size:15px;font-weight:700}.text-btn{border-radius:var(--r-xs,6px);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-family:inherit;font-size:11.5px;font-weight:600}.text-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.journal-content{overscroll-behavior:contain;min-height:0;padding:0 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.journal-section{border-bottom:1px solid var(--border-color);padding:20px 0}.journal-section:last-of-type{border-bottom:none}.journal-section-head{justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;display:flex}.journal-section-head>h4{margin-bottom:0}.journal-section h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 12px;font-size:11px;font-weight:600}.mood-selector{flex-wrap:wrap;gap:8px;display:flex}.mood-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--r-md,14px);cursor:pointer;min-width:66px;min-height:66px;transition:border-color var(--dur,.2s) var(--ease,ease), background var(--dur,.2s) var(--ease,ease);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 6px;display:flex}.mood-btn:hover{background:var(--bg-secondary)}.mood-btn.active{border-color:var(--mood-color,var(--accent));background:var(--accent-subtle)}.mood-icon{filter:saturate(.55)opacity(.75);transition:transform var(--dur) var(--ease), filter var(--dur) var(--ease);font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:26px;line-height:1;transform:translateZ(0)}.mood-btn:hover .mood-icon{filter:saturate()opacity();transform:scale(1.12)}.mood-btn.active .mood-icon{filter:saturate(1.15)opacity();transform:scale(1.18)}.mood-label{color:var(--text-secondary);white-space:nowrap;font-size:11px}.mood-btn.active .mood-label{color:var(--text-primary);font-weight:600}.journal-section h3,.journal-section-title{font-variant-emoji:emoji}.journal-list{flex-direction:column;gap:6px;display:flex}.journal-list-item,.journal-list-add{align-items:center;gap:6px;display:flex}.journal-list-input,.journal-list-add>input{min-width:0;min-height:40px;color:var(--text-primary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--r-pill);outline:none;flex:1;padding:0 10px;font-family:inherit;font-size:13px}.journal-list-input:focus,.journal-list-add>input:focus{border-color:var(--field-border-focus);box-shadow:var(--field-shadow-focus)}.journal-list-add>input{background:0 0;border-style:dashed}.journal-list-input,.journal-list-add>input{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.journal-list-item .icon-btn,.journal-list-add .icon-btn{flex-shrink:0;width:36px;height:36px}.journal-textarea{width:100%;min-height:120px;color:var(--text-primary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--r-xl);box-shadow:var(--field-shadow);resize:vertical;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.7}.journal-textarea:focus{border-color:var(--field-border-focus);box-shadow:var(--field-shadow-focus)}.save-btn{min-height:44px;transition:transform var(--dur,.2s) var(--ease,ease), box-shadow var(--dur,.2s) var(--ease,ease);padding:0 24px}.save-btn:hover{box-shadow:var(--shadow-2), var(--hi);transform:translateY(-1px)}.save-btn:active{transform:translateY(0)scale(.985)}.journal-save-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;margin-bottom:4px;display:flex}.journal-save-status{color:var(--text-secondary);font-size:13px}.journal-save-status.error{color:var(--danger,#dc2626)}@media (prefers-reduced-motion:reduce){.save-btn:hover{transform:none}}@media (width<=768px){.journal-content{padding:0 14px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.journal-section{padding:16px 0}.current-date{min-width:0}.current-date h3{font-size:14px}.journal-list-input,.journal-list-add>input,.journal-textarea{font-size:16px}.journal-save-actions{flex-direction:column;align-items:stretch;gap:8px}.save-btn{width:100%}.journal-save-status{text-align:center}}.summary-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-md,14px);flex-direction:column;gap:4px;padding:14px;font-size:13px;display:flex}.summary-item strong{font-size:20px;font-weight:700}.journal-panel :is(button,input){min-height:44px}.journal-panel button{min-width:44px}.journal-panel .date-nav{flex-wrap:wrap}.journal-panel .icon-btn{border:1px solid var(--border-color);border-radius:var(--r-sm);background:var(--bg-elevated);color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.journal-section-title{align-items:center;gap:8px;display:flex}.journal-section-title svg{color:var(--text-tertiary);flex-shrink:0}@media (width<=768px){.journal-content{padding-inline:16px}}@supports selector(:has(*)){:is(.chat-input-wrapper,.mock-chat-form,.field-row,.search-input-wrapper,.nxh-composer):has(>:is(input,textarea):focus-visible){outline:2px solid var(--text-primary);outline-offset:-2px}:is(.chat-input-wrapper,.mock-chat-form,.field-row,.search-input-wrapper,.nxh-composer):focus-within>:is(input,textarea):focus-visible{outline:none}}.chat-input-wrapper>textarea{box-sizing:border-box;min-height:44px;padding-block:calc(22px - .5lh)}:is(.chat-panel-base,.assistant-widget) .chat-input-wrapper>textarea{padding-block:calc(22px - .5lh)}.chat-input-wrapper>:is(.chat-input-icon-btn,.chat-send-btn){min-width:44px;min-height:44px}.chat-input-wrapper>button:focus-visible,.mock-chat-form>button:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}.chat-input-wrapper>:is(.chat-send-btn:not(:disabled),.pill-btn.active):focus-visible,.mock-chat-form>.mock-chat-submit:focus-visible{outline-color:var(--bg-primary);outline-offset:-4px}@media (width<=768px){.assistant-widget .chat-input-wrapper>textarea{font-size:16px}}:root{--composer-glass-bg:#fffefccc;--composer-glass-border:#cfccc3}:is(.chat-input-wrapper.chat-input-wrapper,.mock-chat-form.mock-chat-form,.nxh-composer.nxh-composer){background:var(--composer-glass-bg);border:1px solid var(--composer-glass-border);border-radius:var(--r-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-sizing:border-box;min-height:62px;box-shadow:0 2px 16px #00000014,inset 0 1px #ffffffe6}:is(.chat-input-wrapper.chat-input-wrapper,.mock-chat-form.mock-chat-form,.nxh-composer.nxh-composer):hover{border-color:var(--accent);box-shadow:0 4px 20px #0000001a,inset 0 1px #ffffffe6}:is(.chat-input-wrapper.chat-input-wrapper,.mock-chat-form.mock-chat-form,.nxh-composer.nxh-composer):focus-within{border-color:var(--accent);box-shadow:0 4px 24px #0000001f,inset 0 1px #ffffffe6}.chat-input-wrapper.chat-input-wrapper{padding-block:8px}@media (width<=768px){:is(.chat-input-wrapper.chat-input-wrapper,.mock-chat-form.mock-chat-form,.nxh-composer.nxh-composer){min-height:58px}.chat-input-wrapper.chat-input-wrapper{padding-block:6px}}:root{--ui-body-size:14px;--ui-body-weight:400;--ui-label-size:12px;--ui-label-weight:600;--ui-meta-size:11px;--ui-meta-weight:400;--font-stack:"JetBrains Mono", "JetBrains Mono Fallback", "JetBrains Mono Fallback Consolas", "SF Mono", "Fira Code", "Consolas", "Monaco", "Pretendard Variable", "Pretendard", "Pretendard Fallback", monospace;--font-mono:var(--font-stack);--app-font:var(--font-stack);--font-display-kr:"IBM Plex Sans KR", "Pretendard Variable", "Pretendard", sans-serif;--bg-primary:#fff;--bg-secondary:#fafafa;--bg-tertiary:#f4f4f5;--bg-elevated:#fff;--border-color:#eaeaea;--border-strong:#d4d4d8;--text-primary:#171717;--text-secondary:#4d4d52;--text-tertiary:#6b6b70;--accent:#000;--accent-hover:#171717;--accent-subtle:#f4f4f5;--danger:#c5221a;--success:#1f7a4d;--success-soft:#eef7f2;--success-line:#b9dcc8;--warning:#a35c00;--warning-soft:#fdf5e8;--warning-line:#ecc98f;--danger-soft:#fcebea;--danger-line:#e8b9b5;--error-color:var(--danger);--info:#2f5f8f;--info-soft:#eef4fa;--info-line:#b9cce0;--control-cap:.6;--shadow-1:0 1px 2px #1717170f, 0 1px 1px #1717170a;--shadow-2:0 6px 18px #1717171a, 0 2px 5px #1717170f;--shadow-focus:0 0 0 3px #1717171a;--hi:inset 0 1px 0 #ffffffbf;--depth-1:0 1px 2px #0000000f, 0 4px 12px #0000000f;--depth-2:0 2px 4px #00000012, 0 10px 24px #00000017;--depth-hi:inset 0 1px 0 #fffc;--surface-depth:var(--depth-1), var(--depth-hi);--surface-depth-hover:var(--depth-2), var(--depth-hi);--dialog-depth:var(--depth-2), var(--depth-hi);--btn-depth:0 1px 2px #0000001a, 0 2px 6px #00000014, inset 0 1px 0 #ffffff38;--btn-depth-hover:0 2px 4px #0000001f, 0 6px 14px #0000001a, inset 0 1px 0 #ffffff38;--composer-gutter:24px;--field-bg:#fff;--field-border:#00000017;--field-border-hover:#00000038;--field-border-focus:var(--accent);--field-shadow:0 4px 12px #0000000d;--field-shadow-focus:0 4px 12px #0000001a;--chip-bg:#fcfcfc;--chip-bg-hover:#fff;--ease:cubic-bezier(.32, .72, 0, 1);--ease-press:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-press:90ms;--dur-fast:.12s;--dur:.2s;--dur-slow:.32s;--press-scale:.94;--press-scale-lg:.975;--ai-mark:#b8b4a9;--solertine-tile:#111;--solertine-cell:#fff;--radius-lg:8px;--radius-full:9999px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:99px;--btn-primary-bg:#3f3f46;--btn-primary-bg-hover:#27272a}@media (prefers-color-scheme:dark){:root{--solertine-tile:#fff;--solertine-cell:#111}}.solertine-on-dark{--solertine-tile:#fff;--solertine-cell:#111}:root[data-background-theme=warm]{--bg-primary:#f7f6f3;--bg-secondary:#f1f0ec;--bg-tertiary:#e9e8e3;--bg-elevated:#fffefc;--border-color:#e2e0da;--border-strong:#cfccc3;--text-primary:#23221e;--text-secondary:#4e4c46;--text-tertiary:#66645d}.ai-made{border-left:2px solid var(--ai-mark)}@keyframes ai-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ai-arrive,.motion-arrive,.motion-stagger>*{animation:ai-arrive .24s var(--ease) both}.motion-stagger>:first-child{animation-delay:0s}.motion-stagger>:nth-child(2){animation-delay:40ms}.motion-stagger>:nth-child(3){animation-delay:80ms}.motion-stagger>:nth-child(4){animation-delay:.12s}.motion-stagger>:nth-child(5){animation-delay:.16s}.motion-stagger>:nth-child(6){animation-delay:.2s}.motion-stagger>:nth-child(7){animation-delay:.24s}.motion-stagger>:nth-child(n+8){animation-delay:.28s}@keyframes motion-sheet-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.motion-sheet-in{animation:motion-sheet-in var(--dur-slow) var(--ease) both}@keyframes motion-overlay-in{0%{opacity:0}to{opacity:1}}.motion-overlay-in{animation:motion-overlay-in var(--dur) var(--ease) both}.press,.press-lg{transition:transform var(--dur) var(--ease)}.press:active:not(:disabled),.press-lg:active:not(:disabled){transition-duration:var(--dur-press);transition-timing-function:var(--ease-press)}.press:active:not(:disabled){transform:scale(var(--press-scale))}.press-lg:active:not(:disabled){transform:scale(var(--press-scale-lg))}@keyframes motion-confirm{0%{transform:scale(1)}40%{transform:scale(.86)}to{transform:scale(1)}}.strike-line{transition:text-decoration-color var(--dur) var(--ease), color var(--dur) var(--ease), opacity var(--dur) var(--ease);-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000}@keyframes protocol-toast-in{0%{opacity:0;transform:translate(16px,-8px)scale(.96)}to{opacity:1;transform:none}}@keyframes protocol-toast-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(16px)scale(.96)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--app-font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}*{font-family:var(--app-font)}h1,h2,h3,.btn,button,[class*=title],[class*=heading]{text-wrap:balance}p,li,[class*=desc],[class*=subtitle]{text-wrap:pretty}.markdown-body,.markdown-body *,.message-content,.message-content *,pre,code,.monaco-editor,.monaco-editor *,input,textarea,.draft-document,.draft-document *,.draft-preview,.draft-preview *{text-wrap:wrap}.field-row{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--r-pill);min-width:0;box-shadow:var(--field-shadow);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);align-items:center;gap:8px;padding:6px 6px 6px 18px;display:flex}.field-row:hover{border-color:var(--field-border-hover)}.field-row:focus-within{border-color:var(--field-border-focus);box-shadow:var(--field-shadow-focus)}.field-row.is-multiline{border-radius:var(--r-xl);align-items:flex-end}.field-row>input,.field-row>textarea,.field-row>.field-input{min-width:0;max-width:none;box-shadow:none;font:inherit;color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:auto;padding:0;font-size:15px}.field-row>input::-moz-placeholder{color:var(--text-tertiary)}.field-row>textarea::-moz-placeholder{color:var(--text-tertiary)}.field-row>input::placeholder,.field-row>textarea::placeholder{color:var(--text-tertiary)}.field-row>input:placeholder-shown{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.field-action{background:var(--btn-primary-bg);border:1px solid var(--btn-primary-bg);border-radius:var(--radius-full);color:#fff;cursor:pointer;width:36px;height:36px;box-shadow:var(--shadow-1), var(--hi);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.field-action:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover);box-shadow:var(--shadow-2), var(--hi)}.field-action:active:not(:disabled){transform:scale(var(--press-scale));transition-duration:var(--dur-press);transition-timing-function:var(--ease-press);box-shadow:var(--shadow-1)}.field-action:disabled{background:var(--chip-bg);border-color:var(--field-border);color:var(--text-tertiary);box-shadow:none;cursor:default}.field-icon-btn{border-radius:var(--radius-full);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur) var(--ease);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.field-icon-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.field-icon-btn:active:not(:disabled){transform:scale(var(--press-scale));transition-duration:var(--dur-press);transition-timing-function:var(--ease-press)}.field-icon-btn:disabled{opacity:.4;cursor:not-allowed}.surface-lifted{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--r-md);box-shadow:var(--field-shadow)}.surface-flat{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-md);box-shadow:none}@media (width<=768px){.field-row{gap:6px;padding:4px 4px 4px 12px}.field-action{width:40px;height:40px}.field-icon-btn{width:36px;height:36px}.field-action,.field-icon-btn{position:relative}.field-action:after,.field-icon-btn:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.field-action:after{width:44px;height:44px}.field-icon-btn:after{width:40px;height:40px}.field-row>input,.field-row>textarea{font-size:16px}.field-row>.field-input{margin-block:-10px;padding-block:10px}}.pill-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);min-width:64px;height:36px;color:var(--text-primary);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);white-space:nowrap;background:#ffffffb3;border:1px solid #ffffff4d;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:0 12px;font-size:12px;display:flex;box-shadow:0 2px 8px #00000014,inset 0 1px 1px #ffffff80}.pill-btn:hover{background:#ffffffd9;box-shadow:0 4px 12px #0000001f,inset 0 1px 1px #ffffff80}.pill-btn:active:not(:disabled){transform:scale(var(--press-scale));transition-duration:var(--dur-press);transition-timing-function:var(--ease-press);box-shadow:0 1px 4px #0000001a,inset 0 1px 1px #ffffff80}.pill-btn.active{background:var(--btn-primary-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:var(--btn-primary-bg);color:var(--bg-primary);font-weight:500;box-shadow:0 2px 8px #0003,inset 0 1px 1px #ffffff1a}.pill-btn .pro-badge{color:inherit;opacity:.7;margin-left:2px;font-size:9px;font-weight:600}body.is-mac:not(.is-simple-fullscreen) .sidebar:not(.collapsed) .sidebar-header{flex-direction:row;justify-content:space-between;align-items:center;height:48px;min-height:48px;padding-top:22px;padding-left:16px;padding-right:12px;display:flex}body .sidebar.collapsed{z-index:1000;border-right:none;position:relative;overflow:visible;width:0!important;min-width:0!important}body .sidebar.collapsed:after{content:"";width:4px;height:100dvh;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur) var(--ease);cursor:pointer;z-index:1001;-webkit-app-region:no-drag;background:0 0;position:fixed;top:0;left:0}body .sidebar.collapsed:hover:after{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-right:1px solid var(--border-color);background:linear-gradient(90deg,#00000005 0%,#0000 100%);width:16px}.mac-traffic-spacer{height:100%;transition:width var(--dur) var(--ease);flex-shrink:0;display:block}body.is-mac:not(.is-simple-fullscreen) .sidebar.collapsed+.main-content .mac-traffic-spacer{-webkit-app-region:drag;width:68px}body.is-simple-fullscreen .mac-traffic-spacer{width:6px}.top-bar{border-bottom:1px solid var(--border-color);background:var(--bg-primary);z-index:100;-webkit-app-region:drag;justify-content:space-between;align-items:center;height:48px;padding:0 12px 0 0;display:flex}.top-bar button,.top-bar a,.top-bar input,.top-bar select{-webkit-app-region:no-drag}body.is-mac:not(.is-simple-fullscreen) .sidebar.collapsed+.main-content .top-bar{-webkit-app-region:drag;width:100vw;height:48px;position:fixed;top:0;left:0;padding-left:0!important}body.is-mac:not(.is-simple-fullscreen) .sidebar.collapsed+.main-content{padding-top:48px}body.is-simple-fullscreen .sidebar.collapsed+.main-content .top-bar{padding-left:0!important}body.is-simple-fullscreen .sidebar:not(.collapsed)+.main-content .top-bar{padding-left:4px!important}body.is-simple-fullscreen .sidebar:not(.collapsed)+.main-content .mac-traffic-spacer{width:0!important}body.is-simple-fullscreen .sidebar-header,body.is-simple-fullscreen .top-bar{height:48px!important;padding-top:0!important;padding-left:16px!important}.app{height:100dvh;height:var(--app-vh,100dvh);background:var(--bg-primary);width:100%;display:flex;overflow:hidden}.main-content{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar-left{align-items:center;gap:12px;min-width:0;display:flex}.top-bar-slot{align-items:center;gap:6px;min-width:0;display:flex}.top-bar-slot:empty{display:none}.top-bar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.top-bar-left .breadcrumb{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ops-strip{min-width:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex;overflow:hidden}.ops-strip-text{text-overflow:ellipsis;overflow:hidden}.ops-strip-dot{flex-shrink:0;font-size:9px;line-height:1}.ops-strip-dot-healthy{color:var(--text-secondary)}.ops-strip-dot-degraded{opacity:.45}.ops-strip-dot-unhealthy{color:#c0392b}.ops-strip-dot-unknown{opacity:.3}.ops-strip-unknown{opacity:.5}@media (width<=640px){.ops-strip{display:none}}.nav-open-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:var(--r-xs);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur) var(--ease);-webkit-app-region:no-drag;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.nav-open-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-open-btn svg{stroke-width:2px}.breadcrumb{font-size:14px;font-weight:400;line-height:inherit;color:var(--text-secondary);margin:0}.breadcrumb:focus{outline:none}.btn{border-radius:var(--r-sm);cursor:pointer;transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);border:none;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.btn:active{transform:translateY(0)scale(.985)}.btn-primary{background:var(--btn-primary-bg);color:var(--bg-primary);box-shadow:var(--btn-depth)}.btn-primary:hover{box-shadow:var(--btn-depth-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-1)}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary);box-shadow:var(--shadow-2);transform:translateY(-1px)}.btn-new{border-radius:var(--radius-full);background:var(--btn-primary-bg);height:36px;color:var(--bg-primary);border:1px solid var(--btn-primary-bg);cursor:pointer;box-shadow:var(--shadow-1), var(--hi);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:0 16px;font-size:12px;font-weight:600}.btn-new:hover{box-shadow:var(--shadow-2), var(--hi);transform:translateY(-1px)}.btn-new:active{box-shadow:var(--shadow-1), var(--hi);transform:translateY(0)scale(.985)}.btn-header-secondary{border-radius:var(--radius-full);background:var(--bg-primary);height:36px;color:var(--text-secondary);border:1px solid var(--border-strong);cursor:pointer;transition:background var(--dur) var(--ease);align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:600;display:flex}.btn-header-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (any-pointer:coarse){.top-bar .top-bar-right>:is(.btn-header-secondary,.btn-new){position:relative}.top-bar .top-bar-right>:is(.btn-header-secondary,.btn-new):after{content:"";position:absolute;inset:min(0px,50% - 22px)}}@media (any-pointer:coarse) and (width<=768px){.top-bar .top-bar-right>.btn-header-secondary:has(+.top-bar-slot:empty+.btn-header-secondary):after{margin-left:-4px;margin-right:4px}}.content-area{flex-direction:column;flex:1;padding:24px;display:flex;overflow-y:auto}.view-content{flex-direction:column;flex:1;min-height:0;display:flex}.content-area--full{min-height:0;padding:0;overflow:hidden}@media (width>=769px){html .content-area:not(.content-area--full){padding-bottom:calc(24px + var(--assistant-launcher-lane,0px))}html .content-area:not(.content-area--full):has(.protocol-overview){padding-bottom:0}html .protocol-overview:not(.protocol-overview--phone) .overview-content{padding-bottom:calc(40px + var(--assistant-launcher-lane,0px))}html .calendar-grid-wrapper:has(.grid-month){padding-bottom:var(--assistant-launcher-lane,96px)}html .timegrid-vscroll{padding-bottom:var(--assistant-launcher-lane,0px)}html .store-panel{padding-bottom:calc(40px + var(--assistant-launcher-lane,0px))}html .store-detail-scroll{padding-bottom:var(--assistant-launcher-lane,0px)}html .pokedeck-panel{padding-bottom:calc(24px + var(--assistant-launcher-lane,0px))}}.mobile-tabs{display:none}@media (width<=768px){.mobile-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0;gap:0;display:flex}.mobile-tab{min-width:0;height:44px;color:var(--text-tertiary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;font-family:inherit;font-size:13px;overflow:hidden}.mobile-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.mobile-tab:active{background:var(--bg-tertiary)}.main-content{width:100%}.top-bar{-webkit-app-region:no-drag;z-index:100;height:auto;min-height:calc(48px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));gap:8px;position:sticky;top:0}.top-bar button,.top-bar a,.top-bar input{-webkit-app-region:no-drag}.mac-traffic-spacer{display:none!important}.nav-open-btn,.collapse-btn{width:44px;height:44px}.content-area{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.content-area--full{padding:0}.breadcrumb{font-size:13px}.btn-new{height:32px;padding:0 12px;font-size:11px}.btn-header-secondary{height:32px;padding:0 8px}.btn-header-secondary span{display:none}input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],input:not([type]),textarea,select{font-size:16px}}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-tertiary)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}:root{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.store-billing-note{text-align:center;opacity:.7;margin:12px 0 0;font-size:13px;line-height:1.5}@media (width<=1024px){.nav-open-btn{min-width:44px;min-height:44px}.assistant-fab{min-height:44px}}@media (width>=769px){html .journal-content{padding-right:max(20px, var(--assistant-launcher-right,0px));padding-left:max(20px, var(--assistant-launcher-left,0px));padding-bottom:calc(20px + var(--assistant-launcher-lane,0px))}html .calendar-layout{box-sizing:border-box;padding-right:var(--assistant-launcher-right,0px);padding-left:var(--assistant-launcher-left,0px);min-width:0}}@media (width<=768px){:root{--composer-gutter:16px}}
