:root{--ink:#16222E;--paper:#E9EDF1;--surface:#fff;--surface-2:#F7F9FB;--rule:#D3DAE1;--muted:#6B7A88;--topbar:#16222E;--accent:#C08A2E;--bar:#2F6F8F;--red:#C0503C;--yellow:#C08A2E;--green:#4E8052;--gray:#7C8A96;--shadow:rgba(11,22,33,.25);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--paper)}
@media (prefers-color-scheme:dark){:root{--ink:#E4EBF2;--paper:#0E141B;--surface:#1B2430;--surface-2:#18212B;--rule:#2C3846;--muted:#8B9CAC;--topbar:#111922;--accent:#D6A441;--bar:#4A97BE;--red:#DE6C56;--yellow:#D6A441;--green:#77A879;--gray:#758493;--shadow:rgba(0,0,0,.5);color-scheme:dark}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper)}body{min-width:0;padding-bottom:env(safe-area-inset-bottom)}button,input{font:inherit;font-size:16px;color:inherit}button{min-height:44px;border:0;border-radius:10px;cursor:pointer}.mobile-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--topbar);color:#EAF0F5;box-shadow:0 1px 5px var(--shadow)}h1{font-size:20px;margin:0}.head-actions{display:flex;gap:8px}.head-actions button{padding:0 11px;background:#2A3B4C;color:#fff;font-size:14px}.head-actions #urgent-toggle.active{background:var(--accent);color:var(--topbar)}main{padding:14px 12px 20px;max-width:720px;margin:auto}.loading,.empty{color:var(--muted);text-align:center;padding:32px 12px}.project{margin:0 0 18px}.project-title{font-size:18px;margin:4px 4px 10px}.group{border:1px solid var(--rule);border-radius:12px;background:var(--surface);margin:8px 0;overflow:hidden}.group summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 12px;font-size:16px;font-weight:650;cursor:pointer}.group summary::marker{color:var(--accent)}.group-count{margin-left:auto;color:var(--muted);font-size:13px;font-weight:400}.task-list{border-top:1px solid var(--rule)}.task-card{display:block;width:100%;min-height:94px;padding:12px;text-align:left;background:var(--surface);border-radius:0;border-bottom:1px solid var(--rule)}.task-card:last-child{border-bottom:0}.task-card:active{background:var(--surface-2)}.task-name{display:block;font-size:16px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.task-meta{display:flex;gap:8px;align-items:center;margin-top:8px;color:var(--muted);font-size:14px}.badge{padding:3px 7px;border-radius:99px;color:#fff;font-size:12px;white-space:nowrap}.overdue{background:var(--red)}.soon{background:var(--yellow);color:#18212B}.normal{background:var(--green)}.done{background:var(--gray)}.progress{height:6px;margin-top:10px;border-radius:99px;background:var(--rule);overflow:hidden}.progress span{display:block;height:100%;background:var(--bar);border-radius:inherit}.task-card.done-card{opacity:.65}.urgent-empty{padding:20px 4px;color:var(--muted);text-align:center}footer{text-align:center;padding:0 16px calc(16px + env(safe-area-inset-bottom))}footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--bar);font-size:16px}.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10}.task-sheet{position:fixed;z-index:11;left:0;right:0;bottom:0;max-height:min(82vh,650px);overflow:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;background:var(--surface);box-shadow:0 -8px 24px var(--shadow)}.sheet-head{display:flex;gap:10px;align-items:flex-start}.sheet-head h2{font-size:19px;line-height:1.25;margin:0;flex:1;overflow-wrap:anywhere}.sheet-close{width:44px;flex:0 0 44px;background:var(--surface-2);font-size:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.detail{padding:10px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:13px}.detail b{display:block;color:var(--ink);font-size:16px;margin-top:3px}.editor-title{font-size:15px;margin:18px 0 8px}.stepper{display:flex;align-items:center;gap:12px}.stepper button,.status-buttons button,.save{padding:0 14px;background:var(--surface-2);border:1px solid var(--rule)}.stepper output{min-width:52px;text-align:center;font-weight:650}.status-buttons{display:flex;gap:8px}.status-buttons button.selected{background:var(--bar);border-color:var(--bar);color:#fff}.save{width:100%;margin-top:20px;background:var(--topbar);border-color:var(--topbar);color:#fff}.save:disabled{opacity:.6}.error{margin:12px 0 0;color:var(--red);font-size:14px}

@media (max-width:430px){
  .mobile-head{
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    gap:8px 10px;padding:calc(8px + env(safe-area-inset-top)) 12px 10px;
  }
  .mobile-head h1{grid-column:1;grid-row:1;align-self:center;font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .head-actions{display:contents}
  #logout{grid-column:2;grid-row:1;padding:0 13px;min-height:44px}
  #urgent-toggle{grid-column:1 / -1;grid-row:2;width:100%;min-height:44px;font-size:15px}
  main{padding-top:10px}
}
