*{box-sizing:border-box;margin:0;padding:0}:root{--topbar-h:56px;--bg:#f5f5f0;--surface:#fafaf8;--surface-2:#efefef;--border:#d8d8d4;--border-hover:#c8c8c4;--border-subtle:#e8e8e4;--text:#1a1a18;--text-2:#52524e;--text-3:#62625e;--accent:#1a1a18;--accent-hover:#333330;--accent-dark:#333330;--accent-dim:rgba(26,26,24,.08);--success:#16a34a;--error:#dc2626;--error-dim:rgba(220,38,38,.08);--error-border:rgba(220,38,38,.25);--pending:#b05010;--surface-dim:color-mix(in srgb,var(--surface) 78%,var(--bg));--surface-dim-strong:color-mix(in srgb,var(--surface) 72%,var(--bg));--surface-dim-xstrong:color-mix(in srgb,var(--surface) 88%,var(--bg));--surface-dim-xxstrong:color-mix(in srgb,var(--surface) 94%,var(--bg));--surface-dim-84:color-mix(in srgb,var(--surface) 84%,var(--bg));--border-dim:color-mix(in srgb,var(--border) 72%,var(--bg));--text-dim:color-mix(in srgb,var(--text) 16%,var(--bg));--accent-dim-strong:color-mix(in srgb,var(--accent) 12%,var(--bg))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c0c0e;--surface:#141412;--surface-2:#1c1c19;--border:#2c2c28;--border-hover:#3a3a36;--border-subtle:#222220;--text:#e8e4dc;--text-2:#9a9689;--text-3:#9f9a92;--accent:#f0f0ec;--accent-hover:#e8e8e8;--accent-dark:#e8e8e8;--accent-dim:hsla(60,12%,93%,.08);--success:#22c55e;--error:#ef4444;--pending:#b05010;--pending-dim:rgba(176,80,16,.1);--overlay:rgba(0,0,0,.65)}}[data-theme=dark]{--bg:#0c0c0e;--surface:#141412;--surface-2:#1c1c19;--border:#2c2c28;--border-hover:#3a3a36;--border-subtle:#222220;--text:#e8e4dc;--text-2:#9a9689;--text-3:#9f9a92;--accent:#f0f0ec;--accent-hover:#e8e8e8;--accent-dark:#e8e8e8;--accent-dim:hsla(60,12%,93%,.08);--success:#22c55e;--error:#ef4444;--error-dim:rgba(220,38,38,.1);--error-border:rgba(220,38,38,.3);--pending:#b05010;--pending-dim:rgba(176,80,16,.1);--overlay:rgba(0,0,0,.65);--surface-dim:color-mix(in srgb,var(--surface) 78%,var(--bg));--surface-dim-strong:color-mix(in srgb,var(--surface) 72%,var(--bg));--surface-dim-xstrong:color-mix(in srgb,var(--surface) 88%,var(--bg));--surface-dim-xxstrong:color-mix(in srgb,var(--surface) 94%,var(--bg));--surface-dim-84:color-mix(in srgb,var(--surface) 84%,var(--bg));--border-dim:color-mix(in srgb,var(--border) 72%,var(--bg));--text-dim:color-mix(in srgb,var(--text) 16%,var(--bg));--text-dim-strong:color-mix(in srgb,var(--text) 20%,var(--bg));--text-dim-xstrong:color-mix(in srgb,var(--text) 38%,var(--bg));--accent-dim-strong:color-mix(in srgb,var(--accent) 12%,var(--bg));--shadow-card:0 2px 8px rgba(0,0,0,.3);--shadow-card-hover:0 4px 12px rgba(0,0,0,.35);--shadow-form:0 4px 12px rgba(0,0,0,.3)}[data-theme=light]{--bg:#f5f5f0;--surface:#fafaf8;--surface-2:#efefef;--border:#d8d8d4;--border-hover:#c8c8c4;--border-subtle:#e8e8e4;--text:#1a1a18;--text-2:#52524e;--text-3:#62625e;--accent:#1a1a18;--accent-hover:#333330;--accent-dark:#333330;--accent-dim:rgba(26,26,24,.08);--success:#16a34a;--error:#dc2626;--error-dim:rgba(220,38,38,.08);--error-border:rgba(220,38,38,.25);--pending:#b05010;--pending-dim:rgba(176,80,16,.1);--overlay:hsla(0,0%,5%,.55);--shadow-card:0 2px 8px rgba(0,0,0,.14);--shadow-card-hover:0 4px 12px rgba(0,0,0,.18);--shadow-form:0 4px 12px rgba(0,0,0,.1);--surface-dim:color-mix(in srgb,var(--surface) 78%,var(--bg));--surface-dim-strong:color-mix(in srgb,var(--surface) 72%,var(--bg));--surface-dim-xstrong:color-mix(in srgb,var(--surface) 88%,var(--bg));--surface-dim-xxstrong:color-mix(in srgb,var(--surface) 94%,var(--bg));--surface-dim-84:color-mix(in srgb,var(--surface) 84%,var(--bg));--border-dim:color-mix(in srgb,var(--border) 72%,var(--bg));--text-dim:color-mix(in srgb,var(--text) 16%,var(--bg));--text-dim-strong:color-mix(in srgb,var(--text) 20%,var(--bg));--text-dim-xstrong:color-mix(in srgb,var(--text) 38%,var(--bg));--accent-dim-strong:color-mix(in srgb,var(--accent) 12%,var(--bg))}html[data-theme=dark],html[data-theme=light]{--ag-font-family:var(--font-mono);--ag-font-size:12px;--ag-background-color:var(--surface);--ag-foreground-color:var(--text);--ag-data-color:var(--text);--ag-secondary-foreground-color:var(--text-2);--ag-header-background-color:var(--bg);--ag-header-text-color:var(--text-2);--ag-chrome-background-color:var(--surface);--ag-border-color:var(--border);--ag-row-border-color:color-mix(in srgb,var(--border) 58%,var(--bg));--ag-odd-row-background-color:var(--surface);--ag-row-hover-color:var(--surface-2);--ag-selected-row-background-color:var(--accent-dim);--ag-accent-color:var(--accent);--ag-input-focus-border-color:var(--accent);--ag-range-selection-border-color:var(--accent);--ag-range-selection-background-color:var(--accent-dim);--ag-menu-background-color:var(--surface);--ag-popup-shadow:var(--shadow-card);--ag-input-background-color:var(--surface);--ag-input-border-color:var(--border);--ag-input-text-color:var(--text);--ag-input-placeholder-text-color:var(--text-3);--ag-input-focus-background-color:var(--surface);--ag-input-focus-box-shadow:0 0 0 2px var(--accent-dim-strong);--ag-input-disabled-background-color:var(--surface-2);--ag-input-disabled-border-color:var(--border);--ag-input-invalid-background-color:var(--error-dim);--ag-input-invalid-border-color:var(--error);--ag-invalid-color:var(--error);--ag-popup-background-color:var(--surface);--ag-popup-border-color:var(--border);--ag-control-panel-background-color:var(--surface);--ag-side-button-selected-background-color:var(--surface-2);--ag-selected-tab-underline-color:var(--accent);--ag-header-column-border:none;--ag-header-row-border:none;--ag-header-column-resize-handle-color:transparent;--ag-cell-horizontal-border-color:color-mix(in srgb,var(--border) 50%,var(--bg))}html[data-theme=light]{--ag-browser-color-scheme:light}html[data-theme=dark]{--ag-browser-color-scheme:dark}html[data-theme] .ag-menu,html[data-theme] .ag-popup .ag-menu,html[data-theme] .ag-popup-child{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-card);font-family:var(--font-mono)}html[data-theme] .ag-list-item:hover,html[data-theme] .ag-menu-option.ag-active-option,html[data-theme] .ag-menu-option:hover{background:var(--surface-2)}html[data-theme] .ag-cell-edit-input,html[data-theme] .ag-cell-edit-wrapper,html[data-theme] .ag-input-field-input,html[data-theme] .ag-large-text-input,html[data-theme] .ag-text-field-input{background:var(--surface);color:var(--text);border-color:var(--border);font-family:var(--font-mono)}html[data-theme] .ag-input-field-input::placeholder,html[data-theme] .ag-text-field-input::placeholder{color:var(--text-3)}html[data-theme] .ag-cell-inline-editing,html[data-theme] .ag-cell-inline-editing .ag-cell-edit-wrapper{background:var(--surface)!important;box-shadow:inset 0 0 0 1px var(--accent)}:root{--black:var(--text);--white:var(--surface);--gray-50:var(--bg);--gray-100:var(--surface-2);--gray-200:var(--surface-2);--gray-300:var(--border);--gray-400:var(--border-hover);--gray-500:var(--text-3);--gray-600:var(--text-2);--gray-700:var(--text);--gray-800:var(--surface-2);--color-bg:var(--bg);--color-text:var(--text);--color-text-secondary:var(--text-2);--color-border:var(--border);--color-error:var(--error);--font-mono:"JetBrains Mono","Fira Code",monospace;--radius:20px;--radius-md:10px;--radius-sm:6px;--radius-frame:12px;--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--duration-instant:100ms;--duration-fast:150ms;--duration-normal:200ms;--duration-slow:250ms;--duration-reveal:300ms;--typewriter-ms-per-char:40;--typewriter-ms-word-pause:200;--typewriter-cursor-blink-ms:530;--text-xs:0.6875rem;--text-sm:0.8125rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.625rem;--weight-muted:300;--weight-secondary:400;--weight-primary:500;--weight-emphasis:600;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-16:64px;--z-base:0;--z-raised:5;--z-sticky:10;--z-overlay:20;--z-modal:30;--z-popover:35;--z-toast:40;--dispatch-header-height:48px;--dispatch-handle-width:36px;--dispatch-handle-height:4px;--dispatch-peek-height:calc(56px + env(safe-area-inset-bottom, 0px));--dispatch-footer-peek-collapsed-height:44px;--dispatch-panel-width:380px;--dispatch-peek-above-totals-gap:var(--space-2);--dispatch-panel-duration:var(--duration-reveal);--dispatch-panel-duration-exit:225ms;--dispatch-panel-body-stagger:60ms;--kofi-button-scale:1.5;--kofi-btn-base:30px;--kofi-icon-base:13px;--outline-focus:2px solid var(--accent);--outline-offset:2px}.totals-footer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.logout-btn{transition:border-color var(--duration-instant) var(--ease-out-expo),color var(--duration-instant) var(--ease-out-expo)}.logout-btn:hover{border-color:var(--border-hover)!important;color:var(--text-2)!important}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body,html{font-family:var(--font-mono);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);height:100%;-webkit-font-smoothing:antialiased;font-feature-settings:"kern";font-kerning:normal}body{overflow-x:hidden}button:hover{background-color:var(--surface-2)}input[type=text]::placeholder{color:var(--text-3);opacity:1}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}button[style*="textTransform: uppercase"][style*="letter-spacing: 0.1em"]{min-height:32px;min-width:44px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideFromLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes cursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes typewriterGlyphIn{0%{opacity:.24;transform:translateY(.08em);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes typewriterCaretTyping{0%,to{opacity:.9;transform:translateX(0) scaleY(.88)}50%{opacity:1;transform:translateX(.08em) scaleY(1)}}@keyframes typewriterCaretDone{0%,48%{opacity:.72}49%,to{opacity:.16}}@keyframes fieldShake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}@keyframes totalsFlash{0%{background:color-mix(in srgb,var(--accent) 12%,transparent)}to{background:transparent}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes chipPulse{0%,to{opacity:1}50%{opacity:.4;animation-timing-function:cubic-bezier(.16,1,.3,1)}}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}tr[data-expanded=true]>td{animation:slideDown .2s ease-out}input:focus,select:focus,textarea:focus{outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border-hover) 50%,var(--surface-2) 75%)}}.totals-flash{animation:totalsFlash .2s ease-out}.flight-list{display:flex;flex-direction:column;gap:var(--space-1);width:100%;container-type:inline-size}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.global-error-body{margin:0;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6);text-align:center;background:var(--bg);color:var(--text);font-family:var(--font-mono);animation:contentFadeIn var(--duration-normal) var(--ease-out-expo)}.global-error-body h1{font-size:var(--text-lg);font-weight:var(--weight-emphasis)}.global-error-body p{font-size:var(--text-sm);color:var(--text-2);max-width:36ch}.global-error-btn{font-family:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);min-height:44px;cursor:pointer;background:var(--accent);color:var(--bg);border:none;border-radius:var(--radius-sm)}.global-error-btn:hover{background:var(--accent-hover)}[role=button],button{transition:transform var(--duration-instant) var(--ease-out-expo),background var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo),border-color var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo),opacity var(--duration-fast) var(--ease-out-expo)}[role=button]:active:not([aria-disabled=true]),button:active:not(:disabled){transform:scale(.97)}input,select,textarea{transition:border-color var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo),background var(--duration-fast) var(--ease-out-expo)}input[type=checkbox]{transition:transform var(--duration-instant) var(--ease-out-expo)}input[type=checkbox]:active{transform:scale(.92)}@keyframes scalePop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes shake{0%,to{transform:translateX(0)}15%{transform:translateX(-5px)}30%{transform:translateX(4px)}45%{transform:translateX(-3px)}60%{transform:translateX(2px)}75%{transform:translateX(-1px)}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.6}}@keyframes staggerItemIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-scale-pop{animation:scalePop var(--duration-normal) var(--ease-out-expo)}.animate-slide-in-right{animation:slideInRight var(--duration-normal) var(--ease-out-expo) both}@media (prefers-reduced-motion:reduce){[role=button],button,input,select,textarea{transition:none}[role=button]:active:not([aria-disabled=true]),button:active:not(:disabled),input[type=checkbox]:active{transform:none}.animate-scale-pop,.animate-slide-in-right{animation:none;opacity:1;transform:none}}@keyframes contentFadeIn{0%{opacity:0}to{opacity:1}}.logbook-app-shell{min-height:100vh;height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);overflow:hidden;animation:contentFadeIn var(--duration-normal) var(--ease-out-expo);contain:layout style}.logbook-offline{flex:0 0 auto;padding:6px 16px;background:var(--text);color:var(--surface);text-align:center;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;animation:slideDownBanner var(--duration-normal) var(--ease-out-expo)}@keyframes slideDownBanner{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.landing-bar,.login-bar,.site-nav{height:var(--topbar-h,56px);display:flex;align-items:center;padding:0 var(--space-8);gap:var(--space-6);flex-shrink:0}.landing-bar,.login-bar{position:relative;z-index:var(--z-sticky);animation:contentFadeIn var(--duration-slow) var(--ease-out-expo)}.landing-logo,.logbook-logo,.login-logo,.sign-in-brand,.site-brand{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;padding:0;font-family:var(--font-mono);font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--text);text-decoration:none;background:transparent;border:none;cursor:pointer}.landing-logo:focus-visible,.logbook-logo:focus-visible,.login-logo:focus-visible,.sign-in-brand:focus-visible,.site-brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.logbook-logo:hover{background:transparent!important}.landing-bar-right,.logbook-header-actions,.login-bar-right,.site-nav-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.landing-get-started,.site-nav-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:10px 14px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--text-2);text-decoration:none;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}.landing-get-started:hover,.site-nav-link:hover{background:var(--surface-2);color:var(--text)}.landing-get-started:focus-visible,.site-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.logbook-header{height:var(--topbar-h,56px);flex:0 0 auto;gap:var(--space-6);padding:0 var(--space-8);background:var(--bg);z-index:var(--z-sticky);animation:contentFadeIn var(--duration-normal) var(--ease-out-expo)}.logbook-header,.logbook-header-toolbar{display:flex;align-items:center;position:relative}.logbook-header-toolbar{gap:var(--space-4);flex:1 1;min-width:0}.logbook-account-menu-wrapper{position:relative}.logbook-account-btn-name{font-size:var(--text-xs)}.logbook-account-btn-initial{width:22px;height:22px;border-radius:50%;background:var(--accent-dim);color:var(--text-2);font-size:10px;font-weight:600;font-family:var(--font-mono);display:inline-flex;align-items:center;justify-content:center}.logbook-account-sync-dot{width:8px;height:8px;border-radius:50%;background:var(--text-3);flex-shrink:0;transition:background var(--duration-fast) var(--ease-out-expo);position:relative}.logbook-account-sync-dot[data-sync-state=sync_down],.logbook-account-sync-dot[data-sync-state=sync_up],.logbook-account-sync-dot[data-sync-state=syncing_down],.logbook-account-sync-dot[data-sync-state=syncing_up]{background:var(--pending);animation:syncDotPulse 1.1s var(--ease-out-expo) infinite}.logbook-account-sync-dot[data-sync-state=idle],.logbook-account-sync-dot[data-sync-state=synced]{background:var(--success)}.logbook-account-sync-dot[data-sync-state=error]{background:var(--error)}@keyframes syncDotPulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.logbook-account-sync-dot[data-sync-state=sync_down],.logbook-account-sync-dot[data-sync-state=sync_up],.logbook-account-sync-dot[data-sync-state=syncing_down],.logbook-account-sync-dot[data-sync-state=syncing_up]{animation:none}}.logbook-account-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:160px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);z-index:var(--z-overlay);border-radius:var(--radius-sm);padding:4px 0;animation:dropIn var(--duration-normal) var(--ease-out-expo)}.logbook-account-menu-item{display:flex;align-items:center;width:100%;padding:9px 14px;border:none;background:transparent;cursor:pointer;font-family:var(--font-mono);font-size:12px;color:var(--text-2);text-decoration:none;transition:background var(--duration-fast),color var(--duration-fast);text-align:left}.logbook-account-menu-item:hover{background:var(--surface-2);color:var(--text)}.logbook-account-menu-signout{color:var(--text-3);border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:10px}.logbook-account-menu-signout:hover{color:var(--error);background:var(--error-dim)}.logbook-header-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;height:30px;padding:0 var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-primary);white-space:nowrap;cursor:pointer;flex-shrink:0;transition:background var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}.logbook-header-btn:hover{background:var(--surface-2);color:var(--text)}.logbook-header-btn:active{background:var(--surface-dim);color:var(--text-2)}.logbook-header-btn:focus-visible,.logbook-view-switch:focus-visible,button.logbook-rail-segment:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-offset)}.logbook-header-btn--new-flight{color:var(--text);font-weight:var(--weight-emphasis)}.logbook-header-btn--new-flight svg{width:13px;height:13px;flex-shrink:0;fill:none;stroke:currentColor}.logbook-theme-btn,.site-theme-toggle{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;color:var(--text-3)}.logbook-theme-btn:hover,.site-theme-toggle:hover{background:var(--surface-2);color:var(--text)}.logbook-theme-btn:active,.site-theme-toggle:active{background:var(--surface-dim);color:var(--text-2)}.logbook-theme-btn svg,.site-theme-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.logbook-kofi-btn{width:calc(var(--kofi-btn-base) * var(--kofi-button-scale));height:calc(var(--kofi-btn-base) * var(--kofi-button-scale));padding:0;border-radius:var(--radius-sm)}.logbook-kofi-btn-icon{width:calc(var(--kofi-icon-base) * var(--kofi-button-scale));height:calc(var(--kofi-icon-base) * var(--kofi-button-scale));display:block;object-fit:contain}.logbook-workspace{animation:contentFadeIn var(--duration-reveal) var(--ease-out-expo);animation-delay:50ms;animation-fill-mode:backwards}.logbook-toolbar-utilities{display:inline-flex;align-items:center;position:relative;flex-shrink:0}.logbook-utility-rail{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0;border:none;background:transparent}.logbook-view-switch{display:inline-flex;align-items:center;gap:var(--space-1);cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:2px;transition:background var(--duration-fast) var(--ease-out-expo)}.logbook-view-switch:hover{background:var(--surface-dim)}.logbook-rail-segment{display:inline-flex;align-items:center;gap:var(--space-1);height:28px;padding:0 var(--space-2);border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--text-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-primary);white-space:nowrap;transition:color var(--duration-fast) var(--ease-out-expo),background var(--duration-fast) var(--ease-out-expo),font-weight var(--duration-fast) var(--ease-out-expo)}.logbook-view-switch .logbook-rail-segment{cursor:inherit}.logbook-rail-segment:hover{color:var(--text-2);background:var(--surface-2)}.logbook-rail-segment:active{background:var(--surface-dim)}.logbook-rail-segment.active{background:var(--accent);color:var(--bg);font-weight:var(--weight-emphasis)}.logbook-rail-segment.active:hover{background:var(--accent-hover)}.logbook-rail-segment.active:active{background:var(--accent-dark)}button.logbook-rail-segment{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.logbook-filters-chevron{flex-shrink:0;opacity:.4}.filter-badge{font-size:var(--text-xs);color:var(--text-3);font-weight:var(--weight-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.logbook-rail-segment.active .filter-badge{color:var(--text-2)}.logbook-utility-rail .logbook-delete-btn{gap:var(--space-2);border:none;background:transparent;color:var(--text-3);font-weight:var(--weight-primary)}.logbook-utility-rail .logbook-delete-btn:hover{background:var(--error-dim);color:var(--error)}.logbook-utility-rail .logbook-delete-btn svg{width:12px;height:12px;flex-shrink:0;fill:none}.logbook-utility-rail .logbook-delete-btn.confirming{background:var(--error);color:var(--surface);font-weight:var(--weight-emphasis)}.logbook-filters-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;min-width:200px;box-shadow:0 6px 24px rgba(0,0,0,.25);animation:dropIn var(--duration-normal) var(--ease-out-expo)}.filters-section-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.filters-date-options{display:flex;flex-direction:column;gap:2px}.filter-date-btn{min-height:36px;padding:0 12px;border:none;border-radius:6px;background:transparent;color:var(--text-2);font-family:var(--font-mono);font-size:11px;text-align:left;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo)}.filter-date-btn:hover{background:var(--surface-2);color:var(--text)}.filter-date-btn.active{background:var(--accent-dim);color:var(--text);font-weight:500}.filter-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.filter-chip-btn{min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-3);font-family:var(--font-mono);font-size:10px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo)}.filter-chip-btn:hover{border-color:var(--border-hover);color:var(--text-2)}.filter-chip-btn.active{background:var(--surface-2);border-color:var(--border-hover);color:var(--text)}.logbook-grid-wrap{flex:1 1;min-height:0;width:100%;--logbook-header-stack-height:96px;--ag-font-family:var(--font-mono);--ag-font-size:12px;--ag-background-color:var(--surface);--ag-foreground-color:var(--text);--ag-data-color:var(--text);--ag-secondary-foreground-color:var(--text-2);--ag-header-background-color:var(--bg);--ag-header-text-color:var(--text-2);--ag-chrome-background-color:var(--surface);--ag-border-color:var(--border);--ag-row-border-color:color-mix(in srgb,var(--border) 58%,var(--bg));--ag-odd-row-background-color:var(--surface);--ag-row-hover-color:var(--surface-2);--ag-selected-row-background-color:var(--accent-dim);--ag-accent-color:var(--accent);--ag-input-focus-border-color:var(--accent);--ag-range-selection-border-color:var(--accent);--ag-range-selection-background-color:var(--accent-dim);--ag-menu-background-color:var(--surface);--ag-popup-shadow:var(--shadow-card);--ag-input-background-color:var(--surface);--ag-input-border-color:var(--border);--ag-input-text-color:var(--text);--ag-input-placeholder-text-color:var(--text-3);--ag-input-focus-background-color:var(--surface);--ag-input-focus-box-shadow:0 0 0 2px var(--accent-dim-strong);--ag-input-disabled-background-color:var(--surface-2);--ag-input-disabled-border-color:var(--border);--ag-input-invalid-background-color:var(--error-dim);--ag-input-invalid-border-color:var(--error);--ag-invalid-color:var(--error);--ag-popup-background-color:var(--surface);--ag-popup-border-color:var(--border);--ag-control-panel-background-color:var(--surface);--ag-side-button-selected-background-color:var(--surface-2);--ag-selected-tab-underline-color:var(--accent);--ag-header-column-border:none;--ag-header-row-border:1px solid color-mix(in srgb,var(--border) 45%,transparent);--ag-header-column-resize-handle-color:transparent;--ag-cell-horizontal-border-color:color-mix(in srgb,var(--border) 50%,var(--bg))}.logbook-grid-wrap .ag-root-wrapper{border:none;border-radius:0}.logbook-field-stage{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--bg);animation:contentFadeIn var(--duration-normal) var(--ease-out-expo)}.logbook-grid-panel{width:100%;height:100%;transition:filter .22s ease}.logbook-grid-panel>div{height:100%}@media (prefers-reduced-motion:reduce){.logbook-grid-panel,.logbook-rail-segment{transition:none}.logbook-loading,.logbook-skeleton-cell,.logbook-skeleton-grid{animation:none;background:var(--surface-2)}.logbook-grid-message{animation:none}}.logbook-grid-wrap .ag-header{border-bottom:1px solid var(--border-dim)}.logbook-grid-wrap .ag-header-cell:after,.logbook-grid-wrap .ag-header-group-cell:not(.ag-header-span-height):after{display:none}.logbook-grid-wrap .ag-header-cell.logbook-header-group-end:after,.logbook-grid-wrap .ag-header-row:first-child .ag-header-group-cell:after{display:block;width:1px;background-color:color-mix(in srgb,var(--border) 45%,transparent)}.logbook-grid-wrap .ag-header-row:first-child .ag-header-group-cell:after,.logbook-grid-wrap .ag-header-row:not(:first-child) .ag-header-cell.logbook-header-group-end:after{height:100%}.logbook-grid-wrap .ag-header-cell.logbook-header-group-end.ag-header-span-height:after{height:var(--logbook-header-stack-height)}.logbook-app-shell[data-mode=quick] .logbook-grid-wrap .ag-header-row:first-child>:is(.ag-header-cell,.ag-header-group-cell):last-child:after{display:none}.logbook-grid-wrap .ag-header-cell:hover .ag-header-cell-resize:after{background-color:var(--border-hover)}.logbook-grid-wrap .ag-header-cell-label,.logbook-grid-wrap .ag-header-group-cell-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2);justify-content:flex-start;text-align:left;width:100%}.logbook-grid-wrap .logbook-header-left .ag-header-cell-label{text-align:left}.logbook-header-tooltip-wrap{display:flex;align-items:center;justify-content:flex-start;width:100%;min-width:0}.logbook-header-tooltip-wrap.logbook-header-align-center,.logbook-header-tooltip-wrap.logbook-header-align-center .logbook-header-tooltip-trigger{justify-content:center}.logbook-header-stacked{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;white-space:normal}.logbook-header-stacked-line{display:block}.logbook-header-tooltip-wrap.logbook-header-align-center .logbook-header-stacked{align-items:center}.logbook-header-tooltip-trigger{all:unset;display:inline-flex;align-items:center;justify-content:flex-start;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help;-webkit-text-decoration:underline dotted var(--text-dim-strong);text-decoration:underline dotted var(--text-dim-strong);text-underline-offset:3px;touch-action:manipulation}.logbook-header-tooltip-trigger:has(.logbook-header-stacked){white-space:normal;overflow:visible;text-overflow:clip;text-decoration:none}.logbook-header-tooltip-trigger:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.logbook-header-tooltip{position:fixed;z-index:var(--z-overlay);max-width:220px;transform:translateX(-50%);padding:7px 9px;border:1px solid var(--border);background:var(--text);color:var(--surface);box-shadow:var(--shadow-card);font-family:var(--font-mono);font-size:11px;font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none;animation:dropIn var(--duration-instant) var(--ease-out-expo);white-space:normal;pointer-events:none}.logbook-grid-wrap .block-time-cell,.logbook-grid-wrap .logbook-cell-left{text-align:left}.logbook-grid-wrap .block-time-cell{font-weight:700}.logbook-grid-wrap .ag-right-aligned-cell,.logbook-grid-wrap .ag-right-aligned-header .ag-header-cell-label{text-align:left;justify-content:flex-start}.logbook-grid-wrap .ag-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-right-color:transparent}.logbook-grid-wrap .block-time-cell .ag-cell-edit-input,.logbook-grid-wrap .block-time-cell .ag-input-field-input,.logbook-grid-wrap .block-time-cell .ag-text-field-input,.logbook-grid-wrap .logbook-cell-left .ag-cell-edit-input,.logbook-grid-wrap .logbook-cell-left .ag-input-field-input,.logbook-grid-wrap .logbook-cell-left .ag-text-field-input{text-align:left}.logbook-grid-wrap .ag-cell-inline-editing,.logbook-grid-wrap .ag-cell-inline-editing .ag-cell-edit-wrapper{background:var(--surface)!important;box-shadow:inset 0 0 0 1px var(--accent);border-radius:0;padding:0}.logbook-grid-wrap .ag-cell-edit-input,.logbook-grid-wrap .ag-cell-edit-wrapper,.logbook-grid-wrap .ag-input-field-input,.logbook-grid-wrap .ag-large-text-input,.logbook-grid-wrap .ag-large-text-input-wrapper,.logbook-grid-wrap .ag-text-field-input,.logbook-grid-wrap .ag-text-field-input-wrapper{background:var(--surface);color:var(--text);border-color:var(--border);font-family:var(--font-mono)}.logbook-grid-wrap .ag-input-field-input::placeholder,.logbook-grid-wrap .ag-text-field-input::placeholder{color:var(--text-3)}.logbook-grid-wrap .ag-column-drop-cell,.logbook-grid-wrap .ag-list,.logbook-grid-wrap .ag-menu,.logbook-grid-wrap .ag-picker-field-wrapper,.logbook-grid-wrap .ag-popup,.logbook-grid-wrap .ag-rich-list,.logbook-grid-wrap .ag-tooltip{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-card);font-family:var(--font-mono)}.logbook-grid-wrap .ag-list-item:hover,.logbook-grid-wrap .ag-menu-option.ag-active-option,.logbook-grid-wrap .ag-menu-option:hover{background:var(--surface-2)}.logbook-grid-message{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px;color:var(--text-2);font-family:var(--font-mono);font-size:12px;text-align:center;animation:contentFadeIn var(--duration-normal) var(--ease-out-expo)}.logbook-grid-message p{margin:0}.logbook-grid-message button{min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:12px;cursor:pointer}.logbook-grid-message button:hover{border-color:var(--text)}.logbook-grid-message button:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-offset)}.logbook-grid-message button:active{background:var(--surface-2)}.logbook-empty-logbook-title{font-size:var(--text-sm);font-weight:var(--weight-primary);color:var(--text)}.logbook-empty-logbook-sub{max-width:360px;font-size:var(--text-xs);color:var(--text-3)}.logbook-empty-logbook-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.logbook-empty-logbook-actions button{font-weight:var(--weight-emphasis)}.logbook-totals-bar{flex:0 0 auto;min-height:48px;background:var(--bg);border-top:1px solid var(--border-dim);color:var(--text);font-family:var(--font-mono);font-weight:400;letter-spacing:.08em;text-transform:uppercase;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;contain:layout style}.logbook-totals-bar--strip{display:flex;align-items:center;gap:var(--space-5);overflow-x:auto;padding:0 var(--space-7);font-size:11px}.logbook-totals-bar--pinned{position:relative;min-height:52px;overflow:hidden;padding:var(--space-2) 0}.logbook-totals-pin-cell{position:absolute;top:var(--space-2);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;text-align:left;padding-left:var(--space-2);pointer-events:none}.logbook-label-stacked{display:flex;flex-direction:column;line-height:1.15}.logbook-label-stacked-line{display:block}.logbook-totals-pin-label{font-size:9px;font-weight:600;color:var(--text-2);letter-spacing:.06em}.logbook-totals-pin-value{font-size:11px;font-weight:700}.logbook-totals-strip-item{display:inline-flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:2px;min-width:44px}.logbook-totals-strip-label{font-size:9px;font-weight:600;color:var(--text-2)}.logbook-totals-strip-value{font-size:11px;font-weight:700}.logbook-totals-bar span{flex:0 0 auto}.logbook-totals-status{color:var(--surface-dim-strong)}.logbook-totals-bar strong{font-weight:700}.logbook-canvas{flex:1 1;min-height:0;padding:32px 28px 64px;background:var(--bg)}.logbook-empty-page{min-height:240px}.logbook-loading{width:200px;height:20px;border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.filter-chip-btn.active{animation:scalePop var(--duration-normal) var(--ease-out-expo)}.logbook-delete-btn{animation:slideInRight var(--duration-normal) var(--ease-out-expo) both}@keyframes badgePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.filter-badge{transition:transform var(--duration-fast) var(--ease-out-expo)}.filter-badge.pulse{animation:badgePulse var(--duration-normal) var(--ease-out-expo)}.logbook-empty-logbook-actions,.logbook-empty-logbook-sub,.logbook-empty-logbook-title{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards}.logbook-empty-logbook-title{animation-delay:80ms}.logbook-empty-logbook-sub{animation-delay:.16s}.logbook-empty-logbook-actions{animation-delay:.24s}.logbook-grid-message{transition:opacity var(--duration-normal) var(--ease-out-expo)}.logbook-field-stage{transition:opacity var(--duration-reveal) var(--ease-out-expo)}.logbook-skeleton-grid{width:100%;max-width:520px}.logbook-skeleton-row{display:flex;gap:var(--space-3);align-items:center;padding:7px 0}.logbook-skeleton-row+.logbook-skeleton-row{border-top:1px solid color-mix(in srgb,var(--border) 40%,var(--bg))}.logbook-skeleton-cell{height:10px;border-radius:2px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.logbook-skeleton-cell:first-child{width:22%}.logbook-skeleton-cell:nth-child(2){width:14%}.logbook-skeleton-cell:nth-child(3){width:12%}.logbook-skeleton-cell:nth-child(4){width:36%}.logbook-skeleton-cell:nth-child(5){width:16%}.dispatch-drag-handle{width:var(--dispatch-handle-width);height:var(--dispatch-handle-height);border-radius:2px;background:var(--text-3);opacity:.4;flex-shrink:0}.dispatch-drag-handle--decorative{margin:var(--space-2) auto 0}.dispatch-chrome-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px}.dispatch-chrome-chevron{flex-shrink:0;color:var(--text-2);transition:transform var(--duration-instant) var(--ease-out-expo),color var(--duration-instant) var(--ease-out-expo)}.dispatch-chrome-row:hover .dispatch-chrome-chevron,.dispatch-panel-toggle:hover .dispatch-chrome-chevron{color:var(--text)}.dispatch-brand-vertical{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-family:var(--font-mono)}.dispatch-brand-vertical-word{font-size:var(--text-xs);color:var(--text-2);letter-spacing:.04em}.dispatch-brand-vertical-ai,.dispatch-brand-vertical-word{font-weight:var(--weight-secondary);writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;white-space:nowrap;line-height:var(--leading-tight)}.dispatch-brand-vertical-ai{font-size:.65em;color:var(--text-3);letter-spacing:.06em}.dispatch-ai-mark{font-size:.65em;vertical-align:super;line-height:0;font-weight:inherit}.logbook-workspace{flex-direction:column;background:var(--bg)}.logbook-grid-area,.logbook-workspace{display:flex;flex:1 1;min-height:0;width:100%}.logbook-grid-area{--logbook-totals-bar-height:52px;--dispatch-footer-peek-bottom:calc(var(--logbook-totals-bar-height) + var(--dispatch-peek-above-totals-gap));position:relative;min-width:0;flex-direction:column;overflow:visible;contain:layout style paint}.dispatch-backdrop{position:fixed;inset:0;background:var(--overlay);z-index:calc(var(--z-modal) - 1);opacity:0;pointer-events:none;transition:opacity var(--dispatch-panel-duration) var(--ease-out-expo)}.dispatch-backdrop:not(.visible){transition-duration:var(--dispatch-panel-duration-exit)}.dispatch-backdrop.visible{opacity:1;pointer-events:auto}.dispatch-panel{display:flex;flex-direction:column;background:var(--surface);overflow:hidden;z-index:var(--z-modal);box-shadow:var(--shadow-card);contain:layout style}.dispatch-panel-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);border-bottom:1px solid transparent;background:var(--surface);gap:var(--space-2);min-height:var(--dispatch-header-height);transition:background var(--dispatch-panel-duration) var(--ease-out-expo),border-color var(--dispatch-panel-duration) var(--ease-out-expo),padding var(--dispatch-panel-duration) var(--ease-out-expo),min-height var(--dispatch-panel-duration) var(--ease-out-expo)}.dispatch-panel.collapsed .dispatch-panel-header{cursor:pointer;background:var(--surface);border-bottom:1px solid var(--border)}.dispatch-panel.expanded .dispatch-panel-header{border-bottom-color:var(--border)}.dispatch-drag-handle--header{display:none}.dispatch-panel.collapsed .dispatch-panel-body{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);flex:0 0;min-height:0;overflow:hidden;transition:opacity var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo),visibility 0s linear var(--duration-fast)}.dispatch-panel-body{flex:1 1;min-height:0;display:flex;min-width:0;opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--dispatch-panel-duration) var(--ease-out-expo),transform var(--dispatch-panel-duration) var(--ease-out-expo),visibility 0s linear;transition-delay:var(--dispatch-panel-body-stagger)}.dispatch-panel-header-row{flex:1 1;width:100%;min-height:44px}.dispatch-panel-label{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-secondary);color:var(--text-2);white-space:nowrap;overflow:hidden;min-width:0}.dispatch-panel-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:44px;min-height:44px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-2);cursor:pointer;transition:background var(--duration-instant) var(--ease-out-expo),color var(--duration-instant) var(--ease-out-expo)}.dispatch-panel-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dispatch-panel-toggle:hover{background:var(--surface-2);color:var(--text)}.dispatch-panel-toggle-chevron{transition:transform var(--dispatch-panel-duration) var(--ease-out-expo),color var(--duration-instant) var(--ease-out-expo)}.dispatch-panel.expanded .dispatch-panel-toggle-chevron{transform:rotate(180deg)}@media (min-width:768px){.dispatch-panel--footer-peek,.dispatch-panel--full-peek{position:absolute;transition:height var(--dispatch-panel-duration) var(--ease-out-expo),box-shadow var(--dispatch-panel-duration) var(--ease-out-expo),border-radius var(--dispatch-panel-duration) var(--ease-out-expo),border-color var(--dispatch-panel-duration) var(--ease-out-expo),transform var(--dispatch-panel-duration) var(--ease-out-expo)}.dispatch-panel--footer-peek.collapsed,.dispatch-panel--full-peek.collapsed{transition-duration:var(--dispatch-panel-duration-exit);transition-delay:var(--dispatch-panel-body-stagger)}.dispatch-panel--footer-peek{transform-origin:bottom right}.dispatch-panel--full-peek{transform-origin:bottom center}.dispatch-panel--footer-peek{right:var(--space-2);left:auto;width:var(--dispatch-panel-width)}.dispatch-panel--footer-peek.collapsed{height:var(--dispatch-footer-peek-collapsed-height);min-height:var(--dispatch-footer-peek-collapsed-height);bottom:var(--dispatch-footer-peek-bottom);border:1px solid var(--border);border-radius:var(--radius-frame);box-shadow:var(--shadow-card)}.dispatch-panel--footer-peek.collapsed:hover{background:var(--surface-2)}.dispatch-panel--footer-peek.collapsed .dispatch-panel-header{flex-direction:row;align-items:center;justify-content:center;padding:0 var(--space-4);min-height:44px;border-bottom:none}.dispatch-panel--footer-peek.collapsed .dispatch-panel-header-row{padding:0;justify-content:center;width:auto}.dispatch-panel--footer-peek.collapsed .dispatch-drag-handle--header{display:none}.dispatch-panel--full-peek{left:0;right:0;bottom:0;width:100%;height:var(--dispatch-peek-height);border:none;border-top:1px solid var(--border);border-radius:var(--space-4) var(--space-4) 0 0}.dispatch-panel--full-peek .dispatch-drag-handle--header{display:block;margin:var(--space-2) auto 0}.dispatch-panel--full-peek.collapsed .dispatch-panel-header{flex-direction:column;justify-content:flex-start;padding:0;min-height:auto}.dispatch-panel--full-peek.collapsed .dispatch-panel-header-row{padding:0 var(--space-4) var(--space-2)}.dispatch-panel--footer-peek.expanded,.dispatch-panel--full-peek.expanded{box-shadow:var(--shadow-card-hover);z-index:var(--z-modal)}.dispatch-panel--footer-peek.expanded{right:var(--space-2);left:auto;width:var(--dispatch-panel-width);bottom:var(--dispatch-footer-peek-bottom);height:min(70vh,calc(100% - var(--dispatch-footer-peek-bottom)));max-height:min(70vh,calc(100% - var(--dispatch-footer-peek-bottom)));border:1px solid var(--border);border-radius:var(--space-4) var(--space-4) var(--radius-frame) var(--radius-frame)}.dispatch-panel--full-peek.expanded{left:0;right:0;bottom:0;width:100%;height:70vh;max-height:70vh;border:none;border-top:1px solid var(--border);border-radius:var(--space-4) var(--space-4) 0 0}.dispatch-panel--footer-peek.expanded .dispatch-panel-header,.dispatch-panel--full-peek.expanded .dispatch-panel-header{position:relative;flex-direction:row;cursor:-webkit-grab;cursor:grab;justify-content:center;padding:0 var(--space-4);min-height:var(--dispatch-header-height);border-bottom-color:var(--border)}.dispatch-panel--footer-peek.expanded .dispatch-panel-header-row,.dispatch-panel--full-peek.expanded .dispatch-panel-header-row{justify-content:center}.dispatch-panel--footer-peek.expanded .dispatch-drag-handle--header,.dispatch-panel--full-peek.expanded .dispatch-drag-handle--header{display:block;position:absolute;top:var(--space-2);left:50%;transform:translateX(-50%);margin:0}}@media (max-width:767px){.logbook-grid-area{flex:1 1;min-height:0;padding-bottom:var(--dispatch-peek-height)}.dispatch-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:var(--dispatch-peek-height);border:none;border-top:1px solid var(--border);border-radius:var(--space-4) var(--space-4) 0 0;transform-origin:bottom center;transition:height var(--dispatch-panel-duration) var(--ease-out-expo),box-shadow var(--dispatch-panel-duration) var(--ease-out-expo),border-radius var(--dispatch-panel-duration) var(--ease-out-expo);padding-bottom:env(safe-area-inset-bottom,0)}.dispatch-panel.collapsed{transition-duration:var(--dispatch-panel-duration-exit);transition-delay:var(--dispatch-panel-body-stagger)}.dispatch-panel.expanded{height:70vh;max-height:70vh;box-shadow:var(--shadow-card-hover)}.dispatch-drag-handle--header{display:block;margin:var(--space-2) auto 0}.dispatch-panel.collapsed .dispatch-panel-header{flex-direction:column;justify-content:flex-start;padding:0;min-height:auto}.dispatch-panel.collapsed .dispatch-panel-header-row{padding:0 var(--space-4) var(--space-2)}.dispatch-panel.expanded .dispatch-panel-header{position:relative;flex-direction:row;cursor:-webkit-grab;cursor:grab;justify-content:center;padding:0 var(--space-4);min-height:var(--dispatch-header-height)}.dispatch-panel.expanded .dispatch-panel-header-row{justify-content:center}.dispatch-panel.expanded .dispatch-drag-handle--header{position:absolute;top:var(--space-2);left:50%;transform:translateX(-50%);margin:0}}@media (prefers-reduced-motion:reduce){.dispatch-backdrop,.dispatch-panel,.dispatch-panel-body,.dispatch-panel-header,.dispatch-panel-toggle-chevron{transition:none}.dispatch-panel.collapsed .dispatch-panel-body{display:none}}.logbook-app{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}@media (max-width:768px){.logbook-header{padding:0 var(--space-4);gap:var(--space-2);height:auto;min-height:56px;flex-wrap:wrap}.logbook-logo{font-size:13px}.logbook-header-toolbar{flex:1 1 100%;flex-wrap:wrap;gap:var(--space-1);order:1;gap:var(--space-4)}.logbook-totals-bar{padding:0 var(--space-4);gap:var(--space-4);mask-image:linear-gradient(90deg,transparent 0,#000 8px 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8px 92%,transparent)}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--surface-2)}.landing-scroll-indicator,.skeleton,.totals-flash{animation:none}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.logbook-ai-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;gap:12px;color:var(--text-3)}.logbook-ai-placeholder svg{width:28px;height:28px;opacity:.4}.logbook-ai-placeholder span{font-family:var(--font-mono);font-size:13px;font-weight:400}.landing-app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);overflow-x:hidden}.landing-hero{position:relative;z-index:1;justify-content:center;min-height:calc(100svh - var(--topbar-h, 56px));padding:var(--space-16) clamp(var(--space-4),4vw,var(--space-10))}.landing-hero,.landing-hero-inner{display:flex;flex-direction:column;align-items:center}.landing-hero-inner{text-align:center;gap:var(--space-10)}.landing-hero h1,.landing-typewriter{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:min(92vw,22ch);min-height:3.2em;font-size:clamp(2.3rem,6.5vw,4.5rem);font-weight:var(--weight-secondary);line-height:1.2;letter-spacing:-.02em;color:var(--text);text-align:center;text-wrap:balance;gap:var(--space-4)}.landing-typewriter-line1,.landing-typewriter-line2{display:block;min-height:1.2em;white-space:nowrap;text-align:center}.landing-typewriter-line1{color:var(--text)}.landing-typewriter-line2{color:var(--text-3);font-weight:var(--weight-muted)}.typewriter-cursor{display:inline-block;margin-left:.08em;color:var(--text);font-family:var(--font-mono);font-size:.86em;line-height:1;transform-origin:center}.typewriter-cursor.typing{animation:typewriterCaretTyping .42s cubic-bezier(.16,1,.3,1) infinite}.typewriter-cursor.done{animation:typewriterCaretDone 1.18s step-end infinite}.landing-hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;min-height:48px;padding:0 28px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--bg);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;text-decoration:none;cursor:pointer;flex-shrink:0;transition:background var(--duration-fast) var(--ease-out-expo)}.landing-hero-cta:hover{background:var(--accent-hover);color:var(--bg)}.landing-hero-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.landing-footer{position:relative;z-index:1;flex-shrink:0;display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8) var(--space-6);animation:contentFadeIn var(--duration-slow) var(--ease-out-expo)}.landing-footer-links{display:flex;gap:var(--space-8)}.landing-copyright,.landing-link{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-muted);color:var(--text);text-decoration:none;transition:color var(--duration-instant) var(--ease-out-expo)}.landing-link:hover{color:var(--text-2)}.landing-scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-2) var(--space-3);min-height:44px;box-sizing:border-box;color:var(--text-3);text-decoration:none;animation:scrollBounce 2.2s var(--ease-out-quart) infinite}.landing-scroll-indicator:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.landing-scroll-indicator span{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase}@keyframes scrollBounce{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:.9;transform:translateY(6px)}}.feature-preview{position:relative;z-index:1;display:flex;flex-direction:column;gap:clamp(calc(var(--space-16) + var(--space-4)),8vh,calc(var(--space-16) + var(--space-12)));padding:var(--space-16) clamp(var(--space-4),4vw,var(--space-10));border-top:1px solid var(--border);background:transparent}.feature-preview-item{padding-block:var(--space-8)}.feature-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:clamp(var(--space-8),6vw,var(--space-12));gap:clamp(var(--space-8),6vw,var(--space-12));align-items:center;max-width:1200px;margin:0 auto}.feature-mock{width:100%}.feature-block.reverse>.feature-mock{order:2}.feature-text{display:flex;flex-direction:column;gap:var(--space-3);max-width:44ch}.feature-eyebrow{font-size:var(--text-xs);font-weight:var(--weight-emphasis);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}.feature-headline{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:var(--weight-secondary);letter-spacing:-.02em;line-height:1.15;color:var(--text)}.feature-body{font-size:var(--text-base);color:var(--text-2);line-height:1.6}.feature-proof{font-size:var(--text-sm);color:var(--text-3)}.feature-mock-frame{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-frame);box-shadow:var(--shadow-card);background:var(--surface);overflow:hidden}.feature-mock-frame>.mock-ai,.feature-mock-frame>.mock-grid,.feature-mock-frame>.mock-pricing{flex:0 0 auto;height:var(--feature-mock-body-height);display:flex;flex-direction:column;overflow-y:auto}.feature-mock-titlebar{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 var(--space-3);border-bottom:1px solid var(--border);background:var(--surface)}.feature-mock-dots{display:inline-flex;gap:6px}.feature-mock-dot{width:8px;height:8px;border-radius:50%;background:var(--border-hover)}.feature-mock-titlebar .logbook-view-switch{flex-shrink:0;gap:var(--space-1);cursor:default}.feature-mock-titlebar .logbook-rail-segment{height:22px;padding:0 6px;font-size:9px}.mock-grid{flex:1 1;justify-content:flex-start;font-family:var(--font-mono);overflow-x:auto}.mock-grid-header,.mock-grid-row{display:grid;grid-template-columns:56px 1fr 1fr 1fr 1fr 56px 56px 56px 56px 56px}.mock-grid-header>div{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border-dim)}.mock-grid-header>div,.mock-grid-row>div{padding:10px 8px;text-align:left;color:var(--text-2)}.mock-grid-row>div{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-bottom:1px solid color-mix(in srgb,var(--border) 58%,var(--bg));position:relative}.mock-grid-row.active>div{color:var(--text)}.mock-grid-row.committed{position:relative}.mock-grid-row.committed:before{content:"";position:absolute;left:2px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--success);transform:translateY(-50%);pointer-events:none}.mock-grid-caret{display:inline-block;width:6px;height:.9em;vertical-align:-1px;background:var(--text);animation:typewriterCaretTyping .42s cubic-bezier(.16,1,.3,1) infinite}.mock-grid-totals{display:flex;gap:var(--space-5);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-dim);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mock-grid-totals>span{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:44px;text-align:left}.mock-grid-totals strong{color:var(--text)}.mock-ai{flex-direction:column;height:100%}.mock-ai,.mock-ai-scroll{display:flex;min-height:0}.mock-ai-scroll{flex:1 1;padding:var(--space-4);flex-direction:column;gap:var(--space-3);overflow:hidden}.mock-ai-prompt-slot{flex:0 0 auto;min-height:calc(var(--space-16) + var(--space-10));display:flex;align-items:flex-start}.mock-ai-answer-slot{flex:1 1;min-height:0;overflow-y:auto}.mock-ai-bubble{align-self:flex-end;max-width:80%;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--accent);color:var(--surface);font-size:13px;line-height:1.6;white-space:pre-wrap}.mock-ai-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-dim-xxstrong);padding:var(--space-3);box-shadow:var(--shadow-card)}.mock-ai-status-row{display:grid;grid-template-columns:12px 1fr auto auto auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:center;font-size:12px;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mock-ai-status-row:not(:last-child){margin-bottom:var(--space-2)}.mock-ai-dot{width:8px;height:8px;border-radius:50%}.mock-ai-dot.success{background:var(--success)}.mock-ai-dot.pending{background:var(--pending)}.mock-ai-pills{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.mock-ai-composer{flex:0 0 auto;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.mock-ai-composer-input{height:40px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-3);font-size:12px;display:flex;align-items:center;font-family:var(--font-mono)}.mock-ai-mini-label{font-size:11px;color:var(--text-3);margin-bottom:var(--space-2);letter-spacing:.08em;text-transform:uppercase}.mock-ai-status-value{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mock-ai-status-unit{margin-left:var(--space-4);color:var(--text-3)}.mock-ai-bubble-schedule{opacity:.7}.mock-ai-answer-fadein{opacity:0;transition:opacity var(--feat-ai-fade) var(--ease-out-expo)}.mock-ai-answer-fadein.is-visible{opacity:1}.mock-pricing-final-fadein{opacity:0;transition:opacity .4s var(--ease-out-expo)}.mock-pricing-final-fadein.is-visible{opacity:1}.closing-cta{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.closing-cta-prompt{font-size:var(--text-sm);color:var(--text-3);letter-spacing:.04em;font-family:var(--font-mono)}.closing-cta-question{font-size:var(--text-lg);font-weight:var(--weight-primary);color:var(--text);font-family:var(--font-mono);text-align:center}.mock-pricing{flex:1 1;padding:var(--space-6);display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);font-family:var(--font-mono)}.mock-pricing-competitors{display:flex;flex-direction:column;gap:var(--space-3)}.mock-pricing-row{font-size:var(--text-sm);color:var(--text-2);min-height:1.4em;display:flex;align-items:center;gap:var(--space-1);transition:color .2s ease}.mock-pricing-row.strikethrough .mock-pricing-text{text-decoration:line-through;color:var(--text-3)}.mock-pricing-text{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mock-pricing-final{font-size:var(--text-lg);font-weight:var(--weight-emphasis);color:var(--text);margin-top:var(--space-2);min-height:1.5em;letter-spacing:-.01em}:root{--feature-mock-body-height:380px;--feat-cell-fast:250ms;--feat-cell-typed:400ms;--feat-commit:400ms;--feat-rest:1200ms;--feat-ai-hold:2400ms;--feat-ai-fade:280ms}@media (max-width:1080px){.feature-block{grid-template-columns:1fr}.feature-text{order:1}.feature-block.reverse>.feature-mock,.feature-mock{order:2}.mock-grid{overflow-x:auto;mask-image:linear-gradient(90deg,transparent 0,#000 8px 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8px 92%,transparent)}}@media (max-width:768px){:root{--feature-mock-body-height:clamp(220px,58vw,300px)}.feature-preview{gap:var(--space-12);padding:var(--space-10) var(--space-4)}.feature-preview-item{padding-block:var(--space-4)}.feature-block{gap:var(--space-5)}.feature-text{max-width:none}.feature-headline{font-size:clamp(1.55rem,7.5vw,2.1rem)}.feature-mock{width:calc(100% + 2 * var(--space-4));margin-inline:calc(-1 * var(--space-4))}.feature-mock-frame{border-radius:var(--radius);border-inline:none}.feature-mock-frame>.mock-ai,.feature-mock-frame>.mock-grid,.feature-mock-frame>.mock-pricing{height:auto;min-height:var(--feature-mock-body-height);max-height:min(320px,58vh)}.mock-grid{overflow-x:visible;mask-image:none;-webkit-mask-image:none}.mock-grid-header,.mock-grid-row{grid-template-columns:40px minmax(44px,1fr) minmax(44px,1fr) 40px 40px!important}.mock-grid-header>div:nth-child(10),.mock-grid-header>div:nth-child(2),.mock-grid-header>div:nth-child(3),.mock-grid-header>div:nth-child(8),.mock-grid-header>div:nth-child(9),.mock-grid-row>div:nth-child(10),.mock-grid-row>div:nth-child(2),.mock-grid-row>div:nth-child(3),.mock-grid-row>div:nth-child(8),.mock-grid-row>div:nth-child(9){display:none}.mock-grid-header>div,.mock-grid-row>div{font-size:11px;padding:10px 6px}.mock-grid-totals{flex-wrap:wrap;gap:var(--space-3) var(--space-4);padding:var(--space-3);font-size:10px}.mock-grid-totals>span:nth-child(4),.mock-grid-totals>span:nth-child(5){display:none}.mock-ai-prompt-slot{min-height:auto}.mock-ai-bubble{max-width:100%;font-size:13px;padding:var(--space-2) var(--space-3)}.mock-ai-mini-label{font-size:11px}.mock-ai-status-row{font-size:12px}.mock-ai-status-row:not(:has(.mock-ai-dot)){grid-template-columns:1fr auto auto}.mock-ai-status-row:not(:has(.mock-ai-dot)) .mock-ai-status-value{margin-left:0}.mock-ai-status-row:not(:has(.mock-ai-dot)) .mock-ai-status-unit{margin-left:var(--space-1);font-size:11px}.mock-ai-status-row:has(.mock-ai-dot){grid-template-columns:10px 1fr auto;row-gap:2px}.mock-ai-status-row:has(.mock-ai-dot) .mock-ai-status-value{margin-left:0}.mock-ai-status-row:has(.mock-ai-dot) .mock-ai-status-unit{grid-column:2/-1;margin-left:calc(10px + var(--space-2));font-size:10px}.mock-ai-pills{flex-wrap:wrap}.feature-mock-frame .ai-table-wrap{margin-top:var(--space-2)}.feature-mock-frame .ai-table{min-width:0}.feature-mock-frame .ai-table td,.feature-mock-frame .ai-table th{font-size:10px;padding:var(--space-2)}.feature-mock-frame .ai-table td:nth-child(2){white-space:normal;word-break:break-word}.mock-pricing{padding:var(--space-5) var(--space-4)}.mock-pricing-final{font-size:var(--text-base)}.landing-bar,.logbook-header,.login-bar,.site-nav{padding:0 var(--space-4)}.landing-hero{min-height:calc(100vh - var(--topbar-h, 56px));padding:var(--space-10) var(--space-4) var(--space-8)}.landing-hero-inner{gap:var(--space-6)}.landing-scroll-indicator{padding-bottom:var(--space-4)}.landing-footer{padding:var(--space-2) var(--space-4) var(--space-4)}.landing-footer-links{gap:var(--space-4)}}@media (max-width:480px){.landing-hero h1,.landing-typewriter{font-size:clamp(1.5rem,9vw,2.3rem);line-height:1.15}}@media (max-height:500px) and (orientation:landscape){.landing-hero{min-height:auto;padding:var(--space-8) var(--space-4)}}.flight-plan-sentinel{height:1px;width:100%;pointer-events:none;background:transparent;margin:0;padding:0;border:0}.flight-plan-path{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict}.flight-plan-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.flight-plan-leg{fill:none;stroke:var(--text-3);stroke-width:1.5;stroke-dasharray:3 4;stroke-dashoffset:0;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .4s var(--ease-out-expo)}.flight-plan-leg[data-revealed=true]{opacity:.4}@supports (animation-timeline:scroll()){.flight-plan-leg[data-revealed=true]{animation:flightPlanMarch linear infinite;animation-timeline:scroll(root block)}}@keyframes flightPlanMarch{to{stroke-dashoffset:-7}}.flight-plan-waypoint{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out-expo)}.flight-plan-waypoint[data-revealed=true]{opacity:1}.flight-plan-waypoint-dot{width:4px;height:4px;border-radius:50%;background:var(--text-2);display:block;flex-shrink:0;box-shadow:0 0 0 2px var(--bg)}.flight-plan-waypoint-label{position:absolute;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:10px;font-weight:var(--weight-emphasis);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;line-height:1}.flight-plan-waypoint[data-side=right] .flight-plan-waypoint-label{left:14px}.flight-plan-waypoint[data-side=left] .flight-plan-waypoint-label{right:14px}.flight-plan-threshold{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out-expo)}.flight-plan-threshold[data-revealed=true]{opacity:1}.flight-plan-threshold-label{font-family:var(--font-mono);font-size:9px;font-weight:var(--weight-emphasis);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);line-height:1;margin-bottom:2px}.flight-plan-threshold-bars{display:flex;flex-direction:column;gap:2px}.flight-plan-threshold-bar{display:block;width:18px;height:1px;background:var(--text-2)}.closing-cta,.feature-mock-frame,.landing-hero-cta{position:relative;z-index:1}@media (prefers-reduced-motion:reduce){.flight-plan-leg{animation:none!important;transition:none!important}.flight-plan-leg,.flight-plan-leg[data-revealed=false]{opacity:.4!important}.flight-plan-waypoint{transition:none!important}.flight-plan-waypoint[data-revealed=false]{opacity:1!important}.flight-plan-threshold{transition:none!important}.flight-plan-threshold[data-revealed=false]{opacity:1!important}}@media (max-width:768px){.flight-plan-threshold-label,.flight-plan-waypoint-label{display:none}.flight-plan-threshold-bar{width:14px}}.sign-in-shell{min-height:100vh;display:flex;flex-direction:column}.sign-in-nav{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);height:var(--topbar-h,56px)}.sign-in-nav-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--text-2);text-decoration:none;padding:10px 14px;border-radius:var(--radius-sm);cursor:pointer;background:transparent;border:none;transition:background var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}.sign-in-nav-link:hover{background:var(--surface-2);color:var(--text)}.sign-in-nav-link:active{background:var(--surface-dim)}.sign-in-nav-link:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-offset)}.sign-in-nav-actions{display:flex;align-items:center;gap:var(--space-2)}.sign-in-theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}.sign-in-theme-toggle:hover{background:var(--surface-2);color:var(--text)}.sign-in-theme-toggle:active{background:var(--surface-dim);color:var(--text-2)}.sign-in-theme-toggle:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-offset)}.sign-in-theme-toggle svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sign-in-content{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.sign-in-title{font-size:1.75rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:6px}.sign-in-subtitle,.sign-in-title{font-family:var(--font-mono);text-align:center}.sign-in-subtitle{font-size:var(--text-base);color:var(--text-2);margin-top:var(--space-8);margin-bottom:var(--space-8)}.sign-in-form{display:flex;flex-direction:column;gap:18px;width:100%;max-width:380px}.sign-in-error{background:var(--error-dim);border:1px solid var(--error-border);padding:10px 14px;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--error);border-radius:0}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:600;color:var(--text-2)}.form-input,.form-label{font-family:var(--font-mono)}.form-input{height:44px;padding:0 12px;font-size:var(--text-base);font-weight:400;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .1s}.form-input:focus-visible{outline:var(--outline-focus);outline-offset:-1px;border-color:var(--accent)}.form-input::placeholder{color:var(--text-3)}.sign-in-remember{display:flex;align-items:flex-start;gap:10px;padding:2px 0 4px;color:var(--text-2);font-size:var(--text-sm);line-height:1.45;cursor:pointer}.sign-in-checkbox{margin-top:2px;width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}.sign-in-checkbox:focus-visible{outline:var(--outline-focus);outline-offset:2px}.sign-in-remember-title{display:block;font-family:var(--font-mono);font-weight:600;color:var(--text);cursor:pointer}.sign-in-remember-hint{display:block;margin-top:2px;color:var(--text-3)}.sign-in-btn{height:40px;padding:0 20px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo);border:none;margin-top:6px;border-radius:var(--radius-sm)}.sign-in-btn.primary{width:100%;background:var(--accent);color:var(--bg)}.sign-in-btn.primary:hover{background:var(--accent-dark)}.sign-in-btn.primary:disabled{opacity:.5;cursor:not-allowed}.sign-in-btn.primary:focus-visible{outline:var(--outline-focus);outline-offset:2px}.sign-in-link{background:none;border:none;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--accent);cursor:pointer;padding:0;text-decoration:none}.sign-in-link:hover{color:var(--accent-dark);text-decoration:underline}.sign-in-link:active{color:var(--text-2)}.sign-in-link:focus-visible{outline:var(--outline-focus);outline-offset:2px}.sign-in-forgot{display:inline-flex;align-items:center;min-height:44px;margin-top:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-2);cursor:pointer;background:none;border:none;padding:0;text-align:right}.sign-in-forgot:hover{color:var(--text)}.sign-in-forgot:active{color:var(--text-3)}.sign-in-forgot:focus-visible{outline:var(--outline-focus);outline-offset:2px}.sign-in-forgot:disabled{color:var(--text-3);cursor:not-allowed}.sign-in-success{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-3);text-align:center}.sign-in-shell{background:var(--bg)}.login-bar-right{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.sign-in-form{animation:contentFadeIn var(--duration-normal) var(--ease-out-expo)}.sign-in-error{animation:shake .35s var(--ease-out-expo) both}.sign-in-success{animation:contentFadeIn var(--duration-normal) var(--ease-out-expo) both}.form-input{transition:border-color var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.form-input:focus{outline:none;border-color:var(--text-2);box-shadow:0 0 0 3px var(--accent-dim)}.sign-in-btn.primary{transition:background var(--duration-fast) var(--ease-out-expo),transform var(--duration-instant) var(--ease-out-expo),opacity var(--duration-fast) var(--ease-out-expo)}.sign-in-btn.primary:active:not(:disabled){transform:scale(.97)}.sign-in-checkbox{transition:box-shadow var(--duration-fast) var(--ease-out-expo)}.sign-in-checkbox:focus-visible{box-shadow:0 0 0 3px var(--accent-dim)}@media (max-width:768px){.sign-in-nav{padding:0 var(--space-4)}.sign-in-content{padding:32px 16px}.sign-in-form{gap:14px}}@media (max-width:480px){.sign-in-content{padding:24px 12px}.sign-in-title{font-size:1.375rem}.sign-in-form{gap:12px}}@media (prefers-reduced-motion:reduce){.sign-in-error,.sign-in-form,.sign-in-success{animation:none}.sign-in-btn.primary{transition:background var(--duration-fast) var(--ease-out-expo),opacity var(--duration-fast) var(--ease-out-expo)}.sign-in-btn.primary:active:not(:disabled){transform:none}}