@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,h2,p{margin-top:0}h1{color:#f7f7f4;margin-bottom:0;font-size:2.2rem;font-weight:500;line-height:1.15}h2{color:#f7f7f4;margin-bottom:0;font-size:1rem;font-weight:800}.task-panel{background:linear-gradient(#ffffff09,#0000 34%),#121213;width:100%;min-width:0;min-height:100vh;padding:48px clamp(20px,4vw,64px);position:relative}.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}.header-user-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.user-profile{min-width:0;max-width:min(360px,45vw);color:inherit;text-align:left;background:#171719;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.user-profile:hover{background:#1d1d20;border-color:#ffffff29}.user-profile:focus-visible{outline-offset:3px;outline:2px solid #8ab4f8cc}.user-avatar{object-fit:cover;background:#242427;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.user-avatar-fallback{color:#f7f7f4;font-size:.9rem;font-weight:800}.user-profile-text{gap:2px;min-width:0;display:grid}.user-profile-name,.user-profile-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-profile-name{color:#f7f7f4;font-size:.86rem;font-weight:800}.user-profile-email{color:#9aa0a6;font-size:.78rem;font-weight:600}.account-modal-backdrop{z-index:40;background:#00000094;justify-content:flex-end;align-items:flex-start;padding:28px clamp(20px,4vw,64px);display:flex;position:fixed;inset:0}.account-modal{background:#171719;border:1px solid #ffffff1a;border-radius:8px;width:min(380px,100vw - 40px);padding:18px;box-shadow:0 24px 70px #00000085}.account-modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.account-modal-close{color:#d9d9d5;background:#101011;border:1px solid #ffffff1a;border-radius:8px;place-items:center;width:36px;height:36px;font-size:1.35rem;line-height:1;display:grid}.account-modal-close:hover{background:#1d1d20;border-color:#ffffff29}.account-modal-user{align-items:center;gap:12px;min-width:0;margin-bottom:18px;display:flex}.account-modal-avatar{object-fit:cover;background:#242427;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.account-modal-avatar-fallback{color:#f7f7f4;font-size:1.1rem;font-weight:800}.account-modal-text{gap:4px;min-width:0;display:grid}.account-modal-text strong,.account-modal-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-modal-text strong{color:#f7f7f4;font-size:1rem}.account-modal-text span{color:#9aa0a6;font-size:.88rem}.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-loading,.task-error{border-radius:8px;margin:18px 0 0;padding:12px 14px;font-weight:700}.task-loading{color:#d9d9d5;background:#171719}.task-error{color:#ff8aa3;background:#ff406f1a}.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}.ai-chat{z-index:10;justify-items:end;gap:12px;max-width:min(420px,100vw - 28px);display:grid;position:fixed;bottom:clamp(14px,3vw,34px);right:clamp(14px,3vw,34px)}.ai-chat-toggle{color:#f7f7f4;background:#1d1d20;border-color:#29d79f61;min-width:58px;min-height:48px;box-shadow:0 18px 36px #00000057}.ai-chat-panel{background:#171719;border:1px solid #ffffff1f;border-radius:8px;width:min(420px,100vw - 28px);padding:14px;box-shadow:0 24px 70px #0000007a}.ai-chat-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ai-chat-close{min-width:38px;min-height:38px;padding:0}.ai-chat-messages{gap:8px;max-height:260px;margin-bottom:12px;display:grid;overflow:auto}.ai-message{color:#d9d9d5;overflow-wrap:anywhere;background:#101011;border-radius:8px;width:fit-content;max-width:88%;margin-bottom:0;padding:10px 12px}.ai-message.user{color:#08110d;background:#29d79f;justify-self:end}.ai-message.assistant{justify-self:start}.ai-chat-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.ai-chat-form button{color:#080809;white-space:nowrap;background:#f0f0eb;border-radius:6px;min-height:46px;padding:0 14px;font-weight:800}@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}.header-user-actions{justify-content:space-between;align-items:stretch}.user-profile{max-width:none}.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}.ai-chat{max-width:none;bottom:14px;left:14px;right:14px}.ai-chat-panel{width:100%}.ai-chat-form{grid-template-columns:1fr}}.logout-button{min-width:76px}.auth-shell{background:#171719;border:1px solid #ffffff1a;border-radius:8px;width:min(520px,100vw - 32px);margin:auto;padding:28px;box-shadow:0 24px 70px #0000006b}.auth-shell p{color:#d9d9d5}.auth-shell ul{color:#d9d9d5;gap:8px;margin:16px 0 0;padding-left:20px;display:grid}.auth-shell button{color:#080809;background:#f0f0eb;border-radius:6px;min-height:44px;padding:0 16px;font-weight:800}.auth-shell .google-login-button{color:#9aa0a6;white-space:nowrap;background:#171719;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:9px;width:max-content;min-width:177px;min-height:40px;padding:0 14px;font-size:.95rem;font-weight:500;line-height:1;display:inline-flex}.auth-shell .google-login-button:hover{color:#c7cbd1;background:#1d1d20;border-color:#ffffff29}.auth-shell .google-login-button:focus-visible{outline-offset:3px;outline:2px solid #8ab4f8cc}.google-login-icon{flex:none;width:18px;height:18px}.auth-error{color:#ff8aa3;margin:14px 0 0;font-weight:700}
