:root{--shale-light:var(--lsos-shale-light,#f2f3f5);--shale:var(--lsos-shale,#e6e7ea);--shale-medium:var(--lsos-shale-medium,#d9dbdf);--shale-midnight:var(--lsos-midnight,#0a1a2f);--shale-midnight-dark:var(--lsos-midnight-dark,#06121f);--shale-cyan:var(--lsos-cyan,#3fe0ff);--shale-border:var(--lsos-border,#c8ccd2);--shale-silver-soft:var(--border-light,#dde0e5);--shale-muted:#6b7a7d;--shale-accent-teal:#4a7c6f;--shale-text-on-light:var(--text,#0a0a0a);--shale-text-muted:var(--text-tertiary,#4a4f57);--shale-dark-bg:#0f1419;--shale-dark-bg-muted:#1a2224;--shale-dark-bg-gradient-end:#1a2428;--shale-dark-bg-gradient-alt:#1a1f2e;--shale-dark-surface:#2a3638;--shale-dark-surface-soft:color-mix(in srgb, var(--shale-dark-surface) 70%, transparent);--shale-dark-accent:#3d4f52;--shale-dark-accent-light:#4a5f63;--shale-dark-silver:#b8c4c8;--shale-dark-silver-muted:#95b0b8;--shale-dark-text:#e8eef0;--shale-text-subtle:#dce4e6;--shale-text-muted-immersive:#c5d2d6;--shale-text-bright:#f0f4f5;--shale-text-on-midnight:#f2f3f5;--shale-canvas-void:#0a0e12;--shale-dark-border:#b8c4c826;--shale-dark-border-strong:#b8c4c82e;--shale-dark-border-subtle:#b8c4c81f;--shale-dark-border-faint:#b8c4c81a;--shale-dark-border-mid:#b8c4c833;--shale-dark-border-highlight:#b8c4c840;--shale-dark-border-emphasis:#b8c4c859;--shale-midnight-soft:#1a1d21;--shale-hub-gradient-end:#1f2a2e;--shale-radius-sm:var(--radius-md,.5rem);--shale-radius-card:.625rem;--shale-radius:var(--radius-lg,.75rem);--shale-radius-panel:.875rem;--shale-radius-lg:var(--radius-xl,1rem);--shale-radius-pill:var(--radius-full,9999px);--shale-shadow:var(--shadow-sm,0 1px 2px #0000000d);--shale-shadow-md:var(--shadow-md,0 4px 6px #00000012);--shale-shadow-lg:var(--shadow-lg,0 10px 15px #0000001a);--shale-shadow-elevated:var(--card-shadow-elevated,0 4px 12px #0000001f);--shale-shadow-dark:0 8px 24px #00000038;--shale-font-heading:var(--font-size-lg,1.125rem);--shale-font-subtitle:var(--font-size-sm,.875rem);--shale-font-body:var(--font-size-body,.9375rem);--shale-font-caption:var(--font-size-xs,.75rem);--shale-weight-heading:var(--font-weight-semibold,600);--shale-weight-body:var(--font-weight-medium,500);--shale-space-0:var(--space-0,0);--shale-space-1:var(--space-1,.25rem);--shale-space-2:var(--space-2,.5rem);--shale-space-3:var(--space-3,.75rem);--shale-space-4:var(--space-4,1rem);--shale-space-5:var(--space-5,1.25rem);--shale-space-6:var(--space-6,1.5rem);--shale-space-8:var(--space-8,2rem);--shale-space-10:var(--space-10,2.5rem);--shale-shell-padding-x:var(--shale-space-6);--shale-shell-padding-y:var(--shale-space-5);--shale-shell-padding-bottom:var(--shale-space-8);--shale-gap:var(--shale-space-4);--shale-gap-sm:var(--shale-space-3);--shale-btn-height-sm:36px;--shale-btn-height-md:var(--shale-min-touch);--shale-btn-height-lg:48px;--shale-btn-gap:var(--space-2);--shale-btn-icon-gap:var(--space-2);--shale-btn-icon-size:1.125rem;--shale-card-padding:var(--space-4);--shale-card-padding-sm:var(--space-3);--shale-card-padding-lg:var(--space-6);--shale-modal-backdrop:var(--modal-bg);--shale-min-touch:44px;--shale-safe-top:env(safe-area-inset-top,0px);--shale-safe-bottom:env(safe-area-inset-bottom,0px);--shale-safe-left:env(safe-area-inset-left,0px);--shale-safe-right:env(safe-area-inset-right,0px);--shale-focus-ring:2px solid var(--shale-cyan);--shale-focus-offset:2px;--shale-transition:var(--transition-normal,.2s ease-in-out);--shale-motion-duration-fast:var(--motion-duration-sm,.12s);--shale-motion-duration-normal:var(--motion-duration-md,.18s);--shale-motion-duration-slow:var(--motion-duration-lg,.24s);--shale-motion-easing-standard:var(--motion-easing-standard,cubic-bezier(.2, 0, 0, 1));--shale-motion-easing-enter:var(--motion-easing-decelerate,cubic-bezier(0, 0, 0, 1));--shale-motion-easing-exit:var(--motion-easing-accelerate,cubic-bezier(.3, 0, 1, 1));--shale-motion-scale-press:var(--motion-scale-active,.98);--shale-motion-slide-distance:var(--motion-slide-distance,8px);--shale-status-success:#6db89a;--shale-status-success-bright:#6ee7b7;--shale-status-success-soft:#9ec4b0;--shale-status-warning:#c4a86a;--shale-status-error:#fca5a5;--shale-status-error-soft:#f0c4c4;--shale-status-error-muted:#d4a0a0;--shale-status-neutral:#64748b;--shale-status-danger-bg:#8b3a3a;--shale-status-danger-text:#fce8e8;--shale-breakpoint-sm:var(--breakpoint-sm,640px);--shale-breakpoint-md:var(--breakpoint-md,768px);--shale-breakpoint-lg:var(--breakpoint-lg,1024px);--shale-breakpoint-xl:var(--breakpoint-xl,1280px)}.shale-immersive{--module-shale:var(--shale-dark-accent);--module-shale-soft:var(--shale-dark-surface);--module-shale-light:var(--shale-dark-accent-light);--module-silver:var(--shale-dark-silver);--module-midnight:var(--shale-dark-bg);--module-accent:var(--shale-dark-silver-muted);--module-radius:var(--shale-radius-lg);--module-radius-sm:var(--shale-radius);min-height:100%;padding-top:var(--shale-safe-top);padding-bottom:var(--shale-safe-bottom);padding-left:var(--shale-safe-left);padding-right:var(--shale-safe-right);background:linear-gradient(180deg, var(--module-midnight) 0%, var(--shale-dark-bg-gradient-end) 100%);color:var(--module-silver)}.shale-immersive :focus-visible{outline:var(--shale-focus-ring);outline-offset:var(--shale-focus-offset)}@media (prefers-reduced-motion:reduce){.shale-immersive *,.shale-immersive :before,.shale-immersive :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--shale-motion-duration-fast:var(--motion-duration-sm,.12s);--shale-motion-duration-normal:var(--motion-duration-md,.18s);--shale-motion-duration-slow:var(--motion-duration-lg,.24s);--shale-motion-easing-standard:var(--motion-easing-standard,cubic-bezier(.2, 0, 0, 1));--shale-motion-easing-enter:var(--motion-easing-decelerate,cubic-bezier(0, 0, 0, 1));--shale-motion-easing-exit:var(--motion-easing-accelerate,cubic-bezier(.3, 0, 1, 1));--shale-motion-scale-press:var(--motion-scale-active,.98);--shale-motion-slide-distance:var(--motion-slide-distance,8px);--shale-motion-stagger-step:40ms}.shale-motion-static{transition:none!important;animation:none!important;transform:none!important}.shale-motion-press{transition:transform var(--shale-motion-duration-fast) var(--shale-motion-easing-standard), opacity var(--shale-motion-duration-fast) var(--shale-motion-easing-standard), box-shadow var(--shale-motion-duration-fast) var(--shale-motion-easing-standard);will-change:transform, opacity}.shale-motion-press:active:not(:disabled):not([aria-disabled=true]){transform:scale(var(--shale-motion-scale-press));opacity:.88}@media (hover:hover) and (pointer:fine){.shale-motion-hover:hover:not(:disabled):not([aria-disabled=true]){box-shadow:var(--motion-elevation-hover,var(--card-shadow-elevated));transform:translateY(-1px)}}.shale-motion-card{transition:box-shadow var(--shale-motion-duration-normal) var(--shale-motion-easing-standard), border-color var(--shale-motion-duration-normal) var(--shale-motion-easing-standard), transform var(--shale-motion-duration-fast) var(--shale-motion-easing-standard);will-change:box-shadow, transform}@media (hover:hover) and (pointer:fine){.shale-motion-card--interactive:hover{box-shadow:var(--motion-elevation-hover,var(--card-shadow-elevated));transform:translateY(-2px)}}.shale-motion-card--interactive:active{box-shadow:var(--motion-elevation-active,var(--shadow-sm));transform:translateY(0)}.shale-modal-backdrop{animation-duration:var(--shale-motion-duration-normal);animation-timing-function:var(--shale-motion-easing-enter);animation-fill-mode:both}.shale-modal-backdrop--enter{animation-name:shale-modal-backdrop-in}.shale-modal-backdrop--exit{animation-name:shale-modal-backdrop-out;animation-duration:var(--shale-motion-duration-fast);animation-timing-function:var(--shale-motion-easing-exit)}.shale-modal-panel{animation-duration:var(--shale-motion-duration-normal);animation-timing-function:var(--shale-motion-easing-enter);will-change:transform, opacity;animation-fill-mode:both}.shale-modal-panel--enter{animation-name:shale-modal-panel-in}.shale-modal-panel--exit{animation-name:shale-modal-panel-out;animation-duration:var(--shale-motion-duration-fast);animation-timing-function:var(--shale-motion-easing-exit)}@keyframes shale-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes shale-modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes shale-modal-panel-in{0%{opacity:0;transform:translateY(var(--shale-motion-slide-distance)) scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shale-modal-panel-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(calc(var(--shale-motion-slide-distance) * .5)) scale(.98)}}.shale-motion-list-item{animation:shale-list-item-in var(--shale-motion-duration-normal) var(--shale-motion-easing-enter) both;will-change:transform, opacity}.shale-motion-list-item--stagger{animation-delay:calc(var(--shale-stagger-index,0) * var(--shale-motion-stagger-step))}@keyframes shale-list-item-in{0%{opacity:0;transform:translateY(var(--shale-motion-slide-distance))}to{opacity:1;transform:translateY(0)}}.shale-tabs__indicator{background:var(--primary,var(--shale-cyan));border-radius:var(--radius-full,9999px);height:2px;transition:transform var(--shale-motion-duration-normal) var(--shale-motion-easing-standard), width var(--shale-motion-duration-normal) var(--shale-motion-easing-standard);will-change:transform, width;pointer-events:none;position:absolute;bottom:0;left:0}.shale-motion-swipe-feedback{opacity:.72;transition:opacity var(--shale-motion-duration-fast) var(--shale-motion-easing-standard)}.shale-pull-container{position:relative}.shale-pull-indicator{opacity:0;font-size:var(--font-size-xs,.75rem);color:var(--text-secondary,var(--shale-dark-silver-muted));padding:var(--space-2,.5rem);transition:opacity var(--shale-motion-duration-fast) var(--shale-motion-easing-standard);pointer-events:none;position:absolute;top:0;left:50%;transform:translate(-50%)translateY(-100%)}.shale-pull-indicator--active{opacity:.85}.shale-pull-indicator--refreshing{opacity:1}.shale-expand-panel{transition:max-height var(--shale-motion-duration-normal) var(--shale-motion-easing-enter), opacity var(--shale-motion-duration-fast) var(--shale-motion-easing-standard);overflow:hidden}.shale-expand-panel--closed{opacity:0;max-height:0}.shale-expand-panel--open{opacity:1;max-height:2000px}@media (prefers-reduced-motion:reduce){.shale-motion-press,.shale-motion-hover,.shale-motion-card,.shale-modal-backdrop,.shale-modal-panel,.shale-motion-list-item,.shale-tabs__indicator,.shale-motion-swipe-feedback,.shale-pull-indicator,.shale-expand-panel{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.shale-expand-panel--closed{max-height:none;display:none}}.timeline-panel{gap:var(--space-4);padding:var(--space-4);padding-inline:calc(var(--space-4) + var(--shale-safe-left,0px)) calc(var(--space-4) + var(--shale-safe-right,0px));padding-bottom:calc(var(--shale-safe-bottom,0px) + var(--space-4));min-width:0;color:var(--text);font-family:var(--font-family-body);flex-direction:column;display:flex}.timeline-module-page .timeline-panel{background:0 0;padding:0}.timeline-panel__toolbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.timeline-tabs{gap:var(--space-1);border-bottom:1px solid var(--divider);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.timeline-tabs__tab{min-height:var(--shale-min-touch);padding:var(--space-2) var(--space-4);border-radius:var(--shale-radius-pill);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background var(--shale-transition), border-color var(--shale-transition);background:0 0;border:1px solid #0000}.timeline-tabs__tab:focus-visible{background:var(--shale-light);outline:var(--shale-focus-ring);outline-offset:var(--shale-focus-offset)}.timeline-tabs__tab--active{border-color:var(--shale-border);background:var(--card);color:var(--text);font-weight:var(--font-weight-semibold);box-shadow:var(--card-shadow)}.timeline-list{gap:var(--shale-gap-sm);flex-direction:column;min-width:0;display:flex}.timeline-list--nested{gap:var(--space-2);margin-top:var(--space-2)}.timeline-date-separator{align-items:center;gap:var(--space-3);margin:var(--space-3) 0;padding:0;list-style:none;display:flex}.timeline-date-separator__label{font-family:var(--font-family-heading);font-size:var(--shale-font-subtitle);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0}.timeline-date-separator__line{background:var(--divider);flex:1;height:1px}.timeline-card{border:1px solid var(--card-border);border-radius:var(--shale-radius);padding:var(--shale-card-padding);background:var(--card);box-shadow:var(--card-shadow);transition:border-color var(--shale-transition), box-shadow var(--shale-transition)}.timeline-card:hover{border-color:var(--border);box-shadow:var(--card-shadow-elevated)}.timeline-card--highlight{border-left:4px solid var(--timeline-highlight);background:var(--timeline-highlight-bg)}.timeline-card--lowlight{border-left:4px solid var(--timeline-lowlight);background:var(--timeline-lowlight-bg)}.timeline-card--era{border-left:4px solid var(--timeline-era)}.timeline-event-title{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:var(--text);margin:0 0 var(--space-2)}.timeline-event-meta{font-size:var(--font-size-xs);line-height:var(--line-height-body);color:var(--text-secondary)}.timeline-event-body{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--text)}.timeline-event-media{margin-top:var(--space-3);border-radius:var(--shale-radius-sm);background:var(--shale-light);border:1px solid var(--shale-border);overflow:hidden}.timeline-event-media__frame{aspect-ratio:16/9;justify-content:center;align-items:center;width:100%;max-height:280px;display:flex;position:relative;overflow:hidden}.timeline-event-media__frame img{object-fit:contain;object-position:center;width:100%;height:100%;max-height:280px}.timeline-editor{gap:var(--space-3);flex-direction:column;display:flex}.timeline-editor label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.timeline-editor input,.timeline-editor select,.timeline-editor textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--shale-border);border-radius:var(--shale-radius-sm);font-size:var(--font-size-sm);background:var(--card)}.timeline-widget{padding:var(--space-4)}.timeline-multitasking-preview{gap:var(--space-1);padding:var(--space-4);font-size:var(--font-size-xs);line-height:var(--line-height-body);flex-direction:column;display:flex}.timeline-editor input:focus,.timeline-editor select:focus,.timeline-editor textarea:focus{scroll-margin-bottom:calc(var(--shale-safe-bottom,0px) + 6rem)}:root{--timeline-highlight:var(--shale-status-warning);--timeline-highlight-bg:color-mix(in srgb, var(--shale-status-warning) 12%, var(--card));--timeline-lowlight:var(--shale-status-neutral);--timeline-lowlight-bg:var(--shale-light);--timeline-era:var(--shale-accent-teal)}@media (width>=768px) and (width<=1023px){.timeline-panel__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}}@media (width<=767px){.timeline-panel{padding-inline:calc(var(--space-3) + var(--shale-safe-left,0px)) calc(var(--space-3) + var(--shale-safe-right,0px))}.timeline-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.timeline-tabs::-webkit-scrollbar{display:none}.timeline-tabs__tab{flex-shrink:0}}@media (hover:hover) and (pointer:fine){.timeline-tabs__tab:hover{background:var(--shale-light)}.timeline-card:hover{border-color:var(--border);box-shadow:var(--card-shadow-elevated)}}@media (prefers-reduced-motion:reduce){.timeline-card,.timeline-tabs__tab{transition:none}}.timeline-panel :is(button,a,input,select,textarea):focus-visible,.timeline-card:focus-visible,.timeline-card[role=button]:focus-visible,.timeline-event-editor :is(input,textarea,select,button):focus-visible,.timeline-era-editor :is(input,textarea,select,button):focus-visible,.timeline-filters-panel :is(input,button,select):focus-visible{outline:var(--shale-focus-ring);outline-offset:var(--shale-focus-offset)}
