:root{--bg:#ffffff;--card:#ffffff;--text:#1c1e22;--hint:#8a9099;--line:#e7e8ea;--accent:#2563eb;--accent-contrast:#ffffff;--ok:#2c8a55;--sub-bg:#f6f7f9}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.wrap{max-width:640px;margin:0 auto;padding:16px 16px 48px}.head{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0 12px;border-bottom:1px solid var(--line)}.title{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0 0 10px}.progress-row{display:flex;align-items:center;gap:10px}.bar{flex:1 1;height:8px;background:var(--line);overflow:hidden}.bar,.bar>i{border-radius:99px}.bar>i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s ease}.count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;white-space:nowrap}.status{margin-top:8px;font-size:12.5px;color:var(--hint);display:flex;align-items:center;gap:6px;min-height:16px}.dot{width:7px;height:7px;border-radius:99px;background:var(--ok);flex:0 0 auto}.status.saving .dot{background:var(--accent);animation:pulse 1s ease-in-out infinite}.status.error{color:#c0371f}.status.error .dot{background:#c0371f}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.section-head{display:flex;align-items:center;gap:10px;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;padding:14px 2px 8px;margin-top:12px;border-bottom:1px solid var(--line);text-align:left;color:inherit;font:inherit}.section-title{flex:1 1;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--hint);font-weight:700}.section-count{font-size:12.5px;color:var(--hint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.chevron{width:8px;height:8px;border-right:2px solid var(--hint);border-bottom:2px solid var(--hint);transform:rotate(45deg);transition:transform .18s ease;flex:0 0 auto;margin-left:2px}.section-head.closed .chevron{transform:rotate(-45deg)}.plain-head{padding:14px 2px 8px;margin-top:12px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--hint);font-weight:700}.doc-block,.plain-head{border-bottom:1px solid var(--line)}.doc-head{display:flex;align-items:center;gap:12px;padding:14px 4px}.doc-head input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;margin:0;border:2px solid var(--line);border-radius:7px;flex:0 0 auto;position:relative;cursor:pointer;transition:background .12s ease,border-color .12s ease}.doc-head input[type=checkbox]:checked,.doc-head input[type=checkbox]:indeterminate{background:var(--accent);border-color:var(--accent)}.doc-head input[type=checkbox]:checked:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:11px;border:solid var(--accent-contrast);border-width:0 2px 2px 0;transform:rotate(45deg)}.doc-head input[type=checkbox]:indeterminate:after{content:"";position:absolute;left:5px;top:10px;width:12px;height:0;border-top:2px solid var(--accent-contrast)}.doc-label{flex:1 1;display:flex;align-items:center;gap:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit;font:inherit;padding:0}.doc-name{flex:1 1;font-weight:600;font-size:16px}.doc-count{font-size:12.5px;color:var(--hint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.doc-label.closed .chevron{transform:rotate(-45deg)}.row{display:flex;align-items:flex-start;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.row:last-child{border-bottom:none}.row input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border:2px solid var(--line);border-radius:6px;flex:0 0 auto;position:relative;cursor:pointer;transition:background .12s ease,border-color .12s ease}.row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.row input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--accent-contrast);border-width:0 2px 2px 0;transform:rotate(45deg)}.row .label{flex:1 1;padding-top:1px}.row.done .label{color:var(--hint);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.flag-block{border-bottom:1px solid var(--line)}.flag-block .row,.flag-block:last-child{border-bottom:none}.subs{margin:0 0 8px 8px;padding-left:12px;border-left:2px solid var(--accent);background:var(--sub-bg);border-radius:0 10px 10px 0}.subs .row{padding:11px 10px;border-bottom:1px solid var(--line)}.subs .row:last-child{border-bottom:none}.subs .label{font-size:15px}.centered{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px;color:var(--hint)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--accent);color:var(--accent-contrast);font:inherit;font-weight:600;padding:12px 20px;border-radius:12px;cursor:pointer}.link{font-size:13px;color:var(--hint);word-break:break-all}@media (prefers-reduced-motion:reduce){.bar>i,.chevron,.row input[type=checkbox]{transition:none}.status.saving .dot{animation:none}}