@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&display=swap";:root{color:#f7f7f4;background:#121213;font-family:Space Grotesk,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100vh}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.46}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app{background:radial-gradient(circle at 50% 0,#ffffff14,#0000 34%),linear-gradient(#121212 0%,#050506 100%);min-height:100vh;padding:0;display:flex}.todo-shell{width:100%;min-height:100vh;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:auto}h1,p{margin-top:0}h1{color:#f7f7f4;margin-bottom:0;font-size:2.2rem;font-weight:500;line-height:1.15}.task-panel{background:linear-gradient(#ffffff09,#0000 34%),#121213;width:100%;min-width:0;min-height:100vh;padding:48px clamp(20px,4vw,64px)}.panel-header,.new-task,.task-list{width:100%}.panel-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.new-task{background:0 0;border:0;gap:10px;padding:0;display:grid}.new-task label{color:#d9d9d5;font-weight:800}.input-row,.edit-form{gap:10px;display:flex}input{color:#f7f7f4;background:#0d0d0e;border:1px solid #ffffff1f;border-radius:6px;outline:none;width:100%;min-height:46px;padding:0 14px}input::placeholder{color:#6f6f6d}input:focus{border-color:#f0f0eb;box-shadow:0 0 0 3px #f0f0eb1f}.input-row button,.edit-form button,.task-actions button{color:#080809;white-space:nowrap;background:#f0f0eb;border-radius:6px;min-height:42px;padding:0 14px;font-weight:800}.input-row button{color:#d9d9d5;background:#242427;width:46px;min-width:46px;font-size:1.45rem;line-height:1}.ghost{color:#d9d9d5;background:0 0;border:1px solid #ffffff1c;border-radius:8px;min-height:44px;padding:8px 12px;font-weight:800}.task-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.task{background:#171719;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:66px;padding:12px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:grid}.task.dragging{opacity:.55}.task.drop-target{border-color:#29d79fa6;box-shadow:inset 0 0 0 1px #29d79f59}.task:hover{background:#1d1d20;border-color:#fff3;transform:translateY(-1px);box-shadow:0 18px 34px #00000047}.task.done{background:#141514}.check{place-items:center;display:grid}.check input{opacity:0;pointer-events:none;position:absolute}.check span{background:#0d0d0e;border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.check span:after{content:"";opacity:0;border:0 solid #fff;border-width:0 0 2px 2px;width:10px;height:6px;transform:rotate(-45deg)translate(1px,-1px)}.check input:checked+span{background:#29d79f;border-color:#29d79f}.check input:checked+span:after{opacity:1}.task-title{color:#f7f7f4;text-align:left;overflow-wrap:anywhere;background:0 0;min-width:0;padding:8px 0}.task.done .task-title{color:#777773;text-decoration:line-through}.task-status{color:#b8b8b4;text-align:center;text-transform:uppercase;background:#101011;border:1px solid #ffffff1a;border-radius:999px;min-width:86px;padding:7px 10px;font-size:.72rem;font-weight:800}.task.done .task-status{color:#29d79f;background:#29d79f14;border-color:#29d79f59}.task-actions{gap:8px;display:flex}.task-actions button{color:#d9d9d5;background:#242427;min-width:72px}.task-actions .icon-button{place-items:center;width:42px;min-width:42px;padding:0;font-size:1.3rem;line-height:1;display:grid}.task-actions .danger{color:#ff6b8a;background:#ff406f1a}.edit-form{grid-column:2/-1}.edit-form .ghost{color:#d9d9d5}@media (width<=640px){.task-panel{padding:24px 14px}h1{font-size:1.7rem}.panel-header,.input-row,.edit-form{flex-direction:column;align-items:stretch}.task{grid-template-columns:34px minmax(0,1fr)}.task-status,.task-actions{grid-column:2/-1}.task-status{width:max-content;min-width:0}.task-actions button{flex:1}}
