:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#1f2937}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,rgba(91,110,168,.1),transparent 48%),linear-gradient(180deg,#fff,#f4f7fb);color:#1f2937}button,input,select,textarea{font:inherit}.app{max-width:980px;margin:0 auto;padding:20px 16px 72px}.hero{margin-bottom:22px}.hero-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.hero-signout{margin-left:auto;align-self:flex-start}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#5b6ea8;font-size:12px}h1{font-size:clamp(2rem,4vw,3.5rem);margin:8px 0 12px;color:#172033}h2{margin:10px 0 12px;color:#172033}h3{margin:8px 0 10px;color:#172033}.subtle,.muted{color:#667085}.summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.summary-card{background:#ffffffeb;border:1px solid rgba(93,114,177,.1);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 24px #141e3c0d}.summary-label{color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.grid{display:grid;gap:14px;grid-template-columns:1fr}.card{background:#fffffff0;border:1px solid rgba(93,114,177,.12);border-radius:18px;padding:16px;box-shadow:0 12px 28px #141e3c12}.course-card{display:flex;flex-direction:column;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.course-card:hover{transform:translateY(-2px);border-color:#5d72b13d;background:#fff;box-shadow:0 16px 32px #141e3c17}.course-card:focus-visible{outline:2px solid #5b6ea8;outline-offset:2px}.card-selected{border-color:#5d72b157;box-shadow:0 16px 38px #5d72b124}.course-card .task-list{max-height:min(48vh,320px);overflow-y:auto;padding-right:4px;overscroll-behavior:contain;scrollbar-gutter:stable}.auth-shell{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(560px,100%)}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;color:#fff;font-weight:700}.task-count{font-size:12px}.task-list{display:grid;gap:8px}.task-row{padding:10px 11px;border-radius:14px;background:#f8faff;border:1px solid rgba(93,114,177,.1)}.task-row-button{width:100%;text-align:left;cursor:pointer;color:inherit;border:1px solid rgba(93,114,177,.12)}.task-row-button:hover{border-color:#5d72b13d;background:#fff}.task-row-button:focus-visible{outline:2px solid #5b6ea8;outline-offset:2px}.task-row-done{background:#3ea76f14;border-color:#3ea76f2e}.task-row-done:hover{background:#3ea76f1a;border-color:#3ea76f42}.task-row-main{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.task-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;line-height:1.3;min-width:0;color:#172033}.task-title-done{color:#1f6f4b}.task-status-mark{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:999px;background:#e5e9f6;color:#5b6ea8;font-size:12px;flex:0 0 auto}.task-status-done{background:#67d1ab3d;color:#1f8a5c}.task-done-label{color:#1f8a5c;font-weight:700}.task-meta{display:flex;gap:12px;font-size:12px;flex-wrap:wrap}.priority-indicator{width:10px;height:10px;border-radius:999px;display:inline-flex;flex:0 0 auto;box-shadow:0 0 0 4px #ffffffbf}.priority-high{background:#f2556f}.priority-normal{background:#f0bf4c}.priority-low{background:#98a2b3}.task-row-indicators{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.task-note-indicator{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:999px;background:#5b6ea81a;color:#5b6ea8;border:1px solid rgba(91,110,168,.2);font-size:11px;line-height:1}.task-source-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1}.task-source-manual{background:#5b6ea81a;color:#5b6ea8;border:1px solid rgba(91,110,168,.18)}.detail-status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;color:#52606d;background:#52606d14;border:1px solid rgba(82,96,109,.16)}.detail-status-done{color:#1f8a5c;background:#67d1ab29;border-color:#1f8a5c2e}.details-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a47;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;padding:12px;z-index:20}.details-sheet{width:min(100%,920px);max-height:88vh;overflow:auto}.details-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.details-panel-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.detail-task-list{display:grid;gap:14px}.detail-task{padding:14px;border-radius:16px;background:#fbfcfe;border:1px solid rgba(93,114,177,.1);display:grid;gap:10px}.detail-task-selected{border-color:#5b6ea857;box-shadow:0 12px 28px #5b6ea81f;background:#fff}.detail-task-done{background:#3ea76f14;border-color:#3ea76f33}.detail-task-done.detail-task-selected{box-shadow:0 12px 28px #3ea76f1f;border-color:#3ea76f52}.detail-task-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.detail-task-header-copy{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.detail-task-create{border-style:dashed;background:linear-gradient(180deg,#5b6ea80f,#fffffffa)}.task-create-grid{display:grid;gap:12px}.task-create-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.task-create-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.task-create-error{color:#b42318}.detail-text{margin:0;white-space:pre-wrap;line-height:1.6;color:#344054}.detail-task-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.inline-field{display:grid;gap:6px;min-width:150px}.inline-field span{color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.inline-field select{width:100%;border-radius:12px;border:1px solid rgba(93,114,177,.18);background:#fff;color:#172033;padding:11px 12px}.inline-field-tight{min-width:140px}.note-panel{display:grid;gap:8px}.field-compact{gap:8px}.field-compact textarea{width:100%;border-radius:12px;border:1px solid rgba(93,114,177,.18);background:#fff;color:#172033;padding:12px 14px;resize:vertical;min-height:120px}.note-status{margin:0;font-size:12px}.task-row .muted,.detail-task .muted{color:#667085}.form-row{display:flex;gap:12px;margin:20px 0 10px;flex-wrap:wrap}.input{flex:1 1 240px;background:#fff;color:#172033;border:1px solid rgba(93,114,177,.18);border-radius:12px;padding:12px 14px}.button{border:0;border-radius:12px;background:#5b6ea8;color:#fff;padding:12px 16px;font-weight:700;cursor:pointer}.button-ghost{background:transparent;color:#344054;border:1px solid rgba(93,114,177,.2)}.button-done{background:#3ea76f}@media(max-width:720px){.hero-row,.details-panel-head,.detail-task-top,.task-row-main{flex-direction:column;align-items:stretch}.summary-row{grid-template-columns:1fr}.details-overlay{padding:0;align-items:stretch}.details-sheet{max-height:100vh;border-radius:22px 22px 0 0}.card{border-radius:16px}.course-card .task-list{max-height:42vh}.detail-task-actions{flex-direction:column;align-items:stretch}.inline-field{min-width:100%}.details-panel-actions,.task-create-actions{flex-direction:column;align-items:stretch}.task-create-row{grid-template-columns:1fr}}@media(min-width:721px){.app{padding:32px 20px 80px}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.details-overlay{align-items:center}.details-sheet{border-radius:22px}}
