.hero{padding:var(--space-7) 0 var(--space-5);border-bottom:1px solid var(--line-1)}.hero-wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-7);align-items:start;margin-bottom:var(--space-6)}.hero-text{padding-top:var(--space-2)}.hero-headline{margin:var(--space-3) 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-40);line-height:1.05;font-weight:500;letter-spacing:-.02em}.hero-headline em{color:var(--accent);font-style:normal}.hero-lede{margin:0;color:var(--ink-2);font-size:var(--text-16);max-width:540px;line-height:1.55}.overall{display:flex;flex-direction:column;gap:var(--space-3)}.overall-top{display:flex;align-items:baseline;justify-content:space-between}.overall-pct{font-family:var(--font-display);font-size:var(--text-28);font-weight:500;letter-spacing:-.01em}.overall-pct .sep{color:var(--ink-3);margin:0 2px}.overall-pct #overallTotal{color:var(--ink-3);font-size:var(--text-18);font-weight:400}.overall-foot{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-12);color:var(--ink-3)}.bar{height:8px;background:var(--bg-4);border-radius:var(--radius-pill);overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:var(--radius-pill);transition:width var(--dur-slow) var(--ease-out)}.focus{padding:var(--space-5)}.focus-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.focus-date{font-size:var(--text-12);color:var(--ink-2)}.focus-list{display:flex;flex-direction:column;gap:var(--space-2)}.focus-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--radius-2);transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.focus-item:hover{border-color:var(--line-2)}.focus-item.done{opacity:.55}.focus-item.done .focus-input{text-decoration:line-through;color:var(--ink-3)}.focus-check{width:18px;height:18px;border:1.5px solid var(--line-2);border-radius:5px;flex-shrink:0;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background-position:center;background-repeat:no-repeat;background-size:70% 70%}.focus-check.checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 8 7 12 13 4'/></svg>")}.focus-input{flex:1;background:transparent;border:none;outline:none;font-size:14.5px;color:var(--ink-1)}.focus-input::placeholder{color:var(--ink-4)}.focus-del{color:var(--ink-4);font-size:16px;padding:4px var(--space-2);border-radius:var(--radius-1);transition:color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.focus-del:hover{color:var(--ink-1);background:var(--bg-3)}.focus-add{margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-12);color:var(--ink-3);padding:var(--space-2) var(--space-3);border:1px dashed var(--line-2);border-radius:var(--radius-2);width:100%;text-align:left;transition:all var(--dur-base) var(--ease-out)}.focus-add:hover{color:var(--ink-1);border-color:var(--accent);background:var(--accent-soft)}.phases{display:flex;flex-direction:column;gap:var(--space-3)}.phase{background:var(--bg-2);border-radius:var(--radius-3);overflow:hidden;box-shadow:var(--shadow-1);transition:box-shadow var(--dur-base) var(--ease-out)}.phase:hover{box-shadow:var(--shadow-2)}.phase-head{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer;user-select:none;transition:background var(--dur-base) var(--ease-out)}.phase-head:hover{background:var(--bg-3)}.phase-num{font-family:var(--font-mono);font-size:var(--text-11);color:var(--ink-3);min-width:24px}.phase-name{flex:1;font-size:var(--text-15);font-weight:500}.phase-bar{width:100px;height:5px;background:var(--bg-4);border-radius:var(--radius-pill);overflow:hidden}.phase-bar-fill{height:100%;background:var(--accent);border-radius:var(--radius-pill);transition:width var(--dur-slow) var(--ease-out)}.phase-count{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);min-width:44px;text-align:right}.phase-chev{width:14px;height:14px;color:var(--ink-3);transition:transform var(--dur-base) var(--ease-out)}.phase.open .phase-chev{transform:rotate(90deg)}.phase-body{max-height:0;overflow:hidden;transition:max-height var(--dur-slow) var(--ease-out)}.phase.open .phase-body{max-height:3000px}.phase-items{padding:var(--space-1) var(--space-5) var(--space-4) 60px;display:flex;flex-direction:column;gap:2px}.task{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 10px;border-radius:var(--radius-2);transition:background var(--dur-fast) var(--ease-out)}.task:hover{background:var(--bg-3)}.task-check{width:16px;height:16px;border:1.5px solid var(--line-2);border-radius:4px;flex-shrink:0;cursor:pointer;margin-top:2px;transition:all var(--dur-fast) var(--ease-out);background-position:center;background-repeat:no-repeat;background-size:70% 70%}.task-check.checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 8 7 12 13 4'/></svg>")}.task-text{font-size:var(--text-14);line-height:1.5;color:var(--ink-2);flex:1}.task-row.done .task-text{text-decoration:line-through;color:var(--ink-4)}.task-row.has-details .task-text{cursor:pointer;user-select:none}.task-chev{flex-shrink:0;width:24px;height:24px;margin-top:-1px;border-radius:var(--radius-1);color:var(--ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.task-chev:hover{color:var(--ink-1);background:var(--bg-3)}.task-chev svg{transition:transform var(--dur-base) var(--ease-out)}.task-row.open .task-chev svg{transform:rotate(90deg)}.task-row.open .task-chev{color:var(--ink-1)}.task-details{max-height:0;overflow:hidden;margin-left:calc(16px + var(--space-3));transition:max-height var(--dur-slow) var(--ease-out);font-size:var(--text-13);line-height:1.65;color:var(--ink-2)}.task-row.open .task-details{max-height:1500px;padding:var(--space-3) var(--space-3) var(--space-4)}.task-details h5{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin:var(--space-3) 0 var(--space-2)}.task-details h5:first-child{margin-top:0}.task-details p{margin:0 0 var(--space-2)}.task-details ul,.task-details ol{margin:0 0 var(--space-2);padding-left:18px}.task-details li{margin:2px 0}.task-details strong{color:var(--ink-1);font-weight:500}.task-details code{font-family:var(--font-mono);font-size:var(--text-12);color:var(--ink-1);background:var(--bg-3);padding:1px 6px;border-radius:var(--radius-1)}.task-details a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:3px}.task-details a:hover{text-decoration-color:var(--accent)}.task-note{display:block;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-4);margin-top:3px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.links{display:flex;flex-direction:column;gap:2px}.link-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-2);transition:background var(--dur-fast) var(--ease-out)}.link-row:hover{background:var(--bg-3)}.link-icon{width:22px;height:22px;border-radius:var(--radius-1);background:var(--bg-4);display:flex;align-items:center;justify-content:center;font-size:var(--text-11);color:var(--ink-2);flex-shrink:0;font-family:var(--font-mono)}.link-name{flex:1;font-size:var(--text-14)}.link-url{font-family:var(--font-mono);font-size:var(--text-11);color:var(--ink-4);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-3)}.tool-tile{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--bg-2);border-radius:var(--radius-3);box-shadow:var(--shadow-1);transition:box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out);color:inherit}.tool-tile:hover{box-shadow:var(--shadow-2);background:var(--bg-3)}.tool-tile:hover .tool-icon{color:var(--ink-1);background:var(--bg-4)}.tool-tile:hover .tool-arrow{color:var(--ink-2);transform:translate(2px,-2px)}.tool-icon{width:36px;height:36px;border-radius:var(--radius-2);background:var(--bg-3);color:var(--ink-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.tool-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tool-name{font-size:var(--text-15);font-weight:500;color:var(--ink-1)}.tool-desc{font-size:13px;color:var(--ink-3);line-height:1.5}.tool-arrow{color:var(--ink-4);flex-shrink:0;margin-top:2px;transition:color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.dates{display:flex;flex-direction:column}.date-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 2px}.date-row+.date-row{border-top:1px solid var(--line-1)}.date-when{font-family:var(--font-mono);font-size:var(--text-12);color:var(--ink-2);min-width:96px;font-weight:500}.date-name{flex:1;font-size:var(--text-14);color:var(--ink-2)}.date-days{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:3px 8px;border-radius:var(--radius-pill);background:var(--bg-3)}.date-row.soon .date-days{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.date-row.urgent .date-days{color:var(--accent);background:var(--accent-soft)}.date-row.overdue .date-days{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.notes textarea{width:100%;min-height:120px;background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--radius-2);padding:var(--space-3) var(--space-4);font-size:var(--text-14);color:var(--ink-1);outline:none;resize:vertical;font-family:var(--font-body);transition:border-color var(--dur-base) var(--ease-out)}.notes textarea:focus{border-color:var(--accent)}.notes-hint{font-size:var(--text-11);color:var(--ink-4);margin-top:var(--space-2)}@media(max-width:960px){.hero-wrap{grid-template-columns:1fr;gap:var(--space-5)}.hero-headline{font-size:var(--text-28)}.grid-2{grid-template-columns:1fr}}@media(max-width:720px){.hero{padding:var(--space-5) 0 var(--space-4)}.hero-headline{font-size:26px}.hero-lede{font-size:14.5px}.section{padding:var(--space-5) 0}.section-head{margin-bottom:var(--space-4)}.section-head h2{font-size:var(--text-18)}.phase-head{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.phase-bar{display:none}.phase-name{font-size:var(--text-14)}.phase-items{padding:var(--space-1) var(--space-4) var(--space-3) var(--space-5)}.task{padding:10px var(--space-2)}.task-check{width:18px;height:18px}.task-text{font-size:13.5px}.focus{padding:var(--space-4)}.focus-check{width:22px;height:22px}.focus-input{font-size:var(--text-15);padding:2px 0}.tools-grid{grid-template-columns:1fr;gap:var(--space-3)}.tool-tile{padding:var(--space-4);gap:var(--space-3)}.tool-icon{width:40px;height:40px;font-size:var(--text-18)}.tool-name{font-size:var(--text-15)}.tool-desc{font-size:13px}.date-row{gap:var(--space-2);padding:10px var(--space-3);flex-wrap:wrap}.date-when{min-width:0;flex-basis:100%;order:0}.date-name{order:1;flex:1 1 auto;font-size:13.5px}.date-days{order:2;flex:0 0 auto}.overall,.focus{padding:var(--space-4)}.overall-pct{font-size:var(--text-22)}}@media(max-width:480px){.hero{padding:var(--space-4) 0 var(--space-3)}.hero-headline{font-size:var(--text-22);margin:var(--space-2) 0 var(--space-3)}.hero-lede{font-size:14px;line-height:1.5}.overall-foot{font-size:var(--text-11)}.link-url{display:none}.link-name{font-size:13.5px}}
