.lyso-intro[data-intro-lesson="advanced"] .lyso-intro-window { height:clamp(450px,56vw,580px); }
.lyso-advanced { position:absolute; inset:0; overflow:hidden; pointer-events:none; display:none; }
.lyso-intro[data-intro-ready="true"] .lyso-advanced { display:block; }
.lyso-advanced * { box-sizing:border-box; }
.lyso-advanced-world { position:absolute; width:880px; left:0; top:0; transform-origin:0 0; }
.lyso-advanced-focus { padding:16px 22px; }
.lyso-advanced-focus h2 { margin:4px 0 10px; }
.lyso-advanced-day { color:var(--muted); font-size:14px; }
.lyso-advanced .lyso-intro-summary { flex-wrap:wrap; gap:8px; margin:14px 0; }
.lyso-advanced .lyso-intro-tile { padding:10px 12px; min-width:88px; }
.lyso-advanced .lyso-intro-tile strong { font-size:20px; }
.lyso-advanced .lyso-intro-tile span { font-size:11px; }
.lyso-advanced .lyso-intro-section { margin-top:12px; padding:12px; }
.lyso-advanced .calendar-focus-section-head { margin-bottom:8px; }
.lyso-advanced .calendar-focus-section-head h3 { font-size:17px; margin:0; }
.lyso-advanced .calendar-focus-section-head p { font-size:12px; margin:3px 0; }
.lyso-advanced-task { display:flex; align-items:center; gap:10px; padding:10px; margin:5px 0; min-height:44px; }
.lyso-advanced-task-copy { flex:1; font-size:17px; }
.lyso-advanced-task-copy small { display:block; font-size:12px; color:var(--muted); margin-top:4px; }
.lyso-advanced .task-tag-chip { font-size:12px; margin:4px 8px 0 0; }
.lyso-advanced .task-tag-chip.is-shed { border-color:#2ab0cb; background:#2ab0cb24; }
.lyso-advanced-task.is-complete .calendar-focus-complete { background:var(--accent); }
.lyso-advanced [data-advanced-section="overdue"] { border-left:3px solid #db7163; }
.lyso-advanced [data-advanced-section="today"] { border-left:3px solid var(--accent); }
.lyso-advanced [data-advanced-section="waiting"] { border-left:3px solid #d59832; }
.lyso-advanced-add { font-size:14px; padding:7px 12px; border:1px solid var(--line); border-radius:7px; }
.lyso-advanced .lyso-advanced-dialog { position:absolute; left:0; top:0; transform-origin:0 0; width:900px; max-height:none; overflow:visible; }
.lyso-advanced-dialog .mini-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lyso-advanced-dialog .action-date-complete-row { grid-template-columns:minmax(0,1fr) minmax(140px,.42fr); }
.lyso-advanced-dialog .action-date-complete-row.is-event { grid-template-columns:minmax(0,1fr); }
.lyso-advanced-date-field { display:block; position:relative; }
.lyso-advanced-date-field input { width:100%; min-width:0; }
.lyso-advanced-date-field input::-webkit-calendar-picker-indicator { opacity:0; }
.lyso-advanced-date-icon { position:absolute; right:12px; top:calc(50% - 10px); display:flex; width:20px; height:20px; color:var(--muted); }
.lyso-advanced-date-icon svg { width:100%; height:100%; }
.lyso-advanced-date-picker { position:absolute; left:20px; width:520px; padding:16px; z-index:20; border:1px solid var(--line); border-radius:12px; background:var(--panel); box-shadow:0 12px 32px #0005; }
.lyso-advanced-picker-month { display:block; font-size:18px; margin-bottom:12px; }
.lyso-advanced-picker-body { display:grid; grid-template-columns:minmax(0,1fr) 88px; gap:18px; }
.lyso-advanced-picker-weekdays,.lyso-advanced-picker-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; text-align:center; }
.lyso-advanced-picker-weekdays { color:var(--muted); font-size:12px; margin-bottom:6px; }
.lyso-advanced-picker-days span { display:grid; place-items:center; height:32px; border:1px solid transparent; border-radius:7px; font-size:16px; }
.lyso-advanced-picker-days .is-today { border-color:var(--accent); }
.lyso-advanced-picker-times { display:grid; gap:4px; border-left:1px solid var(--line); padding-left:14px; }
.lyso-advanced-picker-times small { color:var(--muted); font-size:12px; margin-bottom:2px; }
.lyso-advanced-picker-times span { padding:4px 8px; text-align:center; font-size:14px; border:1px solid var(--line); border-radius:6px; }
.lyso-advanced-date-picker .is-selected { background:var(--accent); color:var(--accent-contrast); border-color:var(--accent); font-weight:700; }
.lyso-advanced-picker-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.lyso-advanced-picker-footer small { color:var(--muted); font-size:13px; }
.lyso-advanced-picker-done { padding:7px 16px; border-radius:7px; background:var(--accent); color:var(--accent-contrast); font-size:14px; font-weight:700; }
.lyso-advanced-calendar { padding:20px 24px; }
.lyso-advanced-calendar .calendar-toolbar h1 { margin:0; font-size:28px; }
.lyso-advanced-calendar .calendar-toolbar p { margin:6px 0 0; font-size:14px; color:var(--muted); }
.lyso-advanced-calendar .calendar-view-tab { display:inline-block; }
.lyso-advanced-calendar .calendar-toolbar { flex-direction:row; align-items:center; gap:18px; }
.lyso-advanced-calendar .calendar-controls,.lyso-advanced-calendar .segmented { width:auto; }
.lyso-advanced-calendar .calendar-nav { flex-direction:row; gap:14px; }
.lyso-advanced-calendar .calendar-date-navigator-center { gap:14px; }
.lyso-advanced-calendar .calendar-date-tile-button { flex-basis:76px; width:76px; min-height:76px; }
.lyso-advanced-calendar .calendar-date-tile-button strong { font-size:30px; }
.lyso-advanced-calendar .calendar-date-navigator-copy strong { font-size:20px; text-align:left; }
.lyso-advanced-calendar .calendar-date-navigator-copy small { display:block; }
.lyso-advanced-calendar .calendar-day-view { padding:18px; }
.lyso-advanced-calendar .calendar-day-panel { padding:16px; }
.lyso-advanced-calendar .calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(128px,1fr)); overflow:visible; background:var(--line); }
.lyso-advanced-calendar .calendar-day { min-height:132px; margin:0; border:0; border-radius:0; }
.lyso-advanced-calendar .calendar-date small { display:none; }
.lyso-advanced-calendar .year-grid { grid-template-columns:repeat(3,minmax(0,1fr)); padding:18px; }
.lyso-advanced-calendar .compact-calendar { grid-template-columns:repeat(7,minmax(34px,1fr)); }
.lyso-advanced-calendar .compact-calendar .calendar-day { min-height:72px; }
.lyso-advanced-calendar .calendar-day-add { flex-basis:22px; width:22px; height:22px; min-height:0; border-radius:5px; }
.lyso-advanced-calendar .calendar-scheduling-button { flex-basis:42px; width:42px; height:42px; min-height:42px; }
.lyso-advanced-calendar .calendar-day-hour-label .calendar-day-add { flex-basis:18px; width:18px; height:18px; }
.lyso-advanced-calendar .calendar-day-timeline { --calendar-day-rail-width:74px; }
.lyso-advanced-calendar .calendar-day-hour-label { padding:11px 12px 0 0; font-size:12px; }
.lyso-advanced-calendar-entries { position:absolute; inset:0; }
.lyso-advanced-calendar .calendar-item { align-items:center; min-height:28px; padding:5px 8px; white-space:nowrap; }
.lyso-advanced-calendar .calendar-item .dot { margin:0; }
.lyso-advanced-calendar .compact-calendar .calendar-item { min-height:8px; padding:0; }
.lyso-advanced-calendar .calendar-item-label { display:block; overflow:hidden; text-overflow:ellipsis; }
.lyso-advanced-calendar .calendar-item-text { min-width:0; overflow:hidden; }
.lyso-advanced-calendar .calendar-item-detail { display:none; }
.lyso-advanced-calendar .calendar-item-label { white-space:nowrap; }
.lyso-advanced-calendar .calendar-head { position:static; display:block; }
.lyso-advanced-calendar .compact-calendar .calendar-head { display:grid; }
.lyso-advanced-calendar .calendar-day,.lyso-advanced-calendar button { transition:none; }
.lyso-advanced-calendar.is-picking-date .calendar-shell { overflow:visible; }
.lyso-advanced-period-picker { display:block; z-index:25; max-width:none; }
.lyso-advanced-period-picker .is-selected { background:var(--accent); color:var(--accent-contrast); }
.lyso-advanced-nav-toggle { padding:0; border:0; background:transparent; color:var(--text); font-size:23px; line-height:1; }
.lyso-advanced-navigation { position:absolute; left:0; top:55px; width:225px; padding:18px 12px; background:var(--panel); border:1px solid var(--line); border-radius:0 0 10px 0; box-shadow:12px 8px 30px #0003; z-index:30; }
.lyso-advanced-navigation small { display:block; margin:16px 10px 6px; color:var(--muted); font-size:11px; text-transform:uppercase; font-weight:700; }
.lyso-advanced-navigation span { display:block; padding:10px; border-radius:6px; font-size:16px; }
.lyso-advanced-navigation .is-active { color:var(--accent); background:var(--bg); font-weight:700; }
.lyso-advanced-task.is-highlighted { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent); }
.lyso-advanced-menu,.lyso-advanced-filter,.lyso-advanced-option { position:absolute; background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:8px; z-index:2; box-shadow:0 8px 24px #0003; font-size:15px; }
.lyso-advanced-menu { width:175px; }
.lyso-advanced-menu span { display:block; padding:7px; }
.lyso-advanced-menu.is-calendar { width:360px; padding:20px; }
.lyso-advanced-menu.is-calendar strong { display:block; margin-bottom:16px; font-size:22px; }
.lyso-advanced-menu.is-calendar span { display:inline-block; width:calc(50% - 8px); margin:0 4px; padding:18px; border:1px solid var(--line); border-radius:8px; text-align:center; font-weight:700; }
.lyso-advanced-filter { right:22px; width:210px; display:grid; gap:10px; }
.lyso-advanced-option { width:220px; padding:12px; }
.lyso-advanced-repeat-menu { padding:6px; z-index:20; }
.lyso-advanced-repeat-choice { position:relative; padding:7px 12px 7px 30px; line-height:20px; border-radius:4px; }
.lyso-advanced-repeat-choice.is-current::before { content:'\2713'; position:absolute; left:9px; }
.lyso-advanced-repeat-choice.is-highlighted { background:var(--accent); color:var(--accent-contrast); }
.lyso-advanced-title { position:absolute; inset:0; display:grid; place-items:center; background:var(--bg); color:var(--text); font-size:clamp(25px,4vw,40px); font-weight:750; z-index:5; }
.lyso-advanced-pointer { position:absolute; left:0; top:0; z-index:6; width:23px; height:27px; filter:drop-shadow(0 1px 2px #0007); }
.lyso-advanced-pointer svg { fill:var(--text); stroke:var(--bg); stroke-width:1.7; }
.lyso-advanced [hidden] { display:none!important; }
