/* V66 additions only. Existing Sky Scout controls are untouched. */
.sky-life-save-menu{box-sizing:border-box;position:fixed;z-index:99999;max-height:min(500px,90vh);overflow-y:auto;padding:16px 15px;background:#fafcff;color:#253952;box-shadow:0 12px 35px #06122350;border:1px solid #9fb5cb;border-radius:17px;font:13px/1.4 "Jost",sans-serif}
.sky-save-heading{display:block;padding-right:26px;font-size:16px;color:#254969}.sky-save-context{margin:6px 0 11px;color:#556b7b;font-size:12px}
.sky-save-actions{display:grid;gap:8px}.sky-save-actions>button{border:1px solid #aac2d5;border-radius:12px;background:#eaf2fa;color:#244c72;padding:9px 11px;text-align:left;font:600 12px "Jost",sans-serif;cursor:pointer}
.sky-save-actions>button:disabled{opacity:.55;cursor:progress}.sky-save-attach{font-size:12px;color:#52677c}.sky-save-attach select{display:block;width:100%;padding:8px;margin-top:5px;border:1px solid #b3c7d7;border-radius:9px;background:white;color:#263b53;font:12px "Jost",sans-serif}
.sky-save-close{position:absolute;right:9px;top:8px;width:30px;height:30px;border:0;background:transparent;color:#52677d;font:24px sans-serif;cursor:pointer}.sky-save-status{min-height:12px;margin:9px 0 3px;color:#315e85;font-size:12px}.sky-save-lifeline-link{font-weight:650;font-size:12px;color:#215b8d;text-decoration:underline}
/* The dark Lifeline page keeps its existing palette. */
.life-saved-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #625478;border-radius:12px;margin:8px 0;background:#241b36}
.life-saved-info{flex:1;min-width:0}.life-saved-info strong{display:block;font-size:13px;overflow-wrap:anywhere}.life-saved-info small{display:block;color:#bcb0d1;font-size:11px;margin-top:3px}
.life-saved-card button,.life-saved-ctrl{padding:6px 10px;border:1px solid #8c79ab;border-radius:10px;background:#382a53;color:#eee3ff;font:600 12px "Jost",sans-serif;cursor:pointer}
.life-selection-extra{display:grid;gap:9px;margin-top:9px}.life-selection-extra textarea,.life-selection-extra select{width:100%;box-sizing:border-box;border:1px solid #826f9b;border-radius:10px;background:#1d1630;color:#f0e8ff;padding:8px;font:12px "Jost",sans-serif}
.life-selection-extra label{font-size:12px;color:#d0c2e4}.life-selection-extra .life-pass-list{display:grid;gap:6px;max-height:230px;overflow-y:auto}
.life-selection-extra .life-pass-list button{display:flex;justify-content:space-between;gap:10px;text-align:left}
.life-saved-subhead{font-size:13px;color:#d2b67e;margin:0 0 5px}
.life-saved-empty{color:#bfb1d0;font-size:12px}


/* V67: A compact description bubble attached to the precise canvas marker. */
.life-workspace:has(.life-canvas-wrap .life-selection:not([hidden])),
.life-canvas-wrap:has(.life-selection:not([hidden])){overflow:visible}
.life-canvas-wrap .life-selection[hidden]{display:none!important}
.life-canvas-wrap .life-selection{
 position:absolute;z-index:9;box-sizing:border-box;display:block;
 max-height:none;overflow:visible;
 padding:11px 12px; border:1px solid #9d87bc;
 border-radius:13px;background:linear-gradient(160deg,#302341,#20182f);
 box-shadow:0 10px 30px #03010bb3,0 0 0 1px #c2a8e32e;
 color:#f5edff;line-height:1.4;touch-action:pan-y;
}
.life-canvas-wrap .life-selection::before{
 content:"";position:absolute;top:-6px;left:calc(var(--life-tip-x,50%) - 6px);
 width:11px;height:11px;transform:rotate(45deg);
 border-left:1px solid #9d87bc;border-top:1px solid #9d87bc;background:#302341;
}
.life-canvas-wrap .life-selection .life-selected-title{font-size:13px;line-height:1.28}
.life-canvas-wrap .life-selection .life-selected-meta{font-size:11px;line-height:1.35}
.life-canvas-wrap .life-selection .life-selection-buttons{margin-top:9px;flex-wrap:wrap;gap:5px}
.life-canvas-wrap .life-selection .life-selection-buttons button,
.life-canvas-wrap .life-selection .life-selection-buttons a{font-size:11px;padding:5px 8px}
.life-canvas-wrap .life-selection .life-selection-extra{gap:7px}
.life-workspace:has(.life-canvas-wrap .life-selection:not([hidden])) .life-workspace-bottom{display:none}
/* When no information is selected, do not reserve the old detail-panel area. */
.life-workspace-bottom:has(.life-empty-hint[hidden]){display:none}

/* V67: refined unobtrusive bookmark glyph, never a large button in transit rows. */
.sky-life-save-icon{
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
 flex:0 0 24px;width:24px;height:27px;min-width:24px;min-height:27px;
 margin:0;padding:3px;border:0;border-radius:6px;
 background:transparent;color:#527c9a;box-shadow:none;
 cursor:pointer;vertical-align:middle;
}
.sky-life-save-icon svg{width:17px;height:17px;display:block}
.sky-life-save-icon:hover{border:0;background:#dceaf6;color:#255d88}
.sky-life-save-icon:focus-visible{outline:2px solid #3475b8;outline-offset:1px}
.event-list td.sky-transit-info{display:flex;align-items:flex-start;gap:3px}
.sky-transit-name{display:block;flex:1 1 auto;min-width:0}
.event-list td.sky-transit-info .sky-life-save-icon{flex:none;align-self:flex-start;margin-top:-2px}
/* Finder links and the compact save glyph stay on one row when there is space. */
.finder-result>.sky-life-save-icon{margin-left:0;flex:none}
/* Retain the original labeled chart-wide saving control while matching its new symbol. */
.sky-v66-save-row .sky-life-save-icon{
 width:auto;height:30px;min-width:132px;min-height:30px;flex:initial;
 gap:5px;padding:4px 10px;border:1px solid #aac2d5;border-radius:12px;
 background:linear-gradient(#fff,#ebf2fb);font-size:12px
}
.sky-v66-save-row .sky-life-save-icon::after{content:" Save to Pathfinder";font-size:12px;font-weight:650}

/* V67: station direction belongs immediately beside its planetary glyph. */
.event-list .pw-event-icons.sky-station-symbols{width:auto;max-width:none;justify-content:center;gap:5px;align-items:flex-start}
.event-list .sky-station-symbols .event-symbol-position{flex:0 0 auto}
.event-list .sky-station-motion{display:inline-block;flex:none;font-size:16px;font-weight:650;line-height:19px}

/* V67: description remains small; optional editing is opened on demand. */
.life-canvas-wrap .life-selection{padding:10px 12px 9px}
.life-canvas-wrap .life-selection .life-selection-text{max-height:min(208px,47vh);overflow-y:auto;overscroll-behavior:contain;padding-right:3px}
.life-canvas-wrap .life-selection .life-selection-text>.life-selected-title{padding-right:13px}
.life-canvas-wrap .life-selection .life-selection-buttons{padding-right:17px}
.life-canvas-wrap .life-selection .life-saved-ctrl{font-size:11px;padding:4px 8px;min-height:24px;line-height:1.3}
.life-canvas-wrap .life-selection .life-selected-meta{margin-top:5px}
.life-canvas-wrap .life-selection .life-selection-extra p{margin:3px 0}
.life-canvas-wrap .life-selection .life-selection-extra .life-saved-editor[hidden]{display:none!important}
.life-canvas-wrap .life-selection .life-saved-editor{display:grid;gap:7px;padding-top:6px;border-top:1px solid #ffffff20}
.life-canvas-wrap .life-selection .life-bubble-close{
 position:absolute;right:6px;top:5px;width:23px;height:23px;min-height:23px;
 border:0;background:transparent;color:#bfb1d1;font:400 20px/1 sans-serif;
 padding:0;cursor:pointer;
}
.life-canvas-wrap .life-selection .life-bubble-close:hover{color:white}

/* V68: keep the marker's detail bubble completely inside the canvas rectangle. */
.life-canvas-wrap .life-selection{overflow-y:auto;overscroll-behavior:contain}
.life-canvas-wrap .life-selection[data-side="above"]::before{
 top:auto;bottom:-6px;transform:rotate(225deg);
}

/* V75: keep the notes Save button visible under the floating, scrollable details. */
.life-canvas-wrap .life-selection{display:flex;flex-direction:column;overflow:hidden;gap:0}
.life-canvas-wrap .life-selection .life-selection-text{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;width:100%}
.life-canvas-wrap .life-selection .life-selection-buttons{display:flex;align-items:center;flex:none;width:100%;padding:7px 15px 0 0;margin-top:5px;border-top:1px solid #ffffff22;position:relative;background:#21182e;z-index:1}
.life-canvas-wrap .life-selection .life-selection-buttons button[hidden]{display:none!important}
.life-canvas-wrap .life-selection .life-selection-buttons button:not([hidden]){white-space:nowrap}

/* V92: linked bookmark controls within the milestone marker bubble only. */
.life-canvas-wrap .life-selection .life-linked-bookmark-row{display:flex;align-items:center;gap:6px;min-width:0;}
.life-canvas-wrap .life-selection .life-linked-bookmark-row > button:first-child{flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.life-canvas-wrap .life-selection .life-linked-bookmark-row > .life-linked-unlink{flex:0 0 auto;min-height:26px;padding:4px 9px;}

/* V93: centered shared Save to Pathfinder popup, including chart, transit,
   and position finder invocations. Place attach action beside its selector. */
.sky-life-save-menu{text-align:center}
.sky-life-save-menu .sky-save-heading{padding-left:29px;padding-right:29px;text-align:center}
.sky-life-save-menu .sky-save-context,
.sky-life-save-menu .sky-save-status,
.sky-life-save-menu .sky-save-attach,
.sky-life-save-menu .sky-save-lifeline-link{text-align:center}
.sky-life-save-menu .sky-save-actions>button{text-align:center}
.sky-life-save-menu .sky-save-attach-caption{text-align:center}
.sky-life-save-menu .sky-save-event-row{
 display:grid;grid-template-columns:minmax(0,1fr) auto;
 gap:7px;align-items:center;margin-top:7px;min-width:0;
}
.sky-life-save-menu .sky-save-event-row select{
 box-sizing:border-box;width:100%;min-width:0;height:39px;margin:0;
 padding:6px 5px;text-align:center;text-align-last:center;
 font-size:12px;
}
.sky-life-save-menu .sky-save-event-row button{
 box-sizing:border-box;min-height:39px;height:39px;white-space:nowrap;
 border:1px solid #74559b;border-radius:10px;padding:6px 9px;
 background:#38274e;color:#f5edff;font:600 11px "Jost",sans-serif;
 cursor:pointer;
}
.sky-life-save-menu .sky-save-event-row button:focus-visible{outline:2px solid #ceadfb;outline-offset:2px}
