:root{--canvas:#f5f5f5;--dot:#d0d0d0;--ink:#1e1e1e;--muted:#6b6b6b;--accent:#0d99ff;--danger:#e03e3e}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background-color:var(--canvas);background-image:radial-gradient(var(--dot) 1px, transparent 1px);background-size:20px 20px;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif}main{max-width:64rem;margin:0 auto;padding:2rem 1rem 4rem}h1{margin:0 0 1rem;font-size:1.5rem}header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}header h1{margin:0}#account{color:var(--muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.google{background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .8rem;font-weight:500;display:flex;box-shadow:0 1px 3px #0000001f}.google:hover{background:#fff;box-shadow:0 2px 8px #0000002e}.deadline{align-items:center;margin-right:auto;display:flex;position:relative}.due{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0}.due-label{white-space:nowrap;color:var(--muted);background:0 0;padding:.2rem .3rem;font-size:.8rem}.due-label:hover{color:var(--ink);background:0 0}.due-label.overdue{color:var(--danger);font-weight:600}.due-label.soon{color:#b45309;font-weight:600}button{font:inherit;cursor:pointer;color:var(--ink);background:#ffffffa6;border:none;border-radius:8px;padding:.4rem .7rem;font-size:.85rem}button:hover{background:#fff}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#error{min-height:1.4em;color:var(--danger);margin:0 0 1.25rem;font-size:.9rem}#list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.note{border-radius:4px;flex-direction:column;gap:.75rem;min-height:200px;padding:1rem;transition:transform .15s,box-shadow .15s;display:flex;transform:rotate(-1deg);box-shadow:0 1px 2px #00000014,0 6px 14px #0000001a}.note:nth-child(2n){transform:rotate(1deg)}.note:hover,.note:focus-within{transform:translateY(-3px);box-shadow:0 2px 4px #00000014,0 14px 28px #00000024}.yellow{background:#ffe8a3}.pink{background:#ffc7dc}.green{background:#c6f0c2}.blue{background:#bfe3ff}.purple{background:#e2ccff}.title{overflow-wrap:anywhere;cursor:text;border-radius:4px;flex:1;margin:-.25rem;padding:.25rem;font-size:1.1rem;line-height:1.4}.title:focus{outline:none}.title:empty:before{content:attr(data-placeholder);color:var(--muted)}.icon{width:32px;height:32px;color:var(--muted);background:0 0;place-items:center;padding:0;transition:transform .15s,color .15s;display:grid}.icon:hover{color:var(--danger);background:0 0;transform:scale(1.15)}.tick:hover{color:#1f9d55}.pick:hover{color:var(--accent)}.undo:hover{color:var(--danger)}.hint{color:var(--muted);margin:0;font-size:.75rem}.done{opacity:.6}.done .title{text-decoration:line-through}.actions{justify-content:flex-end;gap:.4rem;margin-top:auto;display:flex}.add-tile{border:2px dashed var(--dot);min-height:200px;color:var(--muted);border-radius:4px;place-content:center;justify-items:center;gap:.25rem;transition:border-color .15s,color .15s,background .15s;display:grid}.add-tile:hover{border-color:var(--accent);color:var(--accent);background:#0d99ff0d}.add-tile p{margin:0;font-size:.9rem}.plus{width:64px;height:64px;color:inherit;background:0 0;border-radius:50%;font-size:2.25rem;line-height:1;transition:transform .15s,background .15s,box-shadow .15s}.add-tile:hover .plus{background:#fff;transform:scale(1.1);box-shadow:0 2px 8px #0000001f}#chat-toggle{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:56px;height:56px;transition:transform .15s;display:grid;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 2px 6px #00000026,0 8px 20px #0d99ff4d}#chat-toggle:hover{background:var(--accent);transform:scale(1.08)}#chat{visibility:hidden;background:#fff;flex-direction:column;width:min(360px,100vw);transition:transform .2s,visibility .2s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}#chat.open{visibility:visible;transform:none}#chat header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}#chat h2{margin:0;font-size:1rem}.chat-close{background:0 0;font-size:1.3rem;line-height:1}.chat-close:hover{background:#f0f0f0}.chat-log{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.bubble{overflow-wrap:anywhere;border-radius:12px;max-width:85%;padding:.5rem .75rem;font-size:.9rem;line-height:1.4}.bubble.user{color:#fff;background:var(--accent);align-self:flex-end}.bubble.assistant{background:#f0f0f0;align-self:flex-start}.bubble.action,.bubble.error,.bubble.pending{align-self:flex-start;padding:.1rem .25rem;font-size:.8rem}.bubble.action{color:#1a7f37}.bubble.action:before{content:"✓ "}.bubble.action a{color:inherit;text-decoration:underline}.bubble.error{color:var(--danger)}.bubble.pending{color:var(--muted);font-style:italic}#chat form{background:#fff;border:1px solid #ddd;border-radius:18px;align-items:flex-end;gap:.5rem;margin:.75rem;padding:.5rem .5rem .5rem .9rem;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000f}#chat form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0d99ff26}#chat textarea{min-width:0;max-height:50vh;font:inherit;resize:none;background:0 0;border:none;outline:none;flex:1;padding:.3rem 0;line-height:1.45;overflow-y:auto}#chat .send{color:#fff;background:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;display:grid}#chat .mic{width:32px;height:32px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}#chat .mic[hidden]{display:none}#chat .mic:hover{color:var(--ink);background:#f0f0f0}#chat .mic:disabled{opacity:.4;cursor:default}#chat .mic.recording{color:#fff;background:var(--danger);animation:1.2s ease-in-out infinite listening}@keyframes listening{0%,to{box-shadow:0 0 #e03e3e73}50%{box-shadow:0 0 0 6px #e03e3e00}}#chat .send:disabled{cursor:default;background:#cfd8e3}#toasts{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;color:#fff;background:var(--ink);border-radius:10px;max-width:min(90vw,28rem);padding:.6rem 1rem;font-size:.9rem;animation:.2s toast-in;box-shadow:0 4px 16px #0000002e}.toast p{overflow-wrap:anywhere;margin:0}.toast a{color:inherit}.toast p+p{opacity:.8;margin-top:.2rem;font-size:.8rem}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.note[draggable=true]{cursor:grab}.note.dragging{opacity:.4}.note.drop-target{outline:2px dashed var(--accent);outline-offset:4px}.shared #chat-toggle,.shared #chat{display:none}
