*{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:#545450;--accent:#1a1a18;--accent-hover:#333330;--accent-dark:#333330;--accent-dim:#1a1a1814;--success:#16a34a;--success-dim:#16a34a14;--success-border:#16a34a40;--error:#dc2626;--error-dim:#dc262614;--error-border:#dc262640;--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:#f0f0ec14;--success:#22c55e;--success-dim:#22c55e1a;--success-border:#22c55e4d;--error:#ef4444;--pending:#b05010;--pending-dim:#b050101a;--overlay:#000000a6}}[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:#f0f0ec14;--success:#22c55e;--success-dim:#22c55e1a;--success-border:#22c55e4d;--error:#ef4444;--error-dim:#dc26261a;--error-border:#dc26264d;--pending:#b05010;--pending-dim:#b050101a;--overlay:#000000a6;--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 #0000004d;--shadow-card-hover:0 4px 12px #00000059;--shadow-form:0 4px 12px #0000004d}[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:#545450;--accent:#1a1a18;--accent-hover:#333330;--accent-dark:#333330;--accent-dim:#1a1a1814;--success:#16a34a;--success-dim:#16a34a14;--success-border:#16a34a40;--error:#dc2626;--error-dim:#dc262614;--error-border:#dc262640;--pending:#b05010;--pending-dim:#b050101a;--overlay:#0d0d0d8c;--shadow-card:0 2px 8px #00000024;--shadow-card-hover:0 4px 12px #0000002e;--shadow-form:0 4px 12px #0000001a;--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=light],html[data-theme=dark]{--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-popup-child,html[data-theme] .ag-popup .ag-menu,html[data-theme] .ag-menu{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-menu-option:hover,html[data-theme] .ag-list-item:hover,html[data-theme] .ag-menu-option.ag-active-option{background:var(--surface-2)}html[data-theme] .ag-text-field-input,html[data-theme] .ag-input-field-input,html[data-theme] .ag-cell-edit-input,html[data-theme] .ag-cell-edit-wrapper,html[data-theme] .ag-large-text-input{background:var(--surface);color:var(--text);border-color:var(--border);font-family:var(--font-mono)}html[data-theme] .ag-text-field-input::placeholder,html[data-theme] .ag-input-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{box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface)!important}: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:"Geist Mono", "JetBrains Mono", "Fira Code", monospace;--radius:20px;--radius-md:10px;--radius-sm:6px;--radius-frame:12px;--radius-button:9999px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in:cubic-bezier(.32, 0, .67, 0);--ease-spring-subtle:var(--ease-out-expo);--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.25s;--duration-reveal:.3s;--typewriter-ms-per-char:40;--typewriter-ms-word-pause:200;--typewriter-cursor-blink-ms:530;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--mobile-input-font-size: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;--button-height:40px;--button-height-lg:44px;--button-padding-x:var(--space-3);--button-padding-x-lg:var(--space-5);--button-icon-size:36px;--z-base:0;--z-raised:5;--z-sticky:10;--z-overlay:20;--z-modal:30;--z-popover:35;--z-toast:40;--bp-xs:380px;--bp-sm:480px;--bp-md:768px;--bp-lg:1080px;--app-max-width:2000px;--app-content-max-width:840px;--dispatch-header-height:48px;--dispatch-panel-duration:var(--duration-reveal);--kofi-button-scale:1.2;--kofi-btn-base:30px;--kofi-icon-base:13px;--glass-mix:84%;--glass-mix-strong:88%;--glass-bg:color-mix(in srgb, var(--surface) var(--glass-mix), transparent);--glass-bg-strong:color-mix(in srgb, var(--surface) var(--glass-mix-strong), transparent);--glass-blur:blur(20px) saturate(140%);--glass-blur-sm:blur(12px) saturate(140%);--glass-highlight:inset 0 1px 0 #ffffff8c;--glass-shadow:0 8px 24px #0000001f;--glass-shadow-sm:0 4px 16px #0000001a}[data-theme=dark]{--glass-highlight:inset 0 1px 0 #ffffff24;--glass-shadow:0 8px 28px #00000061;--glass-shadow-sm:0 4px 16px #00000052}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--glass-highlight:inset 0 1px 0 #ffffff24;--glass-shadow:0 8px 28px #00000061;--glass-shadow-sm:0 4px 16px #00000052}}.totals-footer{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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{font-family:var(--font-mono);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-kerning:normal;text-wrap:pretty;height:100%}h1,h2,h3{text-wrap:balance}button:hover{background-color:var(--surface-2)}input[type=text]::placeholder{color:var(--text-3);opacity:1}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}button[style*="textTransform: uppercase"][style*="letter-spacing: 0.1em"]{min-width:44px;min-height:32px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideFromLeft{0%{transform:translate(-100%)}to{transform:translate(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;filter:blur(2px);transform:translateY(.08em)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes typewriterCaretTyping{0%,to{opacity:.9;transform:translate(0)scaleY(.88)}50%{opacity:1;transform:translate(.08em)scaleY(1)}}@keyframes typewriterCaretDone{0%,48%{opacity:.72}49%,to{opacity:.16}}@keyframes fieldShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes totalsFlash{0%{background:color-mix(in srgb, var(--accent) 12%, transparent)}to{background:0 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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:.2s ease-out slideDown}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:1.5s infinite shimmer}@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:.2s ease-out totalsFlash}.flight-list{gap:var(--space-1);flex-direction:column;width:100%;display:flex;container-type:inline-size}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.global-error-body{justify-content:center;align-items:center;gap:var(--space-4);min-height:100dvh;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);flex-direction:column;margin:0;display:flex}.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:0 var(--button-padding-x-lg);height:var(--button-height-lg);min-height:var(--button-height-lg);cursor:pointer;background:var(--accent);color:var(--bg);border-radius:var(--radius-button);border:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.global-error-btn:hover{background:var(--accent-hover)}button,[role=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)}button:active:not(:disabled),[role=button]:active:not([aria-disabled=true]){transform:scale(.97)}input,textarea,select{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:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-5px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(2px)}75%{transform:translate(-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){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button,[role=button],input,textarea,select{transition:none!important}button:active:not(:disabled),[role=button]:active:not([aria-disabled=true]),input[type=checkbox]:active{transform:none!important}.animate-scale-pop,.animate-slide-in-right,.totals-flash,.skeleton{opacity:1!important;animation:none!important;transform:none!important}}@keyframes contentFadeIn{0%{opacity:0}to{opacity:1}}.logbook-app-shell{background:var(--bg);height:100dvh;min-height:100dvh;color:var(--text);animation:contentFadeIn var(--duration-normal) var(--ease-out-expo);contain:layout style;flex-direction:column;display:flex}.logbook-offline{background:var(--text);color:var(--surface);text-align:center;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;animation:slideDownBanner var(--duration-normal) var(--ease-out-expo);flex:none;padding:6px 16px;font-size:10px;font-weight:500}@keyframes slideDownBanner{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.site-nav,.landing-bar,.login-bar{height:var(--topbar-h,56px);padding:0 var(--space-8);align-items:center;gap:var(--space-6);flex-shrink:0;display:flex}.landing-bar,.login-bar{z-index:var(--z-sticky);animation:contentFadeIn var(--duration-slow) var(--ease-out-expo);position:relative}.site-brand,.sign-in-brand,.landing-logo,.login-logo,.logbook-logo{min-height:44px;font-family:var(--font-mono);letter-spacing:-.01em;color:var(--text);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.site-brand:focus-visible,.sign-in-brand:focus-visible,.landing-logo:focus-visible,.login-logo:focus-visible,.logbook-logo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.logbook-logo:hover{background:0 0!important}.site-nav-actions,.landing-bar-right,.login-bar-right,.logbook-header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.site-nav-link,.landing-get-started{height:var(--button-height);min-height:var(--button-height);min-width:var(--button-height);padding:0 var(--button-padding-x);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-2);border-radius:var(--radius-button);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.site-nav-link:hover,.landing-get-started:hover{background:var(--surface-2);color:var(--text)}.site-nav-link:focus-visible,.landing-get-started:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.logbook-skip-link{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.logbook-skip-link:focus{left:var(--space-4);top:var(--space-4);z-index:var(--z-modal);width:auto;height:auto;padding:var(--space-2) var(--space-3);background:var(--accent);color:var(--surface);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-button);z-index:var(--z-overlay);outline:var(--outline-focus);outline-offset:var(--outline-offset);font-weight:600;text-decoration:none;position:absolute}.logbook-header{height:var(--topbar-h,56px);align-items:center;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);flex:none;display:flex;position:relative}.logbook-header-toolbar{align-items:center;gap:var(--space-4);flex:1;min-width:0;display:flex;position:relative}.logbook-account-menu-wrapper{position:relative}.logbook-account-btn-name{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.logbook-account-btn-initial{background:var(--accent-dim);width:22px;height:22px;color:var(--text-2);font-size:10px;font-weight:600;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.logbook-account-sync-dot{background:var(--text-3);width:8px;height:8px;transition:background var(--duration-fast) var(--ease-out-expo);border-radius:50%;flex-shrink:0;position:relative}.logbook-account-sync-dot[data-sync-state=sync_up],.logbook-account-sync-dot[data-sync-state=sync_down],.logbook-account-sync-dot[data-sync-state=syncing_up],.logbook-account-sync-dot[data-sync-state=syncing_down]{background:var(--pending);animation:syncDotPulse 1.1s var(--ease-out-expo) infinite}.logbook-account-sync-dot[data-sync-state=synced],.logbook-account-sync-dot[data-sync-state=idle]{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_up],.logbook-account-sync-dot[data-sync-state=sync_down],.logbook-account-sync-dot[data-sync-state=syncing_up],.logbook-account-sync-dot[data-sync-state=syncing_down]{animation:none}}.logbook-account-dropdown{border:1px solid var(--border);background:var(--surface);width:160px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-card);z-index:var(--z-overlay);border-radius:var(--radius-sm);animation:dropIn var(--duration-normal) var(--ease-out-expo);padding:4px 0;position:absolute;top:calc(100% + 8px);right:0}.logbook-account-menu-item{width:100%;min-height:var(--button-height);cursor:pointer;font-family:var(--font-mono);color:var(--text-2);transition:background var(--duration-fast), color var(--duration-fast);text-align:left;background:0 0;border:none;align-items:center;padding:9px 14px;font-size:12px;text-decoration:none;display:flex}.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{justify-content:center;align-items:center;gap:var(--space-2);height:var(--button-height);min-height:var(--button-height);padding:0 var(--button-padding-x);border-radius:var(--radius-button);color:var(--text-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-primary);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;flex-shrink:0;display:inline-flex}.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,.logbook-header-btn--dispatch-ai{background:var(--accent);color:var(--bg);font-weight:var(--weight-emphasis);height:calc(var(--button-height) - 6px);min-height:calc(var(--button-height) - 6px)}.logbook-header-btn--new-flight:hover,.logbook-header-btn--dispatch-ai:hover{background:var(--accent-hover);color:var(--bg)}.logbook-header-btn--new-flight:active,.logbook-header-btn--dispatch-ai:active{background:var(--accent-dark);color:var(--bg)}.logbook-header-btn--new-flight svg,.logbook-header-btn--dispatch-ai svg{fill:none;stroke:currentColor;flex-shrink:0;width:13px;height:13px}.logbook-header-btn--dispatch-ai .dispatch-ai-mark{vertical-align:super;font-size:.6em;line-height:0}.logbook-theme-btn,.site-theme-toggle{width:var(--button-icon-size);min-width:var(--button-icon-size);height:var(--button-icon-size);min-height:var(--button-icon-size);color:var(--text-3);padding:0}.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{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.logbook-kofi-btn{width:calc(var(--kofi-btn-base) * var(--kofi-button-scale));height:calc(var(--kofi-btn-base) * var(--kofi-button-scale));border-radius:var(--radius-button);padding:0}.logbook-kofi-btn-icon{width:calc(var(--kofi-icon-base) * var(--kofi-button-scale));height:calc(var(--kofi-icon-base) * var(--kofi-button-scale));object-fit:contain;display:block}.logbook-workspace{background:var(--bg);min-height:0;animation:contentFadeIn var(--duration-reveal) var(--ease-out-expo);flex-direction:column;flex:1;animation-delay:50ms;animation-fill-mode:backwards;display:flex}.logbook-grid-area{contain:layout style paint;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;position:relative;overflow:visible}.logbook-toolbar-utilities{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.logbook-utility-rail{align-items:center;gap:var(--space-2);min-height:var(--button-height);background:0 0;border:none;padding:0;display:inline-flex}.logbook-view-switch{align-items:stretch;gap:var(--space-1);height:var(--button-height);min-height:var(--button-height);border:1px solid var(--border-subtle);border-radius:var(--radius-button);cursor:pointer;appearance:none;transition:background var(--duration-fast) var(--ease-out-expo);background:0 0;padding:2px;display:inline-flex}.logbook-view-switch:hover{background:var(--surface-dim)}.logbook-rail-segment{align-items:center;gap:var(--space-1);height:var(--button-height);min-height:var(--button-height);padding:0 var(--button-padding-x);border-radius:calc(var(--radius-button) - 2px);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);background:0 0;border:none;display:inline-flex}.logbook-view-switch .logbook-rail-segment{height:auto;min-height:0;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{appearance:none;cursor:pointer}.logbook-filters-menu{width:var(--button-icon-size);justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.logbook-filters-menu .logbook-filters-icon{flex-shrink:0;width:13px;height:13px}.logbook-filters-menu .filter-badge{background:var(--accent);min-width:14px;height:14px;color:var(--bg);font-size:9px;font-weight:var(--weight-emphasis);text-align:center;font-variant-numeric:tabular-nums;border-radius:7px;padding:0 3px;line-height:14px;position:absolute;top:2px;right:2px}.logbook-filters-menu.active .filter-badge{background:var(--bg);color:var(--accent)}.logbook-utility-rail .logbook-delete-btn{gap:var(--space-2);color:var(--text-3);font-weight:var(--weight-primary);background:0 0;border:none}.logbook-utility-rail .logbook-delete-btn:hover{background:var(--error-dim);color:var(--error)}.logbook-utility-rail .logbook-delete-btn svg{fill:none;flex-shrink:0;width:12px;height:12px}.logbook-utility-rail .logbook-delete-btn.confirming{background:var(--error);color:var(--surface);font-weight:var(--weight-emphasis)}@media (width>=768px) and (width<=1023px){.logbook-header{padding:0 var(--space-4);gap:var(--space-3)}.logbook-header-toolbar{gap:var(--space-2)}.logbook-header-actions{gap:var(--space-1)}.logbook-account-btn-name{max-width:80px}.logbook-header-btn{padding:0 var(--space-2);gap:6px}}@media (width<=767px){.logbook-header{height:auto;min-height:var(--topbar-h,56px);gap:var(--space-2);box-sizing:border-box;flex-wrap:wrap;padding:10px 12px}.logbook-header .logbook-logo{height:40px;min-height:40px}.logbook-header-toolbar{justify-content:flex-start;align-items:center;gap:var(--space-2);box-sizing:border-box;flex-wrap:nowrap;flex:100%;order:1;width:100%;min-width:0;display:flex}.logbook-header-btn{height:44px;min-height:44px;padding:0 var(--space-2);flex-shrink:0;gap:6px}.logbook-header-btn--new-flight{height:44px;min-height:44px;padding:0 var(--space-2);font-size:var(--text-xs);flex-shrink:0;gap:4px}.logbook-header-btn--dispatch-ai{flex-shrink:0;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.logbook-header-btn--dispatch-ai .logbook-header-btn-text,.logbook-account-btn-name{display:none}.logbook-theme-btn,.site-theme-toggle{width:44px;min-width:44px;height:44px;min-height:44px}.logbook-view-switch{flex-shrink:0;height:44px;min-height:44px}.logbook-utility-rail{flex-shrink:0;gap:2px}.logbook-rail-segment{height:44px;min-height:44px;padding:0 var(--space-2)}.logbook-filters-menu{flex-shrink:0;width:44px;min-width:44px;height:44px;min-height:44px}.logbook-utility-rail .logbook-delete-btn.confirming{min-width:64px}.logbook-theme-btn{width:44px;min-width:44px;height:44px;min-height:44px}.logbook-kofi-btn{width:44px;height:44px}.logbook-filters-dropdown{max-width:calc(100vw - 24px);left:auto;right:0}.logbook-grid-wrap{--ag-cell-horizontal-padding:8px;--ag-header-cell-padding:8px}}@media (width<=380px){.logbook-delete-count{display:none}}@media (width<=360px){.logbook-header-btn--new-flight,.logbook-rail-segment{padding:0 6px}}@media (height<=500px) and (orientation:landscape){.logbook-header{height:42px;min-height:42px;padding:0 var(--space-3);gap:var(--space-2);flex-wrap:nowrap}.logbook-header .logbook-logo{min-height:42px}.logbook-header-toolbar{gap:var(--space-2);flex:auto;order:0}.logbook-header-btn,.logbook-view-switch,.logbook-rail-segment,.logbook-filters-menu{height:34px;min-height:34px;padding:0 var(--space-2)}.logbook-theme-btn,.site-theme-toggle,.logbook-kofi-btn{width:34px;min-width:34px;height:34px;min-height:34px}.logbook-account-btn-name{display:none}.logbook-totals-bar{min-height:36px}.logbook-totals-bar--pinned{min-height:36px;padding:2px 0}.logbook-totals-pin-cell{gap:0;top:2px}.logbook-totals-pin-label{font-size:9px}.logbook-totals-pin-value{font-size:11px}}.logbook-filters-dropdown{z-index:300;background:var(--surface);border:1px solid var(--border);min-width:200px;max-width:calc(100vw - 24px);animation:dropIn var(--duration-normal) var(--ease-out-expo);border-radius:10px;padding:14px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 24px #00000040}.filters-section-label{font-size:var(--text-xs);letter-spacing:.02em;color:var(--text-3);margin-bottom:6px;font-weight:600}.filters-section-label+.filters-section-label{margin-top:var(--space-3)}.filters-date-options{flex-direction:column;gap:2px;display:flex}.filter-date-btn{height:var(--button-height);min-height:var(--button-height);padding:0 var(--button-padding-x);color:var(--text-2);font-family:var(--font-mono);text-align:left;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;border-radius:6px;font-size:11px}.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{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.filter-chip-btn{height:var(--button-height);min-height:var(--button-height);padding:0 var(--button-padding-x);border:1px solid var(--border);color:var(--text-3);font-family:var(--font-mono);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);background:0 0;border-radius:999px;font-size:10px;font-weight:500}.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{--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));flex:1;width:100%;min-height:0}.logbook-grid-wrap .ag-root-wrapper{border:none;border-radius:0}.logbook-field-stage{background:var(--bg);width:100%;min-width:0;height:100%;min-height:0;animation:contentFadeIn var(--duration-normal) var(--ease-out-expo);position:relative}.logbook-grid-panel{width:100%;height:100%}.logbook-grid-panel>div{height:100%}@media (prefers-reduced-motion:reduce){.logbook-grid-panel,.logbook-rail-segment{transition:none}.logbook-skeleton-cell,.logbook-skeleton-grid,.logbook-loading{background:var(--surface-2);animation:none}.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-row:first-child .ag-header-group-cell:after,.logbook-grid-wrap .ag-header-cell.logbook-header-group-end:after{background-color:color-mix(in srgb, var(--border) 45%, transparent);width:1px;display:block}.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:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;color:var(--text-2);text-align:left;justify-content:flex-start;width:100%;font-weight:600;overflow:hidden}.logbook-grid-wrap .logbook-header-left .ag-header-cell-label{text-align:left}.logbook-header-tooltip-wrap{justify-content:flex-start;align-items:center;width:100%;min-width:0;display:flex}.logbook-header-tooltip-wrap.logbook-header-align-center,.logbook-header-tooltip-wrap.logbook-header-align-center .logbook-header-tooltip-trigger{justify-content:center}.logbook-grid-wrap .ag-header-group-cell-label .ag-header-group-text,.logbook-grid-wrap .ag-header-group-cell-label .logbook-header-tooltip-trigger{flex:0 auto;min-width:0}.logbook-header-stacked{white-space:normal;flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.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;text-overflow:ellipsis;white-space:nowrap;cursor:help;min-width:0;max-width:100%;-webkit-text-decoration:underline dotted var(--text-dim-strong);text-decoration:underline dotted var(--text-dim-strong);text-underline-offset:3px;touch-action:manipulation;justify-content:flex-start;align-items:center;display:inline-flex;overflow:hidden}.logbook-header-tooltip-trigger:has(.logbook-header-stacked){white-space:normal;text-overflow:clip;text-decoration:none;overflow:visible}.logbook-header-tooltip-trigger:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.logbook-header-tooltip{z-index:var(--z-overlay);border:1px solid var(--border);background:var(--text);max-width:220px;color:var(--surface);box-shadow:var(--shadow-card);font-family:var(--font-mono);letter-spacing:0;text-transform:none;animation:dropIn var(--duration-instant) var(--ease-out-expo);white-space:normal;pointer-events:none;padding:7px 9px;font-size:11px;font-weight:500;line-height:1.35;position:fixed;transform:translate(-50%)}.logbook-header-group-expand-btn{all:unset;border-radius:var(--radius-button,9999px);background:var(--surface-2);border:1px solid var(--border);width:20px;min-width:20px;height:20px;color:var(--text-2);font-family:var(--font-mono);cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo), transform var(--duration-fast) var(--ease-out-expo);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;padding:0;font-size:12px;font-weight:700;line-height:1;display:inline-flex;position:relative}.logbook-header-group-expand-btn:before{content:"";min-width:44px;min-height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.logbook-header-group-expand-btn:hover{border-color:var(--border-hover);color:var(--text);background:color-mix(in srgb, var(--surface-2) 70%, var(--text-3))}.logbook-header-group-expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.logbook-header-group-expand-btn:active{transform:scale(.94)}.logbook-header-group-expand-btn.is-expanded{background:var(--accent-dim);border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--accent)}.logbook-header-group-expand-btn.is-expanded:hover{border-color:var(--accent);color:var(--accent)}.logbook-header-group-expand-icon{font-family:var(--font-mono);font-size:13px;font-weight:700;line-height:1;display:inline-block}@media (width<=767px){.logbook-grid-wrap .logbook-cell-left[col-id=date]{font-size:var(--text-xs);letter-spacing:-.01em}.logbook-header-group-expand-btn{width:20px;min-width:20px;height:20px;margin-left:4px;font-size:12px}}.logbook-grid-wrap .logbook-cell-left,.logbook-grid-wrap .block-time-cell{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-variant-numeric:tabular-nums;border-right-color:#0000}.logbook-grid-wrap .logbook-cell-left .ag-text-field-input,.logbook-grid-wrap .logbook-cell-left .ag-input-field-input,.logbook-grid-wrap .logbook-cell-left .ag-cell-edit-input,.logbook-grid-wrap .block-time-cell .ag-text-field-input,.logbook-grid-wrap .block-time-cell .ag-input-field-input,.logbook-grid-wrap .block-time-cell .ag-cell-edit-input{text-align:left}.logbook-grid-wrap .ag-cell-inline-editing,.logbook-grid-wrap .ag-cell-inline-editing .ag-cell-edit-wrapper{box-shadow:inset 0 0 0 1px var(--accent);border-radius:0;padding:0;background:var(--surface)!important}.logbook-grid-wrap .ag-text-field-input,.logbook-grid-wrap .ag-input-field-input,.logbook-grid-wrap .ag-text-field-input-wrapper,.logbook-grid-wrap .ag-cell-edit-input,.logbook-grid-wrap .ag-cell-edit-wrapper,.logbook-grid-wrap .ag-large-text-input,.logbook-grid-wrap .ag-large-text-input-wrapper{background:var(--surface);color:var(--text);border-color:var(--border);font-family:var(--font-mono)}.logbook-grid-wrap .ag-text-field-input::placeholder,.logbook-grid-wrap .ag-input-field-input::placeholder{color:var(--text-3)}@media (width<=1023px){.logbook-grid-wrap .ag-text-field-input,.logbook-grid-wrap .ag-input-field-input,.logbook-grid-wrap .ag-cell-edit-input,.logbook-grid-wrap .ag-large-text-input,.logbook-grid-wrap .ag-cell-inline-editing .ag-cell-edit-input,html[data-theme] .ag-text-field-input,html[data-theme] .ag-input-field-input,html[data-theme] .ag-cell-edit-input,html[data-theme] .ag-large-text-input{font-size:var(--mobile-input-font-size,var(--text-base))}}.logbook-grid-wrap .ag-popup,.logbook-grid-wrap .ag-menu,.logbook-grid-wrap .ag-column-drop-cell,.logbook-grid-wrap .ag-tooltip,.logbook-grid-wrap .ag-list,.logbook-grid-wrap .ag-rich-list,.logbook-grid-wrap .ag-picker-field-wrapper{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-menu-option:hover,.logbook-grid-wrap .ag-list-item:hover,.logbook-grid-wrap .ag-menu-option.ag-active-option{background:var(--surface-2)}.logbook-grid-message{min-height:100%;color:var(--text-2);font-family:var(--font-mono);text-align:center;animation:contentFadeIn var(--duration-normal) var(--ease-out-expo);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:28px;font-size:12px;display:flex}.logbook-grid-message p{margin:0}.logbook-grid-message button{height:var(--button-height);min-height:var(--button-height);padding:0 var(--button-padding-x);border:1px solid var(--border);border-radius:var(--radius-button);background:var(--surface);color:var(--text);font-family:var(--font-mono);cursor:pointer;font-size:12px}.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{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.logbook-empty-logbook-actions button{font-weight:var(--weight-emphasis)}.logbook-totals-bar{background:var(--bg);border-top:1px solid var(--border-dim);min-height:48px;color:var(--text);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;contain:layout style;flex:none;font-weight:400}.logbook-totals-bar--strip{align-items:center;gap:var(--space-5);padding:0 var(--space-7);font-size:11px;display:flex;overflow-x:auto}.logbook-totals-bar--pinned{min-height:52px;padding:var(--space-2) 0;position:relative;overflow:hidden}.logbook-totals-pin-cell{top:var(--space-2);text-align:left;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;display:flex;position:absolute}.logbook-label-stacked{flex-direction:column;line-height:1.15;display:flex}.logbook-label-stacked-line{display:block}.logbook-totals-pin-label{font-size:var(--text-xs);color:var(--text-2);letter-spacing:.04em;font-weight:600}.logbook-totals-pin-value{font-size:var(--text-xs);font-weight:700}.logbook-totals-strip-item{flex-direction:column;flex:none;align-items:flex-start;gap:2px;min-width:44px;display:inline-flex}.logbook-totals-strip-label{font-size:var(--text-xs);color:var(--text-2);letter-spacing:.04em;font-weight:600}.logbook-totals-strip-value{font-size:var(--text-xs);font-weight:700}.logbook-totals-bar span{flex:none}.logbook-totals-bar strong{font-weight:700}@media (width<=767px){.logbook-totals-bar--strip{padding:0 var(--space-4);gap:var(--space-4);-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8px 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8px 92%,#0000 100%)}}.logbook-canvas{background:var(--bg);flex:1;min-height:0;padding:32px 28px 64px}.logbook-empty-page{min-height:240px}.logbook-loading{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);background-size:200% 100%;width:200px;height:20px;animation:1.5s infinite shimmer}.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-title,.logbook-empty-logbook-sub,.logbook-empty-logbook-actions{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{gap:var(--space-3);align-items:center;padding:7px 0;display:flex}.logbook-skeleton-row+.logbook-skeleton-row{border-top:1px solid color-mix(in srgb, var(--border) 40%, var(--bg))}.logbook-skeleton-cell{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:2px;height:10px;animation:1.5s infinite shimmer}.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-brand-vertical{align-items:center;gap:var(--space-1);font-family:var(--font-mono);flex-direction:column;display:flex}.dispatch-brand-vertical-word{font-size:var(--text-xs);font-weight:var(--weight-secondary);color:var(--text-2);letter-spacing:.04em;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;line-height:var(--leading-tight)}.dispatch-brand-vertical-ai{font-size:.65em;font-weight:var(--weight-secondary);color:var(--text-3);letter-spacing:.06em;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;line-height:var(--leading-tight)}.dispatch-ai-mark{vertical-align:super;font-size:.65em;line-height:0;font-weight:inherit}.dispatch-backdrop{background:var(--overlay);z-index:calc(var(--z-modal) - 1);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--duration-normal) var(--ease-out-expo);position:fixed;inset:0}.dispatch-backdrop.visible{opacity:1;pointer-events:auto}.dispatch-backdrop.is-closing{transition:opacity var(--duration-fast) var(--ease-in) var(--duration-fast)}.dispatch-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--space-4) var(--space-4) 0 0;box-shadow:var(--shadow-card-hover);z-index:var(--z-modal);transform-origin:bottom;opacity:0;visibility:hidden;pointer-events:none;will-change:transform, opacity;transition:opacity var(--duration-fast) var(--ease-in), transform var(--duration-fast) var(--ease-in), visibility 0s linear var(--duration-fast);border-bottom:none;flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translateY(24px)scale(.96)}.dispatch-panel.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--duration-reveal) var(--ease-spring-subtle), transform var(--duration-reveal) var(--ease-spring-subtle), visibility 0s;transform:translateY(0)scale(1)}.dispatch-panel.dispatch-panel--settled{transition:none}.dispatch-panel-header,.dispatch-panel-body{opacity:0;transition:opacity calc(var(--duration-normal) - 40ms) var(--ease-out-expo) 40ms}.dispatch-panel.open .dispatch-panel-header,.dispatch-panel.open .dispatch-panel-body{opacity:1}.dispatch-panel.is-closing .dispatch-panel-header,.dispatch-panel.is-closing .dispatch-panel-body{opacity:1;transition:none}.dispatch-panel.is-closing{opacity:1;transition:transform var(--duration-fast) var(--ease-spring-subtle), visibility 0s linear var(--duration-fast);transform:translateY(100%)}.dispatch-panel-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 max(var(--space-4), env(safe-area-inset-right,0px)) 0 max(var(--space-4), env(safe-area-inset-left,0px));min-height:var(--dispatch-header-height);border-bottom:1px solid var(--border);background:var(--surface);-webkit-user-select:none;user-select:none;flex:none;display:flex}.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;min-width:0;overflow:hidden}.dispatch-panel-toggle{width:32px;height:32px;min-width:var(--button-icon-size);min-height:var(--button-icon-size);border-radius:var(--radius);color:var(--text-2);cursor:pointer;transition:background var(--duration-instant) var(--ease-out-expo), color var(--duration-instant) var(--ease-out-expo);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.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-icon{flex-shrink:0}.dispatch-panel-body{min-width:0;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);flex:1;display:flex}.dispatch-offline{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-8);text-align:center;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-2);flex-direction:column;flex:1;display:flex}.dispatch-offline-hint{font-size:var(--text-xs);color:var(--text-3)}@media (height<=500px) and (orientation:landscape){.dispatch-panel-header{height:38px;min-height:38px}}@media (prefers-reduced-motion:reduce){.dispatch-panel,.dispatch-panel.is-closing,.dispatch-backdrop,.dispatch-backdrop.is-closing,.dispatch-panel-header,.dispatch-panel-body,.dispatch-panel.is-closing .dispatch-panel-header,.dispatch-panel.is-closing .dispatch-panel-body{transition:none}}.logbook-app{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;display:flex}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--surface-2);animation:none}.totals-flash,.landing-scroll-indicator{animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.logbook-ai-placeholder{min-height:240px;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.logbook-ai-placeholder svg{opacity:.4;width:28px;height:28px}.logbook-ai-placeholder span{font-family:var(--font-mono);font-size:13px;font-weight:400}.landing-app-shell{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.landing-hero{z-index:1;min-height:calc(100svh - var(--topbar-h,56px));padding:var(--space-16) clamp(var(--space-4), 4vw, var(--space-10));flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.landing-hero-inner{text-align:center;align-items:center;gap:var(--space-10);flex-direction:column;display:flex}.landing-hero h1,.landing-typewriter{min-width:min(92vw,22ch);min-height:3.2em;font-size:clamp(2.3rem,6.5vw,4.5rem);font-weight:var(--weight-secondary);letter-spacing:-.02em;color:var(--text);text-align:center;text-wrap:balance;justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;line-height:1.2;display:flex}.landing-typewriter-line1,.landing-typewriter-line2{overflow-wrap:break-word;text-align:center;min-width:0;min-height:1.2em;display:block}.landing-typewriter-line1{color:var(--text)}.landing-typewriter-line2{color:var(--text-3);font-weight:var(--weight-muted)}.typewriter-cursor{color:var(--text);font-family:var(--font-mono);transform-origin:50%;margin-left:.08em;font-size:.86em;line-height:1;display:inline-block}.typewriter-cursor.typing{animation:.42s cubic-bezier(.16,1,.3,1) infinite typewriterCaretTyping}.typewriter-cursor.done{animation:1.18s step-end infinite typewriterCaretDone}.landing-hero-cta{height:44px;min-height:44px;padding:0 var(--button-padding-x-lg);border-radius:var(--radius-button);background:var(--accent);color:var(--bg);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo);border:none;flex-shrink:0;justify-content:center;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.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{z-index:1;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-4) max(var(--space-8), env(safe-area-inset-right,0px)) calc(var(--space-6) + env(safe-area-inset-bottom,0px)) max(var(--space-8), env(safe-area-inset-left,0px));animation:contentFadeIn var(--duration-slow) var(--ease-out-expo);flex-direction:column;flex-shrink:0;display:flex;position:relative}.landing-footer-primary{justify-content:center;align-items:center;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-muted);color:var(--text);flex-wrap:wrap;display:flex}.landing-footer-links{align-items:center;gap:var(--space-2);font-size:var(--text-xs);display:flex}.landing-link{min-height:44px;padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-muted);color:var(--text);transition:color var(--duration-instant) var(--ease-out-expo);align-items:center;text-decoration:none;display:inline-flex}.landing-link:hover{color:var(--text-2)}.landing-link:focus-visible{color:var(--text);outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs,2px)}.landing-scroll-indicator{align-items:center;gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-2) var(--button-padding-x);box-sizing:border-box;min-height:44px;color:var(--text-3);transition:color var(--duration-fast) var(--ease-out-expo), transform var(--duration-fast) var(--ease-out-expo);flex-direction:column;text-decoration:none;display:flex}.landing-scroll-indicator:hover{color:var(--text-2);transform:translateY(2px)}.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)}.feature-preview{z-index:1;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:0 0;flex-direction:column;display:flex;position:relative}.feature-preview-item{padding-block:var(--space-8)}.feature-block{gap:clamp(var(--space-8), 6vw, var(--space-12));grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;max-width:1200px;margin:0 auto;display:grid}.feature-mock{width:100%}.feature-block.reverse>.feature-mock{order:2}.feature-text{gap:var(--space-3);flex-direction:column;max-width:44ch;display:flex}.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;color:var(--text);line-height:1.15}.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{border:1px solid var(--border);border-radius:var(--radius-frame);box-shadow:var(--shadow-card);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.feature-mock-frame>.mock-grid,.feature-mock-frame>.mock-ai,.feature-mock-frame>.mock-pricing{height:var(--feature-mock-body-height);flex-direction:column;flex:none;display:flex;overflow-y:auto}.feature-mock-titlebar{height:36px;padding:0 var(--space-3);border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;display:flex}.feature-mock-dots{gap:6px;display:inline-flex}.feature-mock-dot{background:var(--border-hover);border-radius:50%;width:8px;height:8px}.mock-grid{font-family:var(--font-mono);flex:1;justify-content:flex-start;overflow-x:auto}.mock-grid-header,.mock-grid-row{grid-template-columns:56px 1fr 1fr 1fr 1fr 56px 56px 56px 56px 56px;display:grid}.mock-grid-header>div{letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--text-2);border-bottom:1px solid var(--border-dim);padding:10px 8px;font-size:10px;font-weight:600}.mock-grid-row>div{font-variant-numeric:tabular-nums;text-align:left;color:var(--text-2);border-bottom:1px solid color-mix(in srgb, var(--border) 58%, var(--bg));padding:10px 8px;font-size:12px;position:relative}.mock-grid-row.active>div{color:var(--text)}.mock-grid-row.committed{position:relative}.mock-grid-row.committed:before{content:"";background:var(--success);pointer-events:none;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.mock-grid-caret{vertical-align:-1px;background:var(--text);width:6px;height:.9em;animation:.42s cubic-bezier(.16,1,.3,1) infinite typewriterCaretTyping;display:inline-block}.mock-grid-totals{gap:var(--space-5);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-dim);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-variant-numeric:tabular-nums;font-size:11px;display:flex}.mock-grid-totals>span{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-width:44px;display:inline-flex}.mock-grid-totals strong{color:var(--text)}.mock-ai{flex-direction:column;height:100%;min-height:0;display:flex}.mock-ai-scroll{padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.mock-ai-prompt-slot{flex-direction:column;flex:none;min-height:130px;display:flex}.mock-ai-answer-slot{flex:1 1 0;min-height:0;overflow-y:auto}.mock-ai-bubble{max-width:80%;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--accent);color:var(--surface);white-space:pre-wrap;align-self:flex-end;font-size:13px;line-height:1.6}.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{gap:var(--space-2);color:var(--text-2);font-variant-numeric:tabular-nums;grid-template-columns:12px 1fr auto auto auto;align-items:center;font-size:12px;display:grid}.mock-ai-status-row:not(:last-child){margin-bottom:var(--space-2)}.mock-ai-dot{border-radius:50%;width:8px;height:8px}.mock-ai-dot.success{background:var(--success)}.mock-ai-dot.pending{background:var(--pending)}.mock-ai-pills{gap:var(--space-2);margin-top:var(--space-3);display:flex}.mock-ai-composer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);flex:none}.mock-ai-composer-input{border:1px solid var(--border);background:var(--surface-2);height:40px;color:var(--text-3);font-size:12px;font-family:var(--font-mono);border-radius:999px;align-items:center;padding:0 14px;display:flex}.mock-ai-mini-label{color:var(--text-3);margin-bottom:var(--space-2);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.mock-ai-status-value{font-variant-numeric:tabular-nums;margin-left:auto}.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{align-items:center;gap:var(--space-4);flex-direction:column;max-width:1200px;margin:0 auto;display:flex}.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{padding:var(--space-6);justify-content:center;gap:var(--space-4);font-family:var(--font-mono);flex-direction:column;flex:1;display:flex}.mock-pricing-competitors{gap:var(--space-3);flex-direction:column;display:flex}.mock-pricing-row{font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:var(--space-1);min-height:1.4em;transition:color .2s;display:flex}.mock-pricing-row.strikethrough .mock-pricing-text{color:var(--text-3);text-decoration:line-through}.mock-pricing-text{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);letter-spacing:-.01em;min-height:1.5em}:root{--feature-mock-body-height:380px;--feat-cell-fast:.25s;--feat-cell-typed:.4s;--feat-commit:.4s;--feat-rest:1.2s;--feat-ai-hold:2.4s;--feat-ai-fade:.28s}@media (width<=1080px){.feature-block{grid-template-columns:1fr}.feature-text{order:1}.feature-mock,.feature-block.reverse>.feature-mock{order:2}.mock-grid{overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8px 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8px 92%,#0000 100%)}}@media (width<=767px){: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-grid,.feature-mock-frame>.mock-ai,.feature-mock-frame>.mock-pricing{height:auto;min-height:var(--feature-mock-body-height);max-height:min(320px,58vh)}.mock-grid{overflow-x:visible;-webkit-mask-image:none;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(2),.mock-grid-header>div:nth-child(3),.mock-grid-header>div:nth-child(8),.mock-grid-header>div:nth-child(9),.mock-grid-header>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),.mock-grid-row>div:nth-child(10){display:none}.mock-grid-header>div,.mock-grid-row>div{padding:10px 6px;font-size:11px}.mock-grid-totals{gap:var(--space-3) var(--space-4);padding:var(--space-3);flex-wrap:wrap;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:110px}.mock-ai-bubble{max-width:100%;padding:var(--space-2) var(--space-3);font-size:13px}.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{margin-left:calc(10px + var(--space-2));grid-column:2/-1;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 th,.feature-mock-frame .ai-table td{padding:var(--space-2);font-size:10px}.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)}.site-nav,.landing-bar,.login-bar{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-2)}}@media (width<=480px){.landing-hero h1,.landing-typewriter{font-size:clamp(1.5rem,9vw,2.3rem);line-height:1.15}}@media (height<=500px) and (orientation:landscape){.landing-hero{min-height:auto;padding:var(--space-8) var(--space-4)}}.flight-plan-sentinel{pointer-events:none;background:0 0;border:0;width:100%;height:1px;margin:0;padding:0}.flight-plan-path{z-index:0;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.flight-plan-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.flight-plan-leg{fill:none;stroke:var(--text-3);stroke-width:1.5px;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:linear infinite flightPlanMarch;animation-timeline:scroll(root)}}@keyframes flightPlanMarch{to{stroke-dashoffset:-7px}}.flight-plan-waypoint{pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out-expo);align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.flight-plan-waypoint[data-revealed=true]{opacity:1}.flight-plan-waypoint-dot{background:var(--text-2);width:4px;height:4px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;flex-shrink:0;display:block}.flight-plan-threshold{pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out-expo);flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;transform:translate(-50%,-50%)}.flight-plan-threshold[data-revealed=true]{opacity:1}.flight-plan-threshold-bars{flex-direction:column;gap:2px;display:flex}.flight-plan-threshold-bar{background:var(--text-2);width:18px;height:1px;display:block}.feature-mock-frame,.landing-hero-cta,.closing-cta{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.flight-plan-leg{opacity:.4!important;transition:none!important;animation:none!important}.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 (width<=767px){.flight-plan-threshold-bar{width:14px}}.sign-in-shell{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.sign-in-nav{padding:0 max(var(--space-8), env(safe-area-inset-right,0px)) 0 max(var(--space-8), env(safe-area-inset-left,0px));height:var(--topbar-h,56px);justify-content:space-between;align-items:center;display:flex}.sign-in-nav-link{height:var(--button-height);min-height:var(--button-height);min-width:var(--button-height);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-2);padding:0 var(--button-padding-x);border-radius:var(--radius-button);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.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{align-items:center;gap:var(--space-2);display:flex}.sign-in-theme-toggle{width:var(--button-icon-size);height:var(--button-icon-size);min-width:var(--button-icon-size);min-height:var(--button-icon-size);border-radius:var(--radius-button);color:var(--text-3);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.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{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.sign-in-content{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 24px;display:flex}.sign-in-title{font-family:var(--font-mono);color:var(--text);letter-spacing:-.02em;text-align:center;margin-bottom:6px;font-size:1.75rem;font-weight:700}.sign-in-subtitle{font-family:var(--font-mono);font-size:var(--text-base);color:var(--text-2);margin-top:var(--space-8);margin-bottom:var(--space-8);text-align:center}.sign-in-form{flex-direction:column;gap:24px;width:100%;max-width:420px;display:flex}.sign-in-error{background:var(--error-dim);border:1px solid var(--error-border);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--error);border-radius:0;padding:10px 14px}.sign-in-offline{background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-2);border-radius:0;padding:10px 14px}.form-field{flex-direction:column;gap:8px;display:flex}.form-label{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-2);font-weight:600}.form-label-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.form-input{font-family:var(--font-mono);height:44px;font-size:var(--text-base);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-weight:400;transition:border-color .1s}.form-input:focus{border-color:var(--text-2);outline:none}.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{color:var(--text-2);font-size:var(--text-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:2px 0 4px;line-height:1.45;display:flex}.sign-in-checkbox{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.sign-in-checkbox:focus-visible{outline:var(--outline-focus);outline-offset:2px}.sign-in-remember-title{font-family:var(--font-mono);color:var(--text);cursor:pointer;font-weight:600;display:block}.sign-in-remember-hint{color:var(--text-3);margin-top:2px;display:block}.sign-in-legal-clause{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-3);margin:0;padding:2px 0 4px;line-height:1.45}.sign-in-legal-clause a{color:var(--accent);text-underline-offset:2px;transition:color var(--duration-fast) var(--ease-out-expo);text-decoration:underline}.sign-in-legal-clause a:hover,.sign-in-legal-clause a:focus-visible{color:var(--accent-dark)}.sign-in-legal-clause a:visited{color:var(--text-2)}.sign-in-legal-clause a:focus-visible{outline:var(--outline-focus);outline-offset:2px}.sign-in-btn{height:var(--button-height-lg);min-height:var(--button-height-lg);padding:0 var(--button-padding-x-lg);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo);border-radius:var(--radius-button);border:none;margin-top:6px;font-weight:600}.sign-in-btn.primary{background:var(--accent);width:100%;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{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;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{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;line-height:1}.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-card{align-items:center;gap:var(--space-4);width:100%;max-width:380px;padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;display:flex}.sign-in-success-title{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-emphasis);color:var(--text);margin:0}.sign-in-success-body{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-2);margin:0;line-height:1.5}.sign-in-success-body strong{color:var(--text);font-weight:var(--weight-emphasis);word-break:break-all}.sign-in-success-actions{gap:var(--space-3);width:100%;margin-top:var(--space-2);flex-direction:column;display:flex}.sign-in-success-actions .sign-in-btn.primary{margin-top:0}.sign-in-success-card>.sign-in-error{text-align:left;width:100%;margin-bottom:var(--space-2)}.sign-in-shell{background:var(--bg)}.login-bar-right{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.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-card{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{border-color:var(--text-2);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.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 (width<=767px){.sign-in-nav{padding:0 var(--space-4)}.sign-in-content{padding:40px 20px}.sign-in-form{gap:20px}}@media (width<=480px){.sign-in-content{padding:32px 16px}.sign-in-title{font-size:1.375rem}.sign-in-form{gap:16px}}@media (height<=500px) and (orientation:landscape){.sign-in-content{padding:var(--space-4) var(--space-4);justify-content:flex-start}.sign-in-title{margin-bottom:2px;font-size:1.25rem}.sign-in-subtitle{margin-top:var(--space-2);margin-bottom:var(--space-3)}.sign-in-form{gap:12px}}@media (prefers-reduced-motion:reduce){.sign-in-form,.sign-in-error,.sign-in-success-card{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}}.dispatch-pilot-shell{background:var(--surface);contain:layout style;flex:1;min-height:0;display:flex}.ai-chat-panel{background:var(--surface);contain:layout style;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.dispatch-panel.collapsed{background:var(--surface)}.ai-chat-scroll{overscroll-behavior:contain;scroll-behavior:auto;min-height:0;padding:clamp(var(--space-4), 3vw, var(--space-8)) clamp(var(--space-4), 4vw, var(--space-10)) var(--space-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai-chat-scroll-anchor{pointer-events:none;flex-shrink:0;width:100%;height:0}.ai-chat-scroll.ai-chat-home,.ai-chat-scroll.ai-chat-messages{justify-content:flex-start}.ai-import-row button,.ai-card-actions button,.ai-tool-pill{border:1px solid var(--border);background:var(--surface-dim-xstrong);color:var(--text);cursor:pointer;font-family:var(--font-mono);transition:border-color var(--duration-instant) var(--ease-out-expo), background var(--duration-instant) var(--ease-out-expo), transform var(--duration-instant) var(--ease-out-expo)}.ai-import-row button:hover,.ai-card-actions button:hover,.ai-tool-pill:hover{border-color:var(--border-hover);background:var(--surface);transform:translateY(-1px)}.ai-message-list{gap:var(--space-5);padding-bottom:var(--space-6);width:100%;max-width:var(--app-content-max-width,840px);flex-direction:column;margin:0 auto;display:flex}.ai-message{gap:var(--space-2);display:grid}.ai-message.user{justify-items:end;margin-left:auto}.ai-message-role{color:var(--text-3);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.ai-message-bubble{white-space:pre-wrap;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-card);font-size:13px;line-height:1.5}.ai-message.user .ai-message-bubble{background:var(--accent);color:var(--surface);border-color:var(--accent)}.ai-message-bubble:has(.ai-md-p,.ai-md-h,.ai-md-ul,.ai-md-ol,.ai-md-pre,.ai-md-blockquote,.ai-md-table,.ai-md-hr){white-space:normal}.ai-message-bubble .ai-md-h{letter-spacing:.02em;color:var(--text-2);margin:.65em 0 .35em;font-size:12px;font-weight:700;line-height:1.3}.ai-message-bubble .ai-md-h--sm{letter-spacing:.01em;font-size:11px;font-weight:600}.ai-message-bubble .ai-md-h:first-child{margin-top:0}.ai-message-bubble .ai-md-p{margin:.15em 0}.ai-message-bubble .ai-md-p:first-child{margin-top:0}.ai-message-bubble .ai-md-ul,.ai-message-bubble .ai-md-ol{margin:.35em 0;padding-left:1.1em}.ai-message-bubble .ai-md-ul{list-style-type:disc}.ai-message-bubble .ai-md-ol{list-style-type:decimal}.ai-message-bubble .ai-md-li{margin:.15em 0;padding-left:.2em}.ai-message-bubble .ai-md-li>.ai-md-p{margin:0}.ai-message-bubble .ai-md-code{background:var(--surface-2);font-family:var(--font-mono);color:var(--text);border-radius:4px;padding:.05em .45em;font-size:11.5px;display:inline-block}.ai-message-bubble .ai-md-pre{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);margin:.4em 0;overflow-x:auto}.ai-message-bubble .ai-md-pre code{color:var(--text-2);background:0 0;padding:0;font-size:11px}.ai-message-bubble .ai-md-blockquote{padding-left:var(--space-3);border-left:2px solid var(--border-hover);color:var(--text-2);margin:.4em 0;font-style:italic}.ai-message-bubble .ai-md-a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.ai-message-bubble .ai-md-a:hover{color:var(--accent-hover)}.ai-message-bubble .ai-md-hr{border:none;border-top:1px solid var(--border);margin:.6em 0}.ai-message-bubble .ai-md-table-wrap{margin:.4em 0;overflow-x:auto}.ai-message-bubble .ai-md-table{border-collapse:collapse;width:100%;font-size:11px}.ai-message-bubble .ai-md-table th,.ai-message-bubble .ai-md-table td{padding:var(--space-1) var(--space-2);border:1px solid var(--border);text-align:left}.ai-message-bubble .ai-md-table th{background:var(--surface-2);font-weight:600;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.ai-message-bubble strong{color:var(--accent);font-weight:700}.ai-message.user .ai-message-bubble strong{color:var(--surface);font-weight:700}.ai-thinking-bubble{align-items:center;gap:4px;min-height:1em;display:inline-flex}.ai-thinking-bubble__dot{opacity:.5;background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite both aiThinkingPulse}.ai-thinking-bubble__dot:first-child{animation-delay:0s}.ai-thinking-bubble__dot:nth-child(2){animation-delay:.14s}.ai-thinking-bubble__dot:nth-child(3){animation-delay:.28s}@keyframes aiThinkingPulse{0%,80%,to{opacity:.35;transform:scale(.65)}40%{opacity:1;transform:scale(1)}}.ai-thinking-bubble__static{opacity:.75;font-weight:700}@media (prefers-reduced-motion:reduce){.ai-thinking-bubble__dot{opacity:.75;animation:none}}.ai-alert,.ai-ocr-status{color:var(--error);margin:8px 0;font-size:12px}.ai-alert{animation:aiAlertIn var(--duration-fast) var(--ease-out-expo) both}.ai-free-tier-note{margin:var(--space-1) var(--space-3) 0;padding-bottom:env(safe-area-inset-bottom);color:var(--text-3);font-size:var(--text-xs);text-align:center;line-height:1.4}.ai-card{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-dim-xxstrong);box-shadow:var(--shadow-card)}.ai-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.ai-card-head span{color:var(--text);font-size:13px;font-weight:700}.ai-card-head strong{color:var(--text-3);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.ai-card p{color:var(--text-2);margin-top:var(--space-2);font-size:13px;line-height:1.7}.ai-check-grid{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.ai-check{gap:var(--space-1);min-height:120px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;display:flex}.ai-check.current{border-color:color-mix(in srgb, var(--success) 40%, var(--border))}.ai-check.attention{border-color:color-mix(in srgb, var(--pending) 50%, var(--border))}.ai-check strong{color:var(--text);font-size:12px}.ai-check span,.ai-check small{color:var(--text-2);font-size:11px;line-height:1.55}.ai-table-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-top:var(--space-3);overflow-x:auto}.ai-table{border-collapse:collapse;width:100%;min-width:720px}.ai-table th,.ai-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);color:var(--text-2);text-align:left;font-size:11px}.ai-table th{color:var(--text);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2)}.ai-metric-row{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.ai-metric-row span{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;font-size:11px;display:inline-flex}.ai-metric-row strong{color:var(--text)}.ai-card-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.ai-card-actions button,.ai-import-row button{min-height:var(--button-height);border-radius:999px;padding:0 12px;font-size:11px;font-weight:600}.ai-card-actions button{border-radius:var(--radius-button)}.ai-card-actions button:disabled,.ai-import-row button:disabled{cursor:not-allowed;opacity:.45;transform:none}.ai-share-card{border-radius:var(--radius);color:#fff;background:radial-gradient(circle at 22% 8%,#ffffff47,#0000 30%),linear-gradient(135deg,#0e1a24,#243f4f 52%,#d8c8a5);width:min(100%,680px);padding:28px;overflow:hidden}.ai-share-map{color:#ffffffe6;min-height:180px}.ai-share-map svg{width:100%;height:auto}.ai-share-map text{fill:currentColor;font-family:var(--font-mono);letter-spacing:.12em;font-size:22px}.ai-share-card h2{letter-spacing:-.05em;max-width:560px;font-size:clamp(1.5rem,4vw,2.6rem);font-weight:500;line-height:1.05}.ai-share-card p,.ai-share-card footer{color:#ffffffc7;letter-spacing:.08em;text-transform:uppercase;margin-top:12px;font-size:12px}.ai-composer{padding:var(--space-3) clamp(var(--space-4), 4vw, var(--space-10)) var(--space-4);background:0 0;flex:none}.ai-import-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ai-composer-card{width:100%;max-width:var(--app-content-max-width,840px);justify-content:space-between;align-items:center;gap:var(--space-2);min-height:56px;padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);transition:border-color var(--duration-fast) var(--ease-out-expo), box-shadow var(--duration-fast) var(--ease-out-expo);flex-flow:row;margin:0 auto;display:flex}.ai-composer-card:focus-within,.ai-composer[data-busy=true] .ai-composer-card{border-color:var(--border);box-shadow:none;outline:none}.ai-composer-input{min-width:0;height:44px;color:var(--text);font-family:var(--font-mono);caret-color:var(--text);background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:0;font-size:12px;line-height:1.45}.ai-composer-input:focus,.ai-composer-input:focus-visible{box-shadow:none;outline:none}.ai-composer-input::placeholder{color:var(--text-3);font-size:12px}.ai-composer-action-row{justify-content:flex-end;align-items:center;gap:var(--space-3);flex:none;min-height:auto;display:flex}.ai-composer-hint{color:var(--text-3);font-size:11px}.ai-composer-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.ai-tool-pill{min-height:var(--button-height);padding:0 var(--button-padding-x);justify-content:center;align-items:center;gap:var(--space-1);border-radius:999px;font-size:12px;line-height:1;display:inline-flex}.ai-tool-pill[aria-expanded=true]{border-color:var(--border-hover);background:var(--surface-2)}.ai-send-button{width:var(--button-icon-size);height:var(--button-icon-size);min-height:var(--button-icon-size);color:var(--text-3);transition:background var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo), transform var(--duration-instant) var(--ease-out-expo);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ai-send-button:not(:disabled){background:var(--text);border-color:var(--text);color:var(--surface)}.ai-send-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ai-send-button:disabled{cursor:not-allowed;opacity:1;transform:none}.ai-send-button:focus-visible{outline:none}.ai-composer textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:46px;max-height:130px;color:var(--text);font-family:var(--font-mono);margin:10px 0;padding:12px 14px;font-size:12px;line-height:1.5}@media (width<=767px){.ai-chat-scroll{padding:var(--space-4) var(--space-4)}.ai-home-cards,.ai-suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,360px);max-width:360px}.ai-suggestion-grid button{padding:var(--space-3)}.ai-composer-hint{display:none}.ai-composer{padding:var(--space-3) clamp(var(--space-4), 4vw, var(--space-10)) var(--space-3)}.ai-message,.ai-message.user{justify-items:stretch;max-width:100%}.ai-tools-menu{grid-template-columns:1fr;bottom:58px;right:0}.ai-chat-topbar{padding:var(--space-2) var(--space-3)}}.ai-chat-topbar{align-items:center;gap:var(--space-1);min-height:56px;padding:var(--space-2) clamp(var(--space-3), 4vw, var(--space-10));background:var(--surface);border-bottom:1px solid var(--border);animation:aiViewIn var(--duration-normal) var(--ease-out-expo) both;flex:none;display:flex}.ai-composer,.ai-free-tier-note,.ai-home-content{animation:aiViewIn var(--duration-normal) var(--ease-out-expo) both}.ai-chat-topbar .logbook-header-btn svg{flex-shrink:0;width:13px;height:13px}.ai-chat-topbar-clear{margin-left:auto}.ai-section-head button,.ai-recent-list button,.ai-tools-menu button{min-height:var(--button-height);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-family:var(--font-mono);transition:background var(--duration-instant) var(--ease-out-expo), border-color var(--duration-instant) var(--ease-out-expo), transform var(--duration-instant) var(--ease-out-expo);border-radius:999px;padding:0 12px;font-size:11px;font-weight:600}.ai-section-head button:hover,.ai-recent-list button:hover,.ai-tools-menu button:hover{background:var(--surface-2);border-color:var(--border-hover);transform:translateY(-1px)}.ai-home-view{flex:1 0 auto;justify-content:center;align-items:center;min-height:100%;display:flex}.ai-home-content{justify-content:center;gap:clamp(var(--space-5), 4vw, var(--space-8));flex-direction:column;width:min(100%,920px);min-height:100%;margin:0 auto;display:flex}.ai-home-intro{gap:var(--space-3);max-width:680px;display:grid}.ai-home-title-skeleton{border-radius:var(--radius-sm);width:min(220px,60%);height:1.2em;margin:0 auto}.ai-home-skeleton-hint{border-radius:999px;width:120px;height:12px}.ai-home-skeleton-tools-label{border-radius:999px;width:48px;height:10px;display:inline-block}.ai-tool-chip.skeleton{pointer-events:none}.ai-tool-chip.skeleton .ai-tool-chip-label{width:100%;display:inline-block}.ai-home-title{color:var(--text);font-size:clamp(2rem,4vw,3.5rem);font-weight:var(--weight-muted);letter-spacing:-.03em;text-align:left;line-height:1.05;font-family:var(--font-mono);margin:0}.ai-prompt-chips{gap:var(--space-2);padding:var(--space-2) 0;flex-wrap:wrap;justify-content:center;display:flex}.ai-prompt-chip{min-height:var(--button-height);padding:var(--space-2) var(--space-3);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;text-align:left;border-radius:6px;align-items:center;line-height:1.4;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.ai-prompt-chip:hover{border-color:var(--border-hover);color:var(--text);background:var(--surface)}.ai-prompt-chip:focus-visible{outline:2px solid var(--text);outline-offset:2px}.ai-home-cards{width:min(100%,660px)}.ai-recent-chats{width:min(100%,860px);margin-top:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-dim-84)}.ai-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.ai-section-head span{color:var(--text);font-size:12px;font-weight:700}.ai-recent-chats p,.ai-muted-status{color:var(--text-3);font-size:12px;line-height:1.6}.ai-recent-list{gap:var(--space-2);display:grid}.ai-recent-list button{width:100%;padding:var(--space-3) var(--space-3);border-radius:var(--radius);text-align:left;gap:2px;display:grid}.ai-recent-list strong{color:var(--text);font-size:12px;font-weight:600}.ai-recent-list span{color:var(--text-3);font-size:10px}.ai-tools-section{display:contents}.ai-tools-section-label{color:var(--text-3);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 2px;font-weight:700;display:flex}.ai-tools-section-label button{color:var(--text-2);text-transform:none;letter-spacing:0;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600}.ai-tools-history{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.ai-tools-history .ai-tools-section-label{border-bottom:none;margin-bottom:0}.ai-tools-menu{padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card-hover);flex-direction:column;gap:2px;display:flex}.ai-tool-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);color:var(--text);cursor:pointer;font-family:var(--font-mono);text-align:left;min-height:var(--button-height);transition:background var(--duration-instant) var(--ease-out-expo), border-color var(--duration-instant) var(--ease-out-expo);background:0 0;border:1px solid #0000;border-radius:6px;display:flex}.ai-tool-item:hover{background:var(--surface-2);border-color:var(--border)}.ai-tool-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:6px}.ai-tool-label{color:var(--text);white-space:nowrap;font-size:11px;font-weight:600}.ai-tool-desc{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;text-align:right;max-width:200px;font-size:10px;overflow:hidden}.ai-paste-panel{padding:var(--space-3) clamp(var(--space-3), 4vw, var(--space-10));border-top:1px solid var(--border);background:var(--surface);flex:none}.ai-paste-panel textarea{resize:vertical;width:100%;min-height:76px;max-height:180px;padding:var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.5}.ai-bottom-slot{background:var(--surface);padding-bottom:var(--space-2);flex:none}.ai-consent-slot{background:var(--surface);padding:var(--space-3) clamp(var(--space-4), 4vw, var(--space-10)) 0}.ai-consent-slot>*{width:100%}@media (prefers-reduced-motion:reduce){.ai-home-content{opacity:1;animation:none;transform:none}}@media (width<=380px){.ai-home-cards,.ai-suggestion-grid{grid-template-columns:1fr;max-width:100%}}@media (width<=480px){.ai-home-cards,.ai-suggestion-grid{max-width:170px}.ai-composer-action-row{align-items:flex-end}}.logbook-kofi-popover{z-index:var(--z-popover);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);font-family:var(--font-mono);animation:dropIn var(--duration-normal) var(--ease-out-expo);flex-direction:column;display:flex;position:fixed;overflow:hidden}@media (width<=480px){.logbook-kofi-popover{top:max(58px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));left:max(12px, env(safe-area-inset-left));width:auto;max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right))}.logbook-kofi-popover-footer-link{min-height:var(--button-height);align-items:center;padding:8px 12px;display:inline-flex}}@media (orientation:landscape) and (height<=480px){.logbook-kofi-popover-header{padding:var(--space-2) var(--space-3)}.logbook-kofi-popover-footer{padding:var(--space-1) var(--space-3)}}.logbook-kofi-popover-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.logbook-kofi-popover-title{font-size:var(--text-sm);font-weight:var(--weight-emphasis);color:var(--text);letter-spacing:.02em}.logbook-kofi-popover-close{width:var(--button-icon-size);height:var(--button-icon-size);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0;border-radius:var(--radius-button);color:var(--text-2);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.logbook-kofi-popover-close:hover{background:var(--surface-2);color:var(--text)}.logbook-kofi-popover-close:focus-visible{outline:var(--outline-focus);outline-offset:2px}.logbook-kofi-popover-body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background:var(--surface);flex:1;min-height:0}@media (prefers-color-scheme:dark){.logbook-kofi-popover-body{--lightningcss-light: ;--lightningcss-dark:initial}}.logbook-kofi-popover-iframe{background:var(--surface);border:none;width:100%;height:100%;display:block}.logbook-kofi-popover-footer{padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-3);text-align:center;flex-shrink:0}.logbook-kofi-popover-footer-hint{color:var(--text-3)}.logbook-kofi-popover-footer-link{color:var(--text-2);text-underline-offset:2px;text-decoration:underline}.logbook-kofi-popover-footer-link:hover{color:var(--text)}.logbook-kofi-popover-footer-link:focus-visible{outline:var(--outline-focus);outline-offset:2px}.ai-tools-strip{width:100%;max-width:var(--app-content-max-width,840px);margin:0 auto;padding:0}@media (width>=768px){.ai-tools-strip{max-width:var(--app-content-max-width,840px)}}.ai-tools-strip-header{margin-bottom:var(--space-2);justify-content:flex-start;align-items:center;display:flex}.ai-tools-strip-header span{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.ai-tools-strip-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.ai-tool-chip{width:100%;min-height:96px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-dim-xxstrong);color:var(--text);font-family:var(--font-mono);cursor:pointer;transition:background var(--duration-instant) var(--ease-out-expo), border-color var(--duration-instant) var(--ease-out-expo), transform var(--duration-instant) var(--ease-out-expo);text-align:left;align-items:flex-start;font-size:12px;display:flex}.ai-tool-chip:hover:not(:disabled){background:var(--surface);border-color:var(--border-hover);transform:translateY(-1px)}.ai-tool-chip:disabled{opacity:.5;cursor:not-allowed}.ai-tool-chip-content{gap:6px;min-width:0;display:grid}.ai-tool-chip-label{font-size:13px;font-weight:600}.ai-tool-chip-description{color:var(--text-3);font-size:11px;line-height:1.45}@media (width<=767px){.ai-home-view{align-items:flex-start}.ai-home-content{justify-content:flex-start;gap:var(--space-5);width:100%}.ai-home-intro{gap:var(--space-2);text-align:center;justify-items:center}.ai-home-title{text-align:center;font-size:clamp(1.9rem,10vw,2.6rem)}.ai-tools-strip-list{gap:var(--space-2);grid-template-columns:1fr}.ai-tool-chip{min-height:84px}}@media (width>=768px) and (width<=1023px){.ai-tool-chip{min-height:88px}}.ai-sources{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;font-size:10px;display:flex}.ai-sources>span:first-child{color:var(--text-3);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.ai-source-chip{min-height:var(--button-height);border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:10px;text-decoration:none;display:inline-flex}.ai-source-chip:hover{border-color:var(--border-hover);background:var(--surface-2)}.ai-tool-shell{background:var(--surface);border-radius:var(--space-4) var(--space-4) 0 0;min-height:0;font-family:var(--font-mono);flex-direction:column;flex:1;display:flex;overflow:hidden}.ai-tool-shell.ai-tool-shell--enter{animation:aiToolIn var(--duration-slow) var(--ease-out-expo) both}.ai-import-progress,.ai-mapping-panel,.ai-mapping-preview,.ai-export-range,.ai-modal-error{animation:slideDown var(--duration-normal) var(--ease-out-expo) both}@media (width<=767px){.ai-tool-shell{border-radius:0}}.ai-tool-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ai-tool-head h2{letter-spacing:.02em;margin:0;font-size:13px;font-weight:700}.ai-tool-tabs{padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);gap:0;display:flex}.ai-tool-tabs button{appearance:none;padding:var(--space-3) var(--space-3);font-family:var(--font-mono);color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;font-size:12px}.ai-tool-tabs button.active{color:var(--text);border-bottom-color:var(--text);font-weight:700}.ai-tool-body{padding:var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai-tool-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex}.ai-tool-foot button{height:var(--button-height);min-height:var(--button-height);padding:0 var(--button-padding-x);border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-mono)}.ai-tool-foot button.primary{background:var(--text);color:var(--surface);border-color:var(--text)}.ai-tool-foot button:disabled{opacity:.5;cursor:not-allowed}.ai-modal-hint{color:var(--text-3);font-size:11px;line-height:1.6}.ai-modal-loading{background:var(--overlay);z-index:var(--z-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ai-modal-status{color:var(--text-2);margin:0;font-size:11px}.ai-upload-filename{margin:var(--space-2) 0 0;color:var(--text);font-family:var(--font-mono);font-size:12px}.ai-import-progress{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.ai-import-progress p{color:var(--text-2);margin:0;font-size:11px;line-height:1.6}.ai-import-progress-track{background:var(--surface-2);border-radius:999px;height:4px;overflow:hidden}.ai-import-progress-bar{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:999px;width:40%;height:100%;animation:1.5s infinite shimmer}.ai-paste-section textarea,.ai-upload-section input[type=file]{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.5}.ai-paste-section textarea{resize:vertical;min-height:120px}.ai-paste-section textarea::placeholder{color:var(--text-3);font-size:12px}.ai-mapping-panel header,.ai-mapping-preview header,.ai-export-scope>strong,.ai-export-preview>strong{margin-bottom:var(--space-2);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);justify-content:space-between;align-items:center;display:flex}.ai-mapping-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.ai-mapping-row{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:1fr 1fr;align-items:center;display:grid}.ai-mapping-row.confidence-high{background:color-mix(in srgb, var(--success) 8%, var(--surface));border-color:color-mix(in srgb, var(--success) 25%, var(--border))}.ai-mapping-row.confidence-medium,.ai-mapping-row.confidence-low{background:color-mix(in srgb, var(--pending) 8%, var(--surface));border-color:color-mix(in srgb, var(--pending) 25%, var(--border))}.ai-mapping-row.confidence-unknown{background:var(--surface-dim);border-color:var(--border)}.ai-mapping-row.confidence-ignore{background:var(--surface-dim);border-color:var(--border);opacity:.5}.ai-mapping-source{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.ai-mapping-row select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:6px;padding:6px 8px;font-size:11px}.ai-export-scope{gap:var(--space-2);flex-direction:column;display:flex}.ai-export-format select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:6px;padding:6px 8px;font-size:11px}.ai-export-scope-options{gap:var(--space-1);flex-direction:column;font-size:12px;display:flex}.ai-export-scope-options label{align-items:center;gap:var(--space-2);color:var(--text);cursor:pointer;display:inline-flex}.ai-export-range{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.ai-export-range label{align-items:center;gap:var(--space-2);color:var(--text-2);font-size:11px;display:flex}.ai-export-range input[type=date]{border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-mono);border-radius:6px;padding:6px 8px;font-size:11px}.ai-export-preview p{color:var(--text-2);font-size:12px}.ai-table tr.status-duplicate{opacity:.55}.ai-table tr.status-mismatch td{color:var(--pending)}.ai-chat-scroll--consent{justify-content:center;align-items:center}.ai-consent-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;min-height:0;max-height:100%;box-shadow:var(--shadow-card);font-family:var(--font-mono);flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.ai-consent-panel-header{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.ai-consent-panel-title{font-size:var(--text-sm);font-weight:var(--weight-emphasis);letter-spacing:.02em;color:var(--text);margin:0}.ai-consent-panel-body{padding:var(--space-5) var(--space-6);gap:var(--space-3);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.ai-consent-panel-desc{font-size:var(--text-xs);color:var(--text-2);margin:0;line-height:1.65}.ai-consent-panel-desc strong{color:var(--text);font-weight:var(--weight-primary)}.ai-consent-panel-footer{padding:var(--space-4) var(--space-6) var(--space-5);justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--border);flex-shrink:0;display:flex}.ai-consent-decline-btn{height:var(--button-height-lg);min-height:var(--button-height-lg);padding:0 var(--button-padding-x-lg);border:1px solid var(--border);color:var(--text-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-primary);cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast);background:0 0;border-radius:6px}.ai-consent-decline-btn:hover{border-color:var(--border-hover);color:var(--text)}.ai-consent-accept-btn{height:var(--button-height-lg);min-height:var(--button-height-lg);padding:0 var(--button-padding-x-lg);background:var(--accent);border:1px solid var(--accent);color:var(--surface);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-primary);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);border-radius:6px}.ai-consent-accept-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.ai-consent-accept-btn:disabled,.ai-consent-decline-btn:disabled{opacity:.45;cursor:not-allowed}.ai-consent-panel .ai-alert{padding:0 var(--space-6) var(--space-4);margin:0}.ai-consent-accept-btn:focus-visible,.ai-consent-decline-btn:focus-visible{outline:var(--outline-focus);outline-offset:2px}@media (width<=480px){.ai-mapping-grid{grid-template-columns:1fr}.ai-mapping-row{gap:var(--space-1);padding:var(--space-3);grid-template-columns:1fr}.ai-mapping-row select{min-height:40px;font-size:var(--mobile-input-font-size,16px)}.ai-export-range{gap:var(--space-2);flex-direction:column}.ai-export-range label{flex-direction:column;gap:4px;width:100%;display:flex}.ai-export-range input[type=date]{width:100%;min-height:40px;font-size:var(--mobile-input-font-size,16px)}.ai-consent-panel-header,.ai-consent-panel-body,.ai-consent-panel-footer{padding-left:var(--space-4);padding-right:var(--space-4)}.ai-consent-panel-footer{gap:var(--space-2);flex-direction:column-reverse}.ai-consent-decline-btn,.ai-consent-accept-btn{justify-content:center;width:100%}}@media (height<=500px) and (orientation:landscape){.ai-chat-scroll{padding:var(--space-2) var(--space-4)}.ai-composer{padding:var(--space-1) var(--space-4) var(--space-2)}.ai-composer-card{min-height:44px}.ai-consent-panel-header,.ai-consent-panel-footer{padding:var(--space-2) var(--space-4)}.ai-consent-panel-body{padding:var(--space-2) var(--space-4);gap:var(--space-1)}}@keyframes aiViewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes aiToolIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes aiAlertIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-message{opacity:1;transform:none}.ai-message.is-new{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards;animation-delay:calc(var(--msg-index,0) * 40ms)}.ai-message.user.is-new{animation-name:slideInRight}.ai-message-bubble{transition:transform var(--duration-instant) var(--ease-out-expo)}.ai-message-bubble:active{transform:scale(.985)}.ai-home-content,.ai-home-cards{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards}.ai-home-content{animation-delay:60ms}.ai-home-cards{animation-delay:.14s}.ai-prompt-chip:active{transition:transform var(--duration-instant) var(--ease-out-expo);transform:scale(.96)}.ai-recent-list button{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards;animation-delay:calc(var(--recent-index,0) * 50ms)}.ai-tools-menu .ai-tool-item{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards;animation-delay:calc(var(--tool-index,0) * 40ms)}.ai-send-button:active:not(:disabled){transform:scale(.93)}.ai-card{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards;animation-delay:calc(var(--card-index,0) * 60ms)}.ai-tool-tabs button{transition:color var(--duration-fast) var(--ease-out-expo), border-bottom-color var(--duration-normal) var(--ease-out-expo)}@media (prefers-reduced-motion:reduce){.ai-message,.ai-home-content,.ai-home-cards,.ai-recent-list button,.ai-tools-menu .ai-tool-item,.ai-card,.ai-chat-topbar,.ai-composer,.ai-free-tier-note,.ai-tool-shell.ai-tool-shell--enter,.ai-import-progress,.ai-mapping-panel,.ai-mapping-preview,.ai-export-range,.ai-modal-error,.ai-alert{opacity:1;animation:none;transform:none}.ai-message-bubble,.ai-send-button{transition:none}}@media (width<=1023px){.ai-composer textarea,.ai-paste-panel textarea,.ai-paste-section textarea,.ai-upload-section input[type=file],.ai-composer-input,.ai-mapping-row select,.ai-export-format select{font-size:var(--mobile-input-font-size,var(--text-base))}}.landing-bar{z-index:var(--z-sticky);border:1px solid var(--border);border-radius:var(--radius-button);background:var(--glass-bg);width:calc(100% - 32px);max-width:1200px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight), var(--glass-shadow-sm);margin:12px auto 0;position:sticky;top:12px}.logbook-header{width:calc(100% - 32px);max-width:min(calc(100% - 32px), var(--app-max-width,2000px));border:1px solid var(--border);border-radius:var(--radius-frame);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight), var(--glass-shadow-sm);margin:12px auto 0}.feature-mock-frame{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm);box-shadow:var(--glass-highlight), var(--glass-shadow)}.feature-mock-titlebar{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm)}.logbook-filters-dropdown,.logbook-account-dropdown{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight), var(--glass-shadow)}.logbook-grid-area{width:calc(100% - 32px);max-width:min(calc(100% - 32px), var(--app-max-width,2000px));border:1px solid var(--border);border-radius:var(--radius-frame);background:var(--glass-bg-strong);box-shadow:var(--glass-highlight), var(--glass-shadow);margin:12px auto;overflow:hidden}.logbook-totals-bar{border-top:1px solid var(--border-dim);background:0 0}.dispatch-panel{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight), var(--glass-shadow)}.dispatch-panel-header{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm)}.logbook-grid-wrap{--ag-header-background-color:var(--glass-bg-strong);--ag-chrome-background-color:var(--glass-bg-strong);--ag-menu-background-color:var(--glass-bg-strong);--ag-popup-background-color:var(--glass-bg-strong);--ag-control-panel-background-color:var(--glass-bg-strong)}.logbook-grid-wrap .ag-header{-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm)}html[data-theme] .ag-popup-child,html[data-theme] .ag-popup .ag-menu,html[data-theme] .ag-menu{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm);box-shadow:var(--glass-highlight), var(--glass-shadow)}.landing-hero-cta,.logbook-header-btn--new-flight,.logbook-header-btn--dispatch-ai{box-shadow:var(--glass-highlight), var(--glass-shadow-sm)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.landing-bar,.logbook-header,.logbook-grid-area,.feature-mock-frame,.feature-mock-titlebar,.logbook-filters-dropdown,.logbook-account-dropdown,.logbook-totals-bar,.dispatch-panel,.dispatch-panel-header{background:var(--surface)}}@media (prefers-reduced-motion:reduce){.landing-bar,.logbook-header,.logbook-grid-area,.feature-mock-frame,.dispatch-panel{transition:none}}@media (width<=767px){.landing-bar{width:calc(100% - 24px)}.logbook-header{width:calc(100% - 16px);max-width:calc(100% - 16px);margin:8px auto 0}.logbook-grid-area{width:calc(100% - 16px);max-width:calc(100% - 16px);margin:8px auto}}@media (height<=500px) and (orientation:landscape){.logbook-header{width:calc(100% - max(16px, env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px)));max-width:calc(100% - max(16px, env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px)));border-radius:var(--radius-md);margin:4px auto 0}.logbook-grid-area{margin:4px auto max(4px, env(safe-area-inset-bottom,0px));width:calc(100% - max(16px, env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px)));max-width:calc(100% - max(16px, env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px)));border-radius:var(--radius-md)}}._banner_1s1t1_1{z-index:var(--z-toast);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-frame) var(--radius-frame) 0 0;width:100%;max-width:560px;color:var(--text);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-3) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom,0px));animation:_slideUp_1s1t1_1 var(--duration-reveal) var(--ease-out-expo) forwards;border-bottom:none;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 20px #00000040}@keyframes _slideUp_1s1t1_1{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}._handle_1s1t1_30{background:var(--border-hover);width:36px;height:4px;margin:0 auto var(--space-3);border-radius:2px}._content_1s1t1_38{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}._text_1s1t1_45{min-width:0;color:var(--text);font-weight:var(--weight-secondary);flex:auto}._actions_1s1t1_52{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}._updateButton_1s1t1_59,._laterButton_1s1t1_60{height:var(--button-height);padding:0 var(--button-padding-x);border-radius:var(--radius-button);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-emphasis);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;display:inline-flex}._updateButton_1s1t1_59{background:var(--accent);color:var(--bg)}._updateButton_1s1t1_59:hover:not(:disabled){background:var(--accent-hover)}._laterButton_1s1t1_60{border-color:var(--border);color:var(--text);background:0 0}._laterButton_1s1t1_60:hover:not(:disabled){background:var(--accent-dim)}._updateButton_1s1t1_59:disabled,._laterButton_1s1t1_60:disabled{opacity:.6;cursor:not-allowed}@media (width<=480px){._banner_1s1t1_1{max-width:100%;padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0}._content_1s1t1_38{text-align:center;align-items:stretch;gap:var(--space-3);flex-direction:column}._actions_1s1t1_52{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid}._updateButton_1s1t1_59,._laterButton_1s1t1_60{width:100%}}@media (prefers-reduced-motion:reduce){._banner_1s1t1_1{animation:none}}._bar_1ljae_1{z-index:var(--z-toast);padding:var(--space-1) var(--space-4);padding-top:calc(var(--space-1) + env(safe-area-inset-top));background:var(--text);color:var(--surface);text-align:center;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;animation:_slideDownBanner_1ljae_1 var(--duration-normal) var(--ease-out-expo);font-size:10px;font-weight:500;position:fixed;top:0;left:0;right:0}@keyframes _slideDownBanner_1ljae_1{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}
