:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f5f1e8;--paper-soft:#fcfaf4;--surface:#fffffbe0;--surface-strong:#fffdfa;--surface-muted:#faf6eee6;--ink:#2f3531;--muted:#657068;--quiet:#98a197;--line:#98a19647;--line-strong:#8a97846b;--sage:#8fa981;--sage-deep:#6b8761;--clay:#c98367;--sand:#d6bf8f;--water:#78909b;--danger:#b86157;--shadow-soft:0 12px 34px #3a3f3814;--shadow-lift:0 18px 50px #3a3f381f;--shadow-card:0 1px 0 #3a3f380a, 0 10px 24px #3a3f380d;--sans:"Manrope", "Inter", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--paper)}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 14% 10%,#8fa9811c,#0000 24%),radial-gradient(circle at 86% 8%,#c9836714,#0000 22%),linear-gradient(#f8f4eb 0%,#f4efe5 48%,#f2ecdf 100%);margin:0;overflow-x:hidden}body,input,textarea,select,button{font:inherit}button,input,textarea,select{font-family:var(--sans);color:inherit}button{appearance:none}button,input,textarea,select{transition:border-color .16s,background-color .16s,box-shadow .16s,color .16s,transform .16s,opacity .16s}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb, var(--sage) 40%, white);outline-offset:2px}#root{min-height:100svh}.app-shell{min-height:100svh;padding:clamp(18px,2.8vw,34px)}.app-header,.board-stage{width:min(100%,1200px);margin-inline:auto}.app-header{grid-template-columns:minmax(280px,1fr) auto;align-items:start;gap:clamp(18px,2vw,26px);margin-bottom:clamp(18px,2.4vw,28px);display:grid}.title-block{align-items:center;gap:0;min-width:0;min-height:76px;display:flex;position:relative}.brand-emblem{width:82px;height:54px;box-shadow:none;filter:drop-shadow(0 9px 18px #3c433914);transform-origin:0;background:0 0;border:0;border-radius:0;flex:none;display:block;overflow:visible}.brand-emblem img{object-fit:contain;width:100%;height:100%;display:block;transform:translateZ(0)}.title-block.is-celebrating .brand-emblem{filter:drop-shadow(0 10px 20px #6080581f)}.title-block.is-celebrating .brand-emblem img{animation:.52s kaeru-smile-flash}.done-reaction{z-index:2;pointer-events:none;width:104px;height:74px;position:absolute;top:2px;left:-2px}.done-spark{opacity:0;width:10px;height:10px;animation:.62s ease-out forwards done-sparkle;position:absolute}.done-spark:before,.done-spark:after{content:"";background:color-mix(in srgb, var(--sage) 76%, white);border-radius:999px;margin:auto;position:absolute;inset:0;box-shadow:0 0 0 2px #fffffae0}.done-spark:before{width:10px;height:2px}.done-spark:after{width:2px;height:10px}.done-spark-a{animation-delay:0s;top:8px;left:8px}.done-spark-b{animation-delay:80ms;top:0;left:26px}.done-spark-c{animation-delay:40ms;top:6px;right:22px}.done-spark-d{animation-delay:.12s;top:24px;right:4px}.done-spark-e{animation-delay:.1s;bottom:6px;left:18px}.done-spark-f{animation-delay:.16s;bottom:2px;right:24px}@keyframes kaeru-smile-flash{0%{transform:translateY(0)rotate(0)}30%{transform:translateY(-1px)rotate(-1.8deg)}68%{transform:translateY(0)rotate(1.8deg)}to{transform:translateY(0)rotate(0)}}@keyframes done-sparkle{0%{opacity:0;transform:scale(.35)rotate(0)}18%{opacity:1;transform:scale(1.08)rotate(18deg)}72%{opacity:1;transform:scale(.92)rotate(38deg)}to{opacity:0;transform:scale(.4)rotate(54deg)}}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.header-menu,.column-menu{position:relative}.header-menu>summary,.column-menu>summary{list-style:none}.header-menu>summary::-webkit-details-marker{display:none}.column-menu>summary::-webkit-details-marker{display:none}.header-menu-panel,.column-menu-panel{z-index:15;width:min(320px,80vw);min-width:184px;max-height:60vh;box-shadow:var(--shadow-lift);background:#fffffcfa;border:1px solid #8f97893d;border-radius:14px;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.column-menu-panel{width:184px;max-height:none;right:-2px;overflow:visible}.header-menu:not([open]) .header-menu-panel,.column-menu:not([open]) .column-menu-panel{display:none}.menu-item{width:100%;min-height:34px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.menu-item:hover{color:var(--ink);background:#8fa98114}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:#b8615714}.menu-section{border-top:1px solid #8f978929;gap:8px;margin-top:6px;padding-top:10px;display:grid}.menu-section-title{color:var(--quiet);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.archive-list{gap:6px;display:grid}.archive-item{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:#fffffbad;border:1px solid #8f97892e;border-radius:10px;gap:2px;padding:8px 10px;display:grid}.archive-item:hover{color:var(--ink);background:#8fa98114;border-color:#8fa98157}.archive-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.archive-item-meta,.menu-empty{color:var(--quiet);font-size:10px;font-weight:600}.menu-empty{margin:0}.icon-button,.text-button{border:1px solid var(--line);min-width:38px;height:38px;color:var(--muted);cursor:pointer;background:#fffffbc7;border-radius:12px;justify-content:center;align-items:center;gap:7px;display:inline-flex;box-shadow:inset 0 1px #fffc}.icon-button:hover,.text-button:hover{border-color:var(--line-strong);background:var(--surface-strong);color:var(--ink);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.icon-button:active,.text-button:active{box-shadow:none;transform:translateY(0)}.icon-button:disabled,.text-button:disabled{cursor:default;opacity:.32;box-shadow:none;transform:none}.icon-button.subtle{width:30px;min-width:30px;height:30px;box-shadow:none;background:0 0;border-color:#0000}.icon-button.subtle:hover{box-shadow:none;background:#fffffbc2}.icon-button.filled,.text-button.primary{border-color:var(--sage);color:#fff;background:linear-gradient(#96b089,#8ba57d)}.text-button{min-width:auto;padding:0 15px;font-size:13px;font-weight:600}.text-button.danger{color:var(--danger);border-color:#b8615747}.text-button.danger:hover{background:#b8615714;border-color:#b8615761}.board-stage{gap:10px;min-width:0;display:grid}.auth-shell{place-items:center;min-height:100svh;padding:20px;display:grid}.auth-layout{width:min(100%,1040px);box-shadow:var(--shadow-lift);background:#fffffcb3;border:1px solid #8f97892e;border-radius:30px;grid-template-columns:minmax(260px,1.04fr) minmax(300px,390px);align-items:stretch;display:grid;overflow:hidden}.auth-visual{background:radial-gradient(circle at 18% 18%,#8fa9811c,#0000 28%),linear-gradient(#fffffec2,#f5f1e880);place-items:center;min-height:640px;padding:28px;display:grid}.auth-illustration{object-fit:contain;width:min(100%,720px);height:auto}.auth-panel{align-content:center;gap:14px;min-height:640px;padding:34px 36px;display:grid}.auth-panel.is-loading{justify-items:center;width:auto;padding:22px 26px}.auth-copy{gap:6px;margin-bottom:4px;display:grid}.auth-copy h1,.auth-copy p,.auth-error{margin:0}.auth-copy h1{color:var(--ink);font-size:23px;font-weight:500;line-height:1.25}.auth-copy p{color:var(--muted);font-size:13px;line-height:1.55}.auth-panel label{color:var(--muted);gap:7px;font-size:12px;font-weight:600;display:grid}.auth-note{color:var(--muted);gap:8px;font-size:12px;font-weight:600;display:grid}.auth-link,.auth-link-fallback{color:var(--sage-deep);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:500;line-height:1.55}.auth-link{text-decoration-color:#6b87614d}.auth-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-error{color:var(--danger);background:#b8615712;border:1px solid #b861572e;border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.45}.auth-submit{justify-self:start;margin-top:2px}.auth-loading{color:var(--muted);margin:0;font-size:13px;font-weight:600}.auth-switch{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.5}.auth-switch-button{color:var(--sage-deep);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0;font-weight:600}.auth-switch-button:hover{color:var(--ink)}.column-create{background:#fffffc9e;border:1px solid #8f978938;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid;box-shadow:0 10px 28px #3a3f380d}.column-create-actions{align-items:center;gap:8px;display:flex}.pomodoro-panel{justify-content:flex-end;gap:12px;margin-bottom:10px;display:flex}.pomodoro-panel.is-open{background:#fffffc9e;border:1px solid #8f97893d;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:10px 12px;display:grid;box-shadow:0 10px 28px #3a3f380d}.pomodoro-toggle{min-height:36px;color:var(--muted);cursor:pointer;background:#fffffb85;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.pomodoro-toggle:hover,.pomodoro-toggle.is-active{color:var(--sage-deep);background:#8fa9811f;border-color:#8fa98157}.pomodoro-controls{grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:12px;min-width:0;display:grid}.pomodoro-time{align-items:baseline;gap:10px;min-width:0;display:flex}.pomodoro-clock{color:var(--ink);letter-spacing:0;font-size:23px;font-weight:500}.pomodoro-task{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.pomodoro-total{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.pomodoro-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.pomodoro-complete{height:36px;color:var(--sage-deep);background:#8fa9811a;border-color:#8fa98157}.pomodoro-stop-alert{height:36px;color:var(--water);background:#79909b14;border-color:#79909b47}.board-shell{box-shadow:var(--shadow-lift);background:#fffffcb3;border:1px solid #8f978947;border-radius:24px;overflow:hidden}.board{scrollbar-gutter:stable;grid-auto-columns:minmax(290px,328px);grid-auto-flow:column;justify-content:start;align-items:stretch;width:100%;min-height:min(66vh,690px);display:grid;overflow-x:auto}.board::-webkit-scrollbar{height:10px}.board::-webkit-scrollbar-track{background:0 0}.board::-webkit-scrollbar-thumb{background:#97a09580 padding-box padding-box;border:3px solid #0000;border-radius:999px}.kanban-column{background:linear-gradient(#fffffb38,#f8f3eb24),linear-gradient(#ffffff38,#fff0);border-right:1px solid #8f97892e;flex-direction:column;min-height:min(66vh,690px);padding:18px 16px 16px;transition:background-color .16s,box-shadow .16s,transform .16s;display:flex}.kanban-column:hover{background:linear-gradient(#fffffb4d,#f8f3eb2e),linear-gradient(#ffffff40,#fff0)}.kanban-column:last-child{border-right:0}.kanban-column.is-drag-target{background:linear-gradient(#8fa9811f,#fffffb29),linear-gradient(#ffffff2e,#fff0);box-shadow:inset 0 0 0 1px #8fa9812e}.kanban-column.is-dragging-column{opacity:.7}.column-header{cursor:grab;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:28px;margin-bottom:16px;display:grid}.column-title{min-width:0;color:var(--ink);cursor:inherit;text-align:left;text-overflow:ellipsis;text-transform:none;white-space:normal;background:0 0;border:0;align-items:baseline;gap:8px;padding:0;font-size:14px;font-weight:600;display:flex;overflow:hidden}.column-title-main{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.column-title-meta{color:var(--quiet);flex:none;align-items:center;gap:6px;font-size:11px;font-weight:500;display:inline-flex}.column-pomodoro-total{color:color-mix(in srgb, var(--clay) 70%, var(--muted));align-items:center;gap:3px;display:inline-flex}.form-field,.column-title-input,.column-create input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffffbeb;border-radius:16px;outline:none}.column-title-input{min-width:0;padding:7px 10px;font-size:12px;font-weight:600}.form-field{min-height:46px;padding:0 14px;font-size:14px;font-weight:400;box-shadow:inset 0 1px #ffffffc7}.form-field-textarea{resize:vertical;min-height:120px;padding:12px 14px}.form-field:focus-visible{border-color:var(--line-strong)}.column-tools{align-items:center;gap:2px;display:flex}.card-stack{align-content:start;gap:12px;display:grid}.kanban-card{width:100%;min-height:94px;box-shadow:var(--shadow-card);cursor:grab;color:var(--ink);text-align:left;background:#fffffbd6;border:1px solid #8f978942;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px 15px;display:grid;position:relative;transform:translateY(0)}.kanban-card:hover{background:var(--surface-strong);border-color:#8fa9816b;transform:translateY(-1px);box-shadow:0 14px 30px #3a3f3814}.kanban-card:focus-visible{outline:2px solid color-mix(in srgb, var(--sage) 38%, white);outline-offset:2px}.kanban-card:active{cursor:grabbing}.kanban-card.is-dragging{opacity:.58;transform:scale(.985)rotate(-.5deg);box-shadow:0 18px 36px #3a3f381f}.kanban-card.is-done{background:#fbf9f3cc;border-color:#8f978938}.kanban-card.has-pomodoro-work{background:linear-gradient(#8fa98112,#fffffbd1),#fffffbd6;border-color:#8fa98170}.kanban-card.is-pomodoro-muted{opacity:.72}.kanban-card.is-pomodoro-active{box-shadow:0 0 0 2px #8fa98129, var(--shadow-card);border-color:#6b876194}.kanban-card.is-pomodoro-selectable{cursor:pointer}.kanban-card.is-pomodoro-complete .card-pomodoro-button{color:var(--sage-deep)}.card-drag-handle{z-index:1;color:var(--quiet);opacity:0;place-self:start end;margin-top:15px;margin-right:4px;line-height:1;transition:opacity .16s;position:relative}.kanban-card:hover .card-drag-handle,.kanban-card:focus-visible .card-drag-handle{opacity:.28}.card-copy{z-index:1;align-content:center;gap:9px;min-width:0;display:grid;position:relative}.card-title{color:var(--ink);font-size:15px;font-weight:500;line-height:1.45}.kanban-card.is-done .card-title{-webkit-text-decoration:line-through #5c665d9e;text-decoration:line-through #5c665d9e;text-decoration-thickness:1.5px}.kanban-card.is-done .card-copy{opacity:.74}.card-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.card-pomodoro-button{min-height:28px;color:var(--quiet);cursor:pointer;background:#fffffb8f;border:1px solid #8f978933;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.card-pomodoro-button:hover,.card-pomodoro-button.has-estimate{color:color-mix(in srgb, var(--clay) 62%, var(--sage-deep));background:#8fa9811a;border-color:#8fa98152}.kanban-card.is-done .card-pomodoro-button{text-decoration:none}.pomodoro-popover{z-index:2;cursor:default;background:#fffffc94;border:1px solid #8f978933;border-radius:14px;grid-column:1/-1;gap:8px;width:100%;margin-top:2px;padding:10px;display:grid;position:relative;box-shadow:inset 0 1px #ffffffc7}.pomodoro-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.pomodoro-options button,.pomodoro-custom button{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;background:#fffffbb8;border-radius:10px;font-size:12px;font-weight:600}.pomodoro-options button:hover,.pomodoro-options button.is-selected,.pomodoro-custom button:hover{color:var(--sage-deep);background:#8fa9811a;border-color:#8fa9815c}.pomodoro-custom{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.pomodoro-custom input{border:1px solid var(--line);min-width:0;min-height:32px;color:var(--ink);background:#fffffbd1;border-radius:10px;outline:none;padding:0 9px;font-size:12px}.pomodoro-custom input:focus-visible{border-color:var(--line-strong)}.pomodoro-custom button{padding:0 10px}.project-pill{white-space:nowrap;background:color-mix(in srgb, var(--project-color) 16%, transparent);max-width:100%;color:var(--project-color);text-overflow:ellipsis;border-radius:999px;padding:6px 11px;font-size:11.5px;font-weight:600;line-height:1.15;overflow:hidden}.add-card-button{width:100%;color:var(--muted);cursor:pointer;background:#fffffb73;border:1px dashed #8f97895c;border-radius:14px;align-items:center;gap:8px;margin-top:12px;padding:11px 12px;font-size:13px;font-weight:600;display:flex}.add-card-button:hover{color:var(--sage-deep);background:#8fa98114;border-color:#8fa98185;transform:translateY(-1px)}.card-composer{gap:10px;margin-top:12px;display:grid}.composer-actions{align-items:center;gap:8px;display:flex}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2e322d47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.card-editor{background:#fffffcf5;border:1px solid #8f978942;border-radius:22px;gap:14px;width:min(560px,100%);padding:18px;display:grid;box-shadow:0 24px 72px #2226222e}.editor-topbar,.editor-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-topbar{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}.card-editor label{color:var(--muted);gap:6px;font-size:12px;font-weight:600;display:grid}.project-section{border-top:1px solid #8f978933;border-bottom:1px solid #8f978933;gap:10px;padding:14px 0;display:grid}.project-remove{min-width:0;height:auto;box-shadow:none;background:0 0;border:0;justify-self:start;margin-top:-2px;padding-inline:0}.project-remove:hover{box-shadow:none;color:var(--danger);background:0 0;transform:none}.empty-state{min-height:min(58vh,560px);color:var(--muted);text-align:center;box-shadow:var(--shadow-soft);background:#fffffba8;border:1px solid #8f978947;border-radius:22px;align-content:center;place-items:center;gap:18px;display:grid}.empty-state h2{color:var(--ink);font-family:var(--sans);margin:0;font-size:24px;font-weight:500}@media (width<=840px){.app-header{grid-template-columns:1fr}.header-actions{justify-content:flex-start}.auth-layout{grid-template-columns:1fr;width:min(100%,520px)}.auth-visual{min-height:280px;padding:18px 18px 4px}.auth-panel{min-height:auto;padding-top:18px}}@media (width<=760px){.app-shell{padding:16px}.auth-shell{padding:14px}.auth-layout{border-radius:24px}.auth-visual{min-height:220px;padding:14px 14px 0}.auth-panel{padding:20px 18px 22px}.title-block{align-items:flex-start}.brand-emblem{width:74px;height:50px}.board-shell{border-radius:22px}.pomodoro-panel,.pomodoro-panel.is-open{grid-template-columns:1fr;justify-content:stretch;display:grid}.pomodoro-toggle{justify-self:start}.pomodoro-controls{grid-template-columns:1fr;align-items:stretch}.pomodoro-actions{flex-wrap:wrap;justify-content:flex-start}.board{grid-auto-columns:minmax(260px,84vw);min-height:540px}.kanban-column{min-height:540px}}
