.mode-switch{background:var(--surf);border:1px solid var(--edge);border-radius:var(--radius);gap:4px;margin-bottom:.6rem;padding:4px;display:inline-flex}.mode-btn{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:.55rem 1.2rem;font-size:.8rem;font-weight:700;transition:background .15s,color .15s}.mode-btn.is-on{background:var(--text);color:#0a0a0b}.mode-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.mode-hint{margin:0 0 1.6rem;font-size:.85rem}.readiness{background:var(--surf-2);border:1px solid var(--edge);border-radius:var(--radius);z-index:5;margin-bottom:1.6rem;padding:1.4rem 1.5rem;position:sticky;top:.5rem}.readiness-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.readiness-label{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:.72rem;font-weight:600}.readiness-pct{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:clamp(1.6rem,6vw,2.2rem);font-weight:900;line-height:1;transition:color .25s}.readiness.is-ready .readiness-pct{color:var(--green)}.meter{background:var(--bg);border:1px solid var(--edge);border-radius:999px;height:10px;margin:.9rem 0 .7rem;overflow:hidden}.meter-fill{background:var(--green);border-radius:999px;width:0%;height:100%;transition:width .3s}.readiness-sub{color:var(--text-dim);margin:0;font-size:.85rem}.readiness.is-ready .readiness-sub{color:var(--green)}.task-group{padding:0;overflow:hidden}.group-h{margin:0}.group-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 1.5rem;display:flex}.group-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-size:clamp(1.1rem,3.6vw,1.35rem);font-weight:800}.group-meta{flex:none;align-items:center;gap:.85rem;display:inline-flex}.group-count{font-family:var(--font-body);letter-spacing:.04em;color:var(--text-faint);white-space:nowrap;font-size:.8rem;font-weight:600}.group-count.done{color:var(--green)}.chev{border-right:2px solid var(--text-dim);border-bottom:2px solid var(--text-dim);flex:none;width:9px;height:9px;margin-top:-3px;transition:transform .2s;transform:rotate(45deg)}.group-toggle:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.group-body{padding:0 1.5rem 1.1rem}.task-group.collapsed .group-body{display:none}.task-group.collapsed .chev{transform:rotate(-45deg)}.group-blurb{margin:0 0 .4rem;font-size:.92rem}.tasks{margin:.4rem 0 0;padding:0;list-style:none}.task{border-bottom:1px solid var(--edge-soft);align-items:center;display:flex}.task:last-child{border-bottom:none}.task>label{flex:1}#list[data-mode=basic] .task[data-level=advanced]{display:none}.task label{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:flex-start;gap:.85rem;padding:.85rem .2rem;display:flex}.task input{opacity:0;width:1px;height:1px;position:absolute}.box{border:1.5px solid var(--text-faint);border-radius:var(--radius);background:var(--bg);flex:none;width:24px;height:24px;margin-top:1px;transition:background .15s,border-color .15s;position:relative}.box:after{content:"";border:2.5px solid #0a0a0b;border-width:0 2.5px 2.5px 0;width:6px;height:11px;transition:transform .15s;position:absolute;top:4px;left:8px;transform:rotate(45deg)scale(0)}.task input:checked+.box{background:var(--green);border-color:var(--green)}.task input:checked+.box:after{transform:rotate(45deg)scale(1)}.task input:focus-visible+.box{outline:2px solid var(--green);outline-offset:2px}.task-label{color:var(--text);font-size:1rem;line-height:1.45;transition:color .15s}.task input:checked~.task-label{color:var(--text-faint);text-decoration:line-through;text-decoration-color:var(--text-faint)}.checklist-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;display:flex}.checklist-actions .btn{width:auto;margin:0;display:inline-block}.top-actions{text-align:center;margin-top:1.5rem}.top-actions .btn{width:auto;margin:0;display:inline-block}.unlock{background:var(--surf-2);border:1px solid var(--edge);border-radius:var(--radius);margin:0 0 1.6rem;padding:1.2rem 1.3rem}.unlock[hidden]{display:none}.unlock-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 .4rem;font-size:1.05rem;font-weight:800}.unlock-copy{margin:0 0 .9rem;font-size:.9rem}.unlock-form{flex-direction:column;gap:10px;display:flex}.unlock-form input{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--edge);border-radius:var(--radius);padding:.9rem 1rem;font-family:inherit;font-size:16px}.unlock-form input::placeholder{color:var(--text-faint)}.unlock-form input:focus-visible{outline:2px solid var(--green);outline-offset:2px}.unlock-form .btn{margin:0}.unlock-msg:empty{display:none}.unlock-msg{color:var(--text-dim);margin:.8rem 0 0;font-size:.88rem}.unlock-msg.ok{color:var(--green)}.unlock-msg.err{color:var(--red)}@media (width>=520px){.unlock-form{flex-direction:row}.unlock-form input{flex:1}.unlock-form .btn{white-space:nowrap;width:auto}}.unlock-note{color:var(--text-faint);margin:.8rem 0 0;font-size:.76rem}.unlock-note a{color:var(--text-dim)}.custom-tasks{margin:0;padding:0;list-style:none}#list:not([data-mode=custom]) .custom-tasks,#list[data-mode=custom] .task.removed{display:none}.task-remove{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:0 .2rem 0 .6rem;font-size:1.4rem;line-height:1;display:none}#list[data-edit=on] .task-remove{display:block}.task-remove:hover{color:var(--red)}.custom-toolbar{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.custom-toolbar[hidden]{display:none}.custom-toolbar .btn{width:auto;margin:0;display:inline-block}.edit-hint{font-size:.8rem}.add-own{gap:8px;margin:.6rem 0 .2rem;display:none}#list[data-mode=custom][data-edit=on] .add-own{display:flex}.backup-form{flex-basis:100%;gap:8px;margin-top:.3rem;display:flex}.backup-form[hidden]{display:none}.backup-form input{color:var(--text);background:var(--bg);border:1px solid var(--edge);border-radius:var(--radius);flex:1;padding:.7rem .9rem;font-family:inherit;font-size:16px}.backup-form input::placeholder{color:var(--text-faint)}.backup-form .btn{width:auto;margin:0}.backup-msg{color:var(--text-dim);flex-basis:100%;margin:.4rem 0 0;font-size:.85rem}.backup-msg:empty{display:none}.backup-msg.ok{color:var(--green)}.backup-msg.err{color:var(--red)}.add-own .add-input{color:var(--text);background:var(--bg);border:1px dashed var(--edge);border-radius:var(--radius);flex:1;padding:.75rem .9rem;font-family:inherit;font-size:16px}.add-own .add-input::placeholder{color:var(--text-faint)}.add-own .add-input:focus-visible{outline:2px solid var(--green);outline-offset:2px}.add-own .add-btn{background:var(--surf);border:1px solid var(--edge);border-radius:var(--radius);color:var(--text);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;flex:none;padding:0 1rem;font-size:.8rem;font-weight:700}@media (hover:hover){.add-own .add-btn:hover{border-color:var(--text-dim)}}@media (prefers-reduced-motion:reduce){.meter-fill,.box,.box:after,.readiness-pct,.mode-btn,.chev{transition:none}}
