:root{--accent-border:#00378080;--accent-bg:#0037801a;--accent:#003780;--success:#006eff;--shadow:#00000014 0 2px 8px;--surface:#f7f5ed;--border:#e8e0c9;--bg:#fcfbf8;--text-muted:#7a7380;--text-h:#08060d;--text:#3d3540;--sans:"Geist", system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font:16px/150% var(--sans);letter-spacing:.16px;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background:var(--bg);color:var(--text)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent-border:#006eff66;--accent-bg:#006eff1f;--accent:#006eff;--success:#003780;--shadow:#0000004d 0 2px 8px;--surface:#1a1b22;--border:#2e303a;--bg:#0f0f13;--text-muted:#8b8590;--text-h:#f3f4f6;--text:#c4bfca}}*,:before,:after{box-sizing:border-box}body{margin:0}#root{flex-direction:column;max-width:480px;height:100svh;margin:0 auto;display:flex;position:relative;overflow:hidden}h1{letter-spacing:-.5px;color:var(--text-h);margin:0 0 4px;font-size:28px;font-weight:600}h2{letter-spacing:-.5px;color:var(--text-h);margin:0 0 4px;padding:10px;font-weight:600}p{margin:0}ul{margin:0;padding:0;list-style:none}button{color:inherit;font:inherit;background:0 0;border:none;padding:0}.fab{cursor:pointer;z-index:100;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .15s,box-shadow .15s,background .2s;display:flex;position:absolute;bottom:28px;right:24px;box-shadow:0 4px 16px #00000040}.fab:active{transform:scale(.92);box-shadow:0 2px 8px #0003}.fab--reset{background:var(--accent);color:#fff}.fab--complete{background:var(--success);color:#fff}@media (width>=430px){h1{font-size:30px}}@media (width>=768px){#root{max-width:640px}.fab{width:64px;height:64px}h2{padding:14px 16px}h1{font-size:38px}}@media (width>=1024px){#root{max-width:760px}.fab{width:68px;height:68px}h1{font-size:44px}}.checklist-view{scrollbar-color:var(--border) transparent;scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.checklist-view::-webkit-scrollbar{width:3px}.checklist-view::-webkit-scrollbar-track{background:0 0}.checklist-view::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sticky-top{background:var(--surface);z-index:10;position:sticky;top:0;box-shadow:0 1px 4px #0000000f}.task-header{border-top:1px solid var(--border);background:var(--bg)}.task-header-row{justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.progress-label{color:var(--text-muted);margin:0;font-size:13px;font-weight:500}.warning-banner{background:var(--surface);color:#b69121;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid #b69121;border-bottom:1px solid #b69121;padding:10px 16px;font-size:13px;font-weight:600;overflow:hidden}@media (prefers-color-scheme:dark){.warning-banner{background:var(--surface);color:#ffe169;border-top-color:#ffe169;border-bottom-color:#ffe169}}.change-roles-btn{background-color:var(--accent);color:var(--bg);border-radius:10px;flex-shrink:0;padding:4px 8px;font-size:13px;transition:color .15s,background-color .15s}.change-roles-btn:hover{background-color:var(--success)}@media (width>=430px){.warning-banner{padding:10px 20px;font-size:14px}.task-header-row{padding:10px 20px}.change-roles-btn,.progress-label{font-size:14px}}@media (width>=768px){.change-roles-btn{padding:6px 12px;font-size:15px}.warning-banner{padding:12px 24px;font-size:15px}.task-header-row{padding:12px 24px}.progress-label{font-size:15px}}@media (width>=1024px){.change-roles-btn{padding:6px 14px;font-size:16px}.warning-banner{padding:14px 32px;font-size:16px}.task-header-row{padding:14px 32px}.progress-label{font-size:16px}}.role-selector{flex-direction:column;flex:1;align-items:center;gap:16px;min-height:0;padding:32px 20px;display:flex;overflow:hidden auto}.role-selector h1 svg{vertical-align:middle}.role-hint{color:var(--text-muted);font-size:14px}.role-grid{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;display:grid}.role-card{border:2px solid var(--border);background:var(--surface);color:var(--text);text-align:center;border-radius:10px;min-height:48px;padding:14px 12px;font-size:16px;font-weight:500;line-height:1.3;transition:border-color .15s,background .15s,color .15s}.role-label-short{display:none}@media (width<=399px){.role-label-short{display:inline}.role-label-full{display:none}}.role-card:hover{border-color:var(--accent-border)}.role-card.selected{background:var(--accent-bg);border-color:var(--accent);color:var(--text-h)}.confirm-btn{background:var(--accent);color:#fff;border-radius:10px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s}.confirm-btn:not(:disabled):hover{opacity:.88}.confirm-btn:disabled{opacity:.35}@media (width>=430px){.role-selector{padding:36px 24px}.role-hint{font-size:15px}}@media (width>=768px){.role-card{padding:18px 16px;font-size:18px}.role-selector{gap:24px;padding:48px 40px}.confirm-btn{padding:18px;font-size:18px}.role-hint{font-size:16px}.role-grid{gap:14px}}@media (width>=1024px){.role-card{padding:22px 20px;font-size:20px}.confirm-btn{padding:20px;font-size:20px}.role-selector{padding:64px 80px}.role-hint{font-size:17px}.role-grid{gap:16px}}.phase-nav{border-bottom:1px solid var(--border);background:var(--surface);scrollbar-width:none;display:flex;overflow-x:auto}.phase-nav::-webkit-scrollbar{display:none}.phase-btn{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;flex:none;padding:12px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.phase-btn.active{border-bottom-color:var(--accent);color:var(--accent)}.phase-btn:hover:not(.active){color:var(--text-h)}@media (width>=430px){.phase-btn{padding:12px 18px;font-size:14px}}@media (width>=768px){.phase-nav{justify-content:center}.phase-btn{padding:14px 22px;font-size:15px}}@media (width>=1024px){.phase-btn{padding:16px 26px;font-size:16px}}.task-item{border-bottom:1px solid var(--border)}.task-item.completed{opacity:.4}.task-row{text-align:left;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.task-check-indicator{flex:0 0 20px;width:20px;height:20px;transition:color .15s}.task-item:not(.completed) .task-check-indicator{color:var(--accent)}.task-item.completed .task-check-indicator{color:var(--success)}.task-name{color:var(--text-h);font-size:15px;font-weight:500;line-height:1.4}.task-item.completed .task-name{color:var(--text-muted);text-decoration:line-through}.task-details{flex-direction:column;gap:10px;padding:0 16px 16px 48px;display:flex}.task-desc{color:var(--text);font-size:14px;line-height:1.55}.sub-checks{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.sub-checks li{color:var(--text-muted);padding-left:12px;font-size:13px;line-height:1.5;position:relative}.sub-checks li:before{content:"·";position:absolute;left:0}@media (width>=430px){.task-details{padding:0 18px 16px 50px}.sub-checks li{font-size:14px}.task-row{padding:14px 18px}.task-name{font-size:16px}.task-desc{font-size:15px}}@media (width>=768px){.task-check-indicator{flex:0 0 24px;width:24px;height:24px}.task-details{padding:0 24px 20px 64px}.task-row{gap:16px;padding:18px 24px}.sub-checks li{font-size:15px}.task-name{font-size:17px}.task-desc{font-size:16px}}@media (width>=1024px){.task-check-indicator{flex:0 0 26px;width:26px;height:26px}.task-details{padding:0 32px 24px 78px}.task-row{gap:20px;padding:20px 32px}.sub-checks li{font-size:16px}.task-name{font-size:18px}.task-desc{font-size:17px}}.no-tasks{color:var(--text-muted);text-align:center;padding:32px 20px}.task-list-wrapper{flex-direction:column;flex:1;padding-bottom:100svh;display:flex}.task-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}
