/* Sky Scout Lifeline, Phase 1. All selectors scoped to this new page. */
:root{font-family:"Jost","Trebuchet MS",Arial,sans-serif;color:#f2efff;color-scheme:dark;background:#0a0816}
*{box-sizing:border-box}
html{min-width:0}
body{margin:0;min-width:0;min-height:100vh;background:radial-gradient(ellipse 78% 40% at 48% 48%,rgba(67,40,112,.32),transparent 85%),linear-gradient(165deg,#17102b 0%,#0c0a1c 47%,#070814 100%);font-family:"Jost","Trebuchet MS",Arial,sans-serif;color:#f4f0ff}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.life-site-header{padding:17px 14px 16px;background:linear-gradient(180deg,#edf6ff,#d9e8f5 90%);border-bottom:1px solid #bbd1e7}
.life-header-inner{max-width:920px;margin:0 auto;position:relative;padding-top:34px}
.life-site-header h1.sky-brand{margin:0 auto 12px;padding:0;line-height:0;width:min(100%,640px);font-size:inherit}
.life-site-header .sky-brand-home{display:block;line-height:0}
.life-site-header .sky-brand img{display:block;width:100%;height:auto;margin:auto;filter:none}
.life-site-header .site-nav{display:flex;gap:7px;max-width:670px;margin:0 auto;justify-content:center;align-items:stretch}
.life-site-header .site-nav a{display:flex;flex:1 1 0;align-items:center;justify-content:center;min-width:0;min-height:42px;border-radius:17px;text-decoration:none;text-align:center;font-family:"Jost",sans-serif;font-weight:700;font-size:clamp(11px,2.8vw,15px);line-height:1.16;color:#2f506c;padding:7px 5px;background:linear-gradient(#fff,#e8f1f9);border:1px solid #c3d5e6;box-shadow:inset 0 1px #fff,0 3px 10px #294b6c12}
.life-site-header .site-nav a.active{color:#fff;background:linear-gradient(155deg,#356d9a,#173f61);border-color:#285a7c}
.life-site-header .site-nav a:focus-visible{outline:3px solid #346ea7;outline-offset:2px}
.life-site-header .sky-global-menu{right:0;top:0;z-index:100}
.life-site-header .sky-global-menu>summary{background:linear-gradient(#fff,#edf4f8);color:#31516d}
.life-site-header .sky-menu-body{color:#25364e;background:#fff;box-shadow:0 12px 30px #101d3644}
.life-site-header .sky-menu-body a{color:#25364e}
.life-site-header .sky-menu-disabled{color:#7b879a}
.life-site-header .sky-menu-toggle{color:#25364e}
.life-site-header .sky-menu-toggle input{color-scheme:light}
.life-site-header .sky-menu-link{color:#25364e}
.life-site-header .sky-menu-divider{border-color:#dfe9f2}
.life-site-header .sky-menu-toggle input{accent-color:#315d8a}
.lifeline-main{max-width:1100px;margin:0 auto;padding:30px 18px 74px}
.life-intro{text-align:center;margin:0 auto 22px;max-width:680px}
.life-eyebrow,.life-small-label,.life-toolbar-overline{letter-spacing:.2em;text-transform:uppercase;color:#baaccf;font-size:10px;font-weight:700}
.life-intro h2{font:700 clamp(34px,7.5vw,58px)/1.15 "Jost",sans-serif;letter-spacing:.02em;margin:11px 0 7px;color:#fcf7ff}
.life-title-glow{font-size:.52em;color:#dac6ff;text-shadow:0 0 18px #b09cffaa;vertical-align:middle}
/* V73: Pathfinder subtitle and compact accessible help toggle. */
.life-subtitle{display:flex;align-items:center;justify-content:center;gap:9px;margin:2px auto 9px;color:#d1c1e7;font-size:clamp(12px,2.8vw,15px);font-weight:500;line-height:1.4}
.life-info-toggle{position:relative;display:inline-flex;flex:none;align-items:center}
.life-info-toggle>summary{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #9c88bf;color:#e4d8f6;font:700 12px/1 "Jost",sans-serif;list-style:none;cursor:pointer;user-select:none;background:#3b305c70}
.life-info-toggle>summary::-webkit-details-marker{display:none}
.life-info-toggle>summary:focus-visible{outline:3px solid #c6aaf6;outline-offset:2px}
.life-info-toggle[open]>summary{background:#51416c;color:white}
.life-info-panel{position:absolute;z-index:35;top:calc(100% + 10px);right:-10px;width:min(275px,calc(100vw - 35px));padding:13px 14px;text-align:left;border:1px solid #947fb2;border-radius:14px;background:linear-gradient(155deg,#302644,#1d1934);box-shadow:0 12px 35px #000a;color:#ece3fa;font:400 12px/1.48 "Jost",sans-serif}
.life-info-panel strong{display:block;margin:0 0 6px;font-size:14px;color:#fff}
.life-info-panel p{margin:0 0 8px;font-size:12px;line-height:1.48;color:#dacde9}
.life-info-panel p:last-child{margin-bottom:0}
.life-intro p{line-height:1.55;color:#bdb5cd;margin:0 auto;font-size:clamp(13px,2.9vw,16px)}
.life-workspace{background:linear-gradient(165deg,rgba(50,33,88,.60),rgba(18,17,42,.72) 50%,rgba(15,11,28,.88));border:1px solid rgba(196,176,230,.22);border-radius:27px;box-shadow:0 22px 75px #0006,inset 0 1px 0 #ffffff14;overflow:hidden}
.life-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.life-range-area{display:grid;gap:2px;min-width:0}
.life-range-area output{color:#f3eaff;font-size:clamp(14px,3.6vw,18px);letter-spacing:.015em;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.life-zoom-actions{display:flex;flex:none;gap:6px}
.life-zoom-actions button{min-width:34px;height:35px;padding:0 10px;border:1px solid #8874b1;border-radius:12px;background:linear-gradient(#3e315f,#28203f);color:#f8f3ff;font-weight:650;box-shadow:inset 0 1px #ffffff1f}
.life-zoom-actions button:first-child,.life-zoom-actions button:nth-child(2){font-size:21px;line-height:1}
.life-zoom-actions button:active{background:#51416c}
.life-canvas-wrap{position:relative;overflow:hidden;isolation:isolate}
#lifeCanvas{display:block;max-width:100%;width:100%;height:clamp(320px,46vw,450px);touch-action:none;cursor:grab;outline:none}
#lifeCanvas.dragging{cursor:grabbing}
#lifeCanvas:focus-visible{outline:2px solid #b9a9fb;outline-offset:-3px}
.life-canvas-edge{position:absolute;top:0;bottom:35px;width:6%;pointer-events:none;z-index:2}
.life-canvas-edge.left{left:0;background:linear-gradient(90deg,#251939b3,transparent)}
.life-canvas-edge.right{right:0;background:linear-gradient(270deg,#151026d1,transparent)}
.life-gesture-hint{text-align:center;color:#9587af;margin:0;padding:0 9px 13px;font-size:12px;letter-spacing:.02em;user-select:none}
.life-hint-divider{padding:0 7px;color:#5f526f}
.life-workspace-bottom{border-top:1px solid #ffffff15;background:rgba(17,12,34,.50);padding:12px 18px}
.life-empty-hint{font-size:13px;color:#b2a7c7;text-align:center;line-height:1.5}
.life-selection{display:flex;align-items:center;gap:14px;justify-content:space-between;min-width:0}
.life-selected-title{font-size:15px;color:#fff;font-weight:700;min-width:0;overflow-wrap:anywhere}
.life-selected-meta{font-size:12px;color:#c7b9d7;margin-top:3px}
.life-selection-buttons{display:flex;gap:7px;flex:none}
.life-selection-buttons button{border:1px solid #796691;border-radius:10px;padding:7px 11px;background:#2b2443;color:#f5eaff;font-size:12px}
.life-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:22px auto 23px}
.life-primary,.life-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid transparent;padding:9px 19px;border-radius:22px;font-weight:700;font-size:14px}
.life-primary{background:linear-gradient(145deg,#497aa6,#26577e 72%,#194569);border-color:#5486ad;color:white;box-shadow:inset 0 1px #ffffff36,0 9px 24px #090d2445}
.life-primary:hover{filter:brightness(1.13)}
.life-secondary{background:linear-gradient(145deg,#302847,#211c33);border-color:#75638f;color:#ede5ff}
.life-secondary:hover{background:#3d3155}
.life-form-panel,.life-events-panel{background:linear-gradient(155deg,rgba(40,32,68,.80),rgba(23,21,45,.86));border:1px solid #7c68984c;border-radius:23px;padding:20px;margin:0 0 18px;box-shadow:0 14px 36px #0003}
.life-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.life-section-head h3{margin:0;color:#fcf7ff;font:700 23px/1.2 "Jost",sans-serif}
#lifeEventCount{font-size:13px;color:#a8a0be;font-family:"Jost",sans-serif;font-weight:500;padding-left:7px}
.life-icon-close{border:1px solid #807095;background:#29223f;color:white;border-radius:50%;width:33px;height:33px;font-size:23px;line-height:1;flex:none}
.life-panel-note{font-size:13px;color:#beb1d0;margin:-5px 0 15px;line-height:1.5}
.life-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.life-field{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:13px;color:#dfd2ef;min-width:0}
.life-field.life-full{grid-column:1/-1}
.life-optional{font-size:11px;font-weight:400;color:#9688aa}
.life-field input:not([type=color]),.life-field select,.life-field textarea{display:block;width:100%;min-width:0;min-height:42px;color:#f7f3fc;background:#15152d;border:1px solid #736b91;border-radius:11px;padding:10px 12px;font-size:15px;font-weight:400;outline-offset:2px}
.life-field input:not([type=color]):focus,.life-field select:focus,.life-field textarea:focus{outline:2px solid #a9a0ed;outline-offset:1px}
.life-field textarea{resize:vertical;line-height:1.5;min-height:115px}
.life-field input::placeholder,.life-field textarea::placeholder{color:#9189a6}
.life-field input[type=date],.life-field input[type=time]{color-scheme:dark}
.life-color-field{display:flex;align-items:center;gap:10px;border:1px solid #736b91;background:#15152d;border-radius:11px;padding:5px 8px;min-height:42px;font-weight:400;color:#aca1c2}
.life-color-field input{width:46px;height:31px;border:0;padding:0;background:transparent;cursor:pointer}
.life-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}
.life-form-message{color:#ebbdca;font-size:13px}
.life-event-list{display:grid;gap:10px}
.life-list-empty{color:#a89fb9;font-size:13px;margin:0}
.life-event-card{display:flex;align-items:center;gap:11px;padding:11px 12px;background:#15142ae3;border:1px solid #655a83a8;border-radius:15px;min-width:0}
.life-event-card .life-marker-symbol{width:37px;height:37px;display:grid;place-items:center;flex:none;font-size:24px;text-shadow:0 0 13px currentColor;border-radius:50%;background:#ffffff0d}
.life-card-info{flex:1;min-width:0}
.life-card-info strong{display:block;color:#f6efff;overflow-wrap:anywhere;font-size:14px;font-weight:650}
.life-card-info .life-card-meta{font-size:12px;color:#aea3c3;margin-top:2px}
.life-card-open{background:#332b4c;border:1px solid #86739d;border-radius:13px;color:#eee3ff;min-height:33px;padding:5px 12px;font-size:12px;font-weight:650;flex:none}
.life-storage-note{color:#978dab;font-size:11.5px;line-height:1.55;max-width:790px;margin:17px auto 0;text-align:center}
button:focus-visible,a:focus-visible{outline:3px solid #c6aaf6;outline-offset:3px}
@media(max-width:570px){
 .life-site-header{padding:13px 12px 13px}
 .life-header-inner{padding-top:34px}
 .life-site-header h1.sky-brand{margin-bottom:10px}
 .lifeline-main{padding:26px 12px 54px}
 .life-workspace{border-radius:22px}
 .life-toolbar{padding:15px 13px 4px;gap:8px}
 .life-zoom-actions button{padding:0 8px;min-width:32px;height:34px}
 .life-selection{align-items:flex-start;flex-direction:column;gap:10px}
 .life-form-panel,.life-events-panel{padding:16px 13px}
 .life-form-grid{gap:11px}
 #lifeCanvas{height:355px}
}
@media(max-width:380px){
 .life-site-header .site-nav{gap:5px}
 .life-site-header .site-nav a{font-size:11px;padding:6px 3px}
 .life-form-grid{grid-template-columns:1fr}
 .life-form-grid .life-full{grid-column:auto}
 .life-event-card{padding:9px}
 .life-actions{gap:7px}
 .life-primary,.life-secondary{font-size:13px;padding:9px 13px}
}
/* Preserve the existing opt-in desktop mode for the header without forcing the timeline past its container. */
html.sky-desktop .life-header-inner{max-width:1050px}
html.sky-desktop .lifeline-main{max-width:1160px}
/* V65: birth time can be chosen and confirmed without the native mobile dialog. */
.life-birth-time-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.life-birth-time-choices select{min-height:42px!important;padding:8px 5px!important;font-size:13px!important}
.life-birth-time-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}
.life-birth-time-actions button{border:1px solid #807095;border-radius:11px;padding:6px 12px;font-size:12px;font-weight:600;color:#f8f0ff;background:#302847}
.life-birth-time-actions .life-birth-time-set{background:#315f88;border-color:#6592b8}
.life-birth-time-status{display:block;min-height:17px;font-size:11px;font-weight:400;color:#cbbedd}
.life-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}

/* V75: compact Pathfinder's first-screen layout while retaining the timeline controls and marker interactions. */
.life-intro{margin-bottom:14px}
#lifeCanvas{height:clamp(275px,37vw,360px)}
.life-toolbar{padding-top:12px;padding-bottom:5px}
@media(max-width:570px){
 .life-site-header{padding-top:10px;padding-bottom:10px}
 .life-header-inner{padding-top:24px}
 .life-site-header h1.sky-brand{width:92%;margin-bottom:8px}
 .lifeline-main{padding-top:14px}
 .life-intro h2{font-size:32px;margin:6px 0 4px}
 .life-subtitle{margin-bottom:5px}
 .life-intro p{line-height:1.4}
 .life-intro{margin-bottom:13px}
 .life-toolbar{padding-top:11px;padding-bottom:2px}
 #lifeCanvas{height:282px}
}

/* V75: restrained classical Roman letterforms chosen for Pathfinder.
   Cinzel is a freely distributable web-font alternative to the Trajan-inspired
   lettering in the concept; keep Jost for controls, inputs and paragraph text. */
.life-intro h2{
 font-family:"Cinzel","Optima","Noto Serif",Georgia,serif;
 font-weight:600;letter-spacing:.018em;text-transform:uppercase;
 font-size:clamp(29px,7.35vw,55px);line-height:1.17;
}
.life-section-head h3{
 font-family:"Cinzel","Optima","Noto Serif",Georgia,serif;
 font-weight:600;letter-spacing:.015em;font-size:clamp(18px,4.6vw,23px);
}
.life-section-head h3 #lifeBookmarksCount,.life-section-head h3 #lifeEventCount{font-family:"Jost",sans-serif}
