/* Checklist interactions. The original print layout is kept intact. */
.item-lock,.section-meter,.completion-summary,.completion-dock{display:none}
@media screen{
  .has-completion-dock{--dock-height:calc(80px + env(safe-area-inset-bottom,0px));height:100vh;height:100dvh;overflow:hidden}
  .checklist-page-scroll{height:calc(100% - var(--dock-height));overflow:auto;scroll-behavior:smooth;scroll-padding-top:24px;scroll-padding-bottom:16px}
  .completion-dock{display:block;position:fixed;z-index:30;bottom:0;right:max(0px,calc((100vw - 1192px)/2));width:max-content;max-width:100%;height:var(--dock-height);padding:12px max(16px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));pointer-events:none}
  .completion-dock-inner{height:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:0 4px 16px rgba(32,32,32,.13);font-size:12px;font-variant-numeric:tabular-nums;pointer-events:auto}
  #dock-rate{white-space:nowrap;font-size:13px}
  #dock-count{font-family:var(--number);font-size:21px;line-height:1.2;white-space:nowrap}
  .dock-meter{width:88px;height:5px;background:#e4e4dc;overflow:hidden;border-radius:3px}
  .dock-meter>span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
  .has-completion-dock .toast{bottom:calc(var(--dock-height) + 12px);max-width:calc(100% - 32px)}
  .checklist-guidance{max-width:1160px;margin:20px auto 0;padding:13px 18px;background:var(--accent-pale);border-left:3px solid var(--accent);font-size:12px;color:var(--muted);line-height:1.9}
  .completion-summary{display:block;max-width:1160px;margin:24px auto 0;padding:23px 28px;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--accent)}
  .completion-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
  #completion-rate{font-size:21px;font-weight:800;font-variant-numeric:tabular-nums}
  .completion-heading p{margin:0;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .completion-heading .progress-label{margin:0;font-size:12px}
  #progress-text{font-family:var(--number);font-size:25px;line-height:1.2;font-weight:500}
  #skipped-text{font-size:11px;color:var(--muted)}
  .progress-track,.section-meter{overflow:hidden;background:#efefe9;border-radius:3px}
  .progress-track{height:9px}
  .progress-track>span,.section-meter>span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
  .completion-note{font-size:11px;color:var(--muted);margin:10px 0 0}
  .section-completion{margin-left:auto;flex-shrink:0;text-align:right;align-self:center;min-width:62px}
  .section-progress{margin:0;padding:0}
  .section-meter{display:block;height:4px;margin-top:7px;width:62px}
  .check-top{display:grid;grid-template-columns:22px 28px minmax(0,1fr) auto;gap:8px;align-items:start}
  .check-title{min-width:0}
  .item-lock{display:block;width:28px;height:32px;pointer-events:none;overflow:visible;margin-top:0;color:var(--ink)}
  .item-lock svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .lock-shackle{transform:rotate(28deg);transform-origin:24px 20px;transition:transform .4s cubic-bezier(.22,1.5,.5,1)}
  .lock-body{fill:var(--accent-pale);transition:fill .3s}
  .lock-sparks{opacity:0;transform-origin:18px 18px}
  .is-done>.check-top .lock-shackle{transform:rotate(0deg)}
  .is-done>.check-top .lock-body{fill:var(--accent)}
  .is-skipped>.check-top .item-lock{opacity:.35}
  .check-body{padding-left:66px}
  .check-title label,.check-item.is-done>.check-top label{color:var(--ink)}
  .task-name{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left 56%;background-size:0% 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .3s ease,color .3s ease}
  .is-done>.check-top .task-name{background-size:100% 1px;color:var(--muted)}
  .check-title label:hover{text-decoration:none}
  .check-title label:hover .task-name{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
  .toolbar>.text-button{margin:0 0 2px;min-height:44px}
  .toolbar .search-row{margin-top:10px}
}
@media screen and (max-width:1210px){.completion-summary,.checklist-guidance{margin-left:24px;margin-right:24px}}
@media screen and (max-width:600px){
  .completion-dock-inner{gap:11px;padding-left:14px;padding-right:14px}
  .completion-dock{left:50%;right:auto;transform:translateX(-50%)}
  .checklist-guidance{margin:18px 16px 0;padding:12px 15px;font-size:11px}
  .completion-summary{margin:20px 16px 0;padding:18px 20px}
  .completion-heading{display:block}
  #completion-rate{font-size:20px}
  .completion-heading p{margin-top:7px;gap:7px}
  .completion-note{font-size:10px;line-height:1.9}
  .check-top{grid-template-columns:21px 26px minmax(0,1fr);gap:6px 7px}
  .item-lock{width:26px;height:30px}
  .check-title{grid-column:3}
  .skip-button{grid-column:3;justify-self:start;margin:0;min-height:44px}
  .check-body{padding-left:0}
  .section-completion{min-width:46px}
  .section-meter{width:46px}
  .topic-heading{gap:9px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
  .section-completion{display:contents}
  .checklist-guidance{font-size:9px;margin:12px 0}
}
