/* 시차 적응 도우미 전용 CSS (2026-10-12). 2패널 계산형 + 하루씩 보는 적응 일정(SVG, 몸 시계 선 그리기 R45) + 날짜별 계획 표 + 준비 일수별 막대. 공용 부품은 assets/v2.css */
.jl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.jl-in{padding:16px 18px 18px;min-width:0}
.jl-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jl-fields [hidden]{display:none}
.jl-fields .v2-f{min-width:0}
.jl-fields .v2-f.full{grid-column:1/-1}
.jl-fields .v2-f > .v2-label{display:block}
.jl-select,.jl-ctl{display:block;width:100%;max-width:100%;height:var(--v2-ctl,42px);margin-top:6px;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14.5px;font-weight:600;box-sizing:border-box;text-overflow:ellipsis}
.jl-ctl{padding:0 10px;min-width:0}
.jl-select:focus-visible,.jl-ctl:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.jl-ctl[aria-invalid="true"],.jl-select[aria-invalid="true"]{border-color:var(--accent)}
.v2-input:has(input[aria-invalid="true"]){border-color:var(--accent)}
.jl-seg{margin-top:6px;display:flex;flex-wrap:nowrap}
.jl-seg button{flex:1 1 0;min-width:0;height:var(--v2-ctl,42px);padding:0 6px;font-family:var(--sans);font-size:13px;font-weight:700;white-space:nowrap}
.jl-hint{display:block;margin-top:5px;font-family:var(--sans);font-size:12px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.jl-help{margin:12px 0 0;font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--muted)}
.jl-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:14px}
.jl-acts svg{width:16px;height:16px}
.jl-out{padding:16px 18px 18px;min-width:0;border-left:1px solid var(--soft);display:flex;flex-direction:column}
.jl-out > .v2-label{display:block;margin-bottom:6px}
.jl-rows{margin-top:12px}
.jl-rows li span{min-width:0;flex:0 0 auto;max-width:44%}
.jl-rows li b{min-width:0;flex:1 1 auto;text-align:right;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.jl-rows li.is-alt b{font-weight:600;color:var(--muted)}
.jl-caveat{margin:10px 0 0;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--muted)}
.jl-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--soft)}
.jl-caveat + .jl-foot{margin-top:14px}
.jl-foot .v2-status{margin-left:auto}
.jl-out .v2-big.is-empty span{font-size:18px;font-weight:600;color:var(--muted)}
.jl-chartbox,.jl-plan,.jl-prepbox{padding:14px 18px 16px;border-top:1px solid var(--soft);min-width:0;max-width:100%}
.jl-chartbox > .v2-label,.jl-plan > .v2-label,.jl-prepbox > .v2-label{display:block;margin-bottom:8px}
.jl-keys{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--sans);font-size:12px;color:var(--muted)}
.jl-keys li::before{content:"";display:inline-block;width:14px;height:10px;margin-right:6px;border-radius:3px;vertical-align:-1px}
.jl-keys .k-sl::before{background:var(--ink);opacity:.72}
.jl-keys .k-sk::before{background:var(--accent);opacity:.32}
.jl-keys .k-av::before{background:repeating-linear-gradient(135deg,var(--muted) 0 2px,transparent 2px 5px);opacity:.55}
.jl-keys .k-fly::before{background:var(--muted);opacity:.35}
.jl-keys .k-zz::before{background:var(--ink);opacity:.45}
.jl-keys .k-td::before{width:9px;height:9px;border-radius:50%;background:var(--accent)}
.jl-keys .k-band::before{background:var(--accent-wash);border:1px dashed var(--accent)}
.jl-cwrap{display:flex;align-items:flex-start;min-width:0}
.jl-labs{flex:0 0 auto;display:flex;flex-direction:column;padding-right:8px;font-family:var(--sans);font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.jl-labs span{display:block;height:26px;line-height:26px}
.jl-labs .is-flight{color:var(--ink)}
.jl-scroll{flex:1 1 auto;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.jl-chart{min-width:560px}
.jl-chart svg{display:block;font-family:var(--sans);overflow:visible}
.jl-chart .gr{stroke:var(--soft);stroke-width:1}
.jl-chart .ax{fill:var(--muted);font-size:10.5px;font-variant-numeric:tabular-nums}
.jl-chart .band{fill:var(--accent-wash);stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;opacity:.8}
.jl-chart .sl{fill:var(--ink);opacity:.72}
.jl-chart .sk{fill:var(--accent);opacity:.3}
.jl-chart .av{fill:url(#jlHatch)}
.jl-chart .hp{fill:var(--muted);opacity:.55}
.jl-chart .fly{fill:var(--muted);opacity:.35}
.jl-chart .zz{fill:var(--ink);opacity:.45}
.jl-chart .row.is-done .sl{opacity:.45}
.jl-chart .tl{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.jl-chart .td{fill:var(--accent);stroke:var(--paper);stroke-width:1.5}
.jl-note{margin:8px 0 0;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--muted)}
.jl-swipe{display:none}
.jl-plan .tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.jl-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:13px;font-variant-numeric:tabular-nums}
.jl-table th,.jl-table td{padding:7px 8px;border-top:1px solid var(--soft);text-align:left;vertical-align:top}
.jl-table thead th{font-size:11.5px;font-weight:700;color:var(--muted);border-top:0;white-space:nowrap}
.jl-table tbody th{font-weight:700;white-space:nowrap}
.jl-table tbody th small,.jl-table td small{display:block;margin-top:2px;font-size:11.5px;font-weight:500;color:var(--muted)}
.jl-table td:nth-child(2){white-space:nowrap}
.jl-table td{min-width:7.5em}
.jl-table tr[data-done] th,.jl-table tr[data-done] td{color:var(--muted)}
.jl-table tr.is-cur th,.jl-table tr.is-cur td{background:var(--accent-wash);color:var(--ink)}
.jl-prep{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.jl-prep li{display:grid;grid-template-columns:minmax(0,9em) minmax(0,1fr) auto;align-items:center;gap:10px;font-family:var(--sans);font-size:13px}
.jl-prep .jl-pn{color:var(--muted);font-weight:600;overflow-wrap:anywhere}
.jl-pbar{height:10px;border-radius:5px;background:var(--wash);overflow:hidden}
.jl-pbar i{display:block;height:100%;width:0;border-radius:5px;background:var(--muted);opacity:.55;transition:width .5s ease}
.jl-prep li.is-on .jl-pn,.jl-prep li.is-on b{color:var(--ink)}
.jl-prep li.is-on .jl-pbar i{background:var(--accent);opacity:.85}
.jl-prep b{font-variant-numeric:tabular-nums;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.jl-pbar i{transition:none}}
@media (max-width:720px){
  .jl-grid{grid-template-columns:minmax(0,1fr)}
  .jl-out{order:-1;border-left:0;border-bottom:1px solid var(--soft)}
  .jl-swipe{display:block}
}
@media (max-width:420px){
  .jl-in,.jl-out,.jl-chartbox,.jl-plan,.jl-prepbox{padding-left:12px;padding-right:12px}
  .jl-prep li{grid-template-columns:minmax(0,7.5em) minmax(0,1fr) auto}
}
/* 날짜 칸은 값(2026. 10. 19.)이 154px쯤 필요해 반쪽 칸이 그보다 좁아지면 한 줄씩 */
@container v2in (max-width:329px){ .jl-fields .jl-dt{grid-column:1/-1} }
@container v2in (max-width:299px){ .jl-fields{grid-template-columns:minmax(0,1fr)} .jl-fields .v2-f.full{grid-column:auto} }
@container v2in (max-width:420px){ #jlDir{flex-wrap:wrap;row-gap:4px} #jlDir button{flex:1 1 30%} }
