:root{--bg-page: #F4F3EE;--bg-surface: #FFFFFF;--bg-subtle: #F3F3F0;--text-primary: #101010;--text-secondary: #737373;--text-muted: #737373;--border-subtle: #DEDED8;--border-strong: #101010;--accent: #E60033;--accent-hover: #BC0029;--accent-soft: #FFF0F2;--success: #246B48;--success-soft: #EAF5EE;--warning: #FF6A1A;--danger: #B60028;--danger-soft: #FFF0F2;--radius-sm: 3px;--radius-md: 3px;--radius-lg: 3px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-display: Impact, "Arial Narrow", "Helvetica Neue", var(--font-sans);font-family:var(--font-sans);font-size:14px;color:var(--text-primary);background-color:var(--bg-page);font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background-color:var(--bg-page);background-image:radial-gradient(circle,#DDDDD5 1px,transparent 1px);background-size:20px 20px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}button,input,select,a{transition:background-color .16s ease,border-color .16s ease,color .16s ease}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.muted{color:var(--text-secondary);line-height:1.65}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.3px;color:var(--text-secondary);text-transform:uppercase}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-icon{width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--text-primary);background:var(--text-primary);color:#fff;font-size:23px;flex-shrink:0;border-radius:2px}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{font-size:22px;font-weight:900;letter-spacing:-.8px}.brand-copy small{font-size:11px;color:var(--text-secondary)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:2px solid var(--text-primary);border-radius:3px;padding:11px 16px;font-size:12px;font-weight:800;line-height:1.4;letter-spacing:.3px;text-transform:uppercase}.primary{background:var(--text-primary);color:#fff}.secondary{background:#fff;color:var(--text-primary)}.primary:active{background:#333}.secondary:active{background:var(--bg-subtle)}.wide{width:100%;margin-top:24px}.text-button{min-height:44px;padding:8px;border:0;background:transparent;color:var(--text-primary);font-weight:700;text-decoration:underline;text-underline-offset:4px;border-radius:2px}.alert,.success{padding:14px 16px;border:1px solid currentColor;border-radius:2px;line-height:1.6;font-size:13px;overflow-wrap:anywhere}.alert{color:var(--danger);background:var(--danger-soft)}.success{color:var(--success);background:var(--success-soft)}label:not(.toggle){display:block;margin:24px 0 8px;font-size:13px;font-weight:700}input:not([type=checkbox]),select{width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--text-primary);border-radius:2px;background:#fff;color:var(--text-primary)}input::placeholder{color:var(--text-secondary);opacity:1}input:not([type=checkbox]):focus,select:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--text-primary)}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}small.muted{display:block;margin-top:8px;font-size:12px}.loading{display:grid;place-items:center;min-height:100vh;padding:24px;color:var(--text-secondary)}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:32px 16px}.auth-brand{width:100%;max-width:460px}.auth-card,.stats,.task-panel,.dialog{border:2px solid var(--text-primary);border-top:8px solid var(--accent);background:#fff;border-radius:2px}.auth-card{width:100%;max-width:460px;padding:30px 24px}.auth-card h1{font-size:30px;font-weight:900;line-height:1.15;letter-spacing:-.7px;text-transform:uppercase;margin:14px 0}.auth-card>.muted{font-size:13px;margin-bottom:24px}.switch-auth{font-size:13px;color:var(--text-secondary);text-align:center;margin:22px 0 0}.privacy,.local-note{display:inline-flex;align-items:center;gap:8px;font-size:11px;line-height:1.6;color:var(--text-secondary)}.privacy{margin:0;text-align:center}.dot{width:5px;height:5px;border-radius:50%;background:var(--text-secondary);flex-shrink:0}.workspace{min-height:100vh}.topbar{background:#fff;border-bottom:2px solid var(--text-primary)}.header-inner{max-width:1244px;padding:16px;margin:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.account{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}.account-name{min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:700}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border:2px solid var(--text-primary);border-radius:50%;background:#fff;color:var(--text-primary);font-size:11px;font-weight:800;flex-shrink:0}.avatar.small{width:24px;height:24px;border-width:1px;font-size:9px}.logout-button{flex-shrink:0}.board{max-width:1244px;padding:32px 16px 48px;margin:0 auto}.page-heading{display:flex;flex-direction:column;gap:22px;margin-bottom:28px}.heading-copy{min-width:0}.page-heading h1{font-size:clamp(36px,5vw,58px);font-weight:900;line-height:1;letter-spacing:-1.7px;margin:14px 0}.page-heading .muted{font-size:13px;margin:0}.heading-actions{display:flex;flex-direction:column;gap:14px;align-items:stretch}.toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--text-primary);cursor:pointer;font-size:13px}.toggle input{width:18px;height:18px;margin:0;accent-color:var(--text-primary);flex-shrink:0}.create-button{width:100%}.create-button>span{font-size:22px;line-height:1}.board-alert{margin-bottom:24px}.stats{padding:24px;margin-bottom:28px}.stats-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:20px;border-bottom:2px solid var(--text-primary)}.stats-heading h2{font-size:18px;font-weight:900;letter-spacing:-.3px;margin:0}.stats-heading>span{font-size:12px;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:1fr}.stats-grid article{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-width:0;padding:22px 0}.stats-grid article+article{border-top:1px solid var(--border-subtle)}.stats-grid strong{font-family:var(--font-display);font-size:64px;font-weight:900;line-height:1.05;letter-spacing:-1.5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.stats-grid article>span{font-size:12px;letter-spacing:.8px;line-height:1.5;color:var(--text-secondary)}.completed-stat strong{color:var(--warning)}.expired-stat strong{color:var(--accent)}.task-panel{min-width:0}.panel-title{padding:24px 22px 0}.panel-title h2{margin:0;font-size:clamp(22px,3vw,32px);font-weight:900;letter-spacing:-.7px}.panel-toolbar{display:flex;flex-direction:column;gap:12px;padding:20px 22px;border-bottom:2px solid var(--text-primary)}.tabs{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tabs button{min-height:44px;padding:9px 12px;border:1px solid var(--border-subtle);border-radius:2px;background:#fff;color:var(--text-secondary);font-size:12px;font-weight:600}.tabs button.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.list-count{font-size:12px;color:var(--text-secondary)}.task-list{display:flex;flex-direction:column}.task-row{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:20px;min-width:0;padding:24px 22px;background:#fff}.task-row+.task-row{border-top:1px solid var(--border-subtle)}.task-row.overdue:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--accent)}.task-row:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.task-content{min-width:0;flex:1}.task-title-line{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.task-id{flex-shrink:0;font-size:11px;letter-spacing:.5px;color:var(--text-secondary)}.task-title-line h2{font-size:16px;font-weight:700;line-height:1.5;margin:0;overflow-wrap:anywhere}.task-meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;margin-top:14px}.owner{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;font-size:12px;color:var(--text-secondary)}.owner>span:last-child{min-width:0;overflow-wrap:anywhere}.meta-label,.deadline{font-size:12px;color:var(--text-secondary);line-height:1.6}.deadline.late,.deadline.late .meta-label{color:var(--danger)}.task-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.badge{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:2px;padding:6px 9px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}.status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;background:currentColor}.badge.active{border-color:var(--text-primary);background:#fff;color:var(--text-primary)}.badge.done{background:var(--success-soft);color:var(--success)}.badge.canceled{background:#eeeeeb;color:#606060}.badge.expired{background:var(--danger-soft);color:var(--danger)}.edit-button{min-height:44px;font-size:11px;padding:9px 12px}.edit-button>span{font-size:16px}.readonly{color:var(--text-secondary);font-size:11px;padding:10px 0}.panel-footer{display:flex;flex-direction:column;gap:10px;padding:18px 22px;border-top:1px solid var(--border-subtle);font-size:11px;line-height:1.6;color:var(--text-secondary)}.empty-state{text-align:center;padding:48px 24px}.empty-icon{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 20px;border:2px solid var(--text-primary);font-size:23px}.empty-state h2{font-size:20px;font-weight:800;line-height:1.4;margin-bottom:12px}.empty-state p{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:#10101059;padding:16px}.dialog{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:30px 24px}.dialog>.eyebrow{display:block;padding-right:40px}.dialog h2{font-size:28px;font-weight:900;line-height:1.15;letter-spacing:-.5px;text-transform:uppercase;margin:14px 0}.dialog>.muted{font-size:13px;margin-bottom:20px}.close-button{position:absolute;top:12px;right:12px;width:44px;height:44px;background:#fff;border:1px solid var(--border-subtle);border-radius:2px;color:var(--text-primary);font-size:28px}.dialog-actions{display:flex;flex-direction:column-reverse;gap:10px;border-top:1px solid var(--border-subtle);margin-top:28px;padding-top:24px}.dialog-actions button{width:100%}@media(min-width:540px){.auth-card{padding:38px}.heading-actions{flex-direction:row;align-items:center;justify-content:space-between}.create-button{width:auto}.stats{padding:28px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.stats-grid article{flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:10px 18px 14px;gap:14px}.stats-grid article:first-child{padding-left:0}.stats-grid article:last-child{padding-right:0}.stats-grid article+article{border-top:0;border-left:1px solid var(--border-subtle)}.stats-grid strong{font-size:clamp(58px,8vw,88px)}.task-title-line{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:12px}.task-title-line h2{flex:1;min-width:120px}.task-meta{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px 22px}.panel-toolbar{flex-direction:row;align-items:center;justify-content:space-between}.dialog{padding:36px}.dialog-actions{flex-direction:row;justify-content:flex-end}.dialog-actions button{width:auto}}@media(min-width:768px){.header-inner{padding:16px 24px}.board{padding:40px 24px 60px}.stats{padding:32px}.stats-grid article{padding:12px 32px 16px}.stats-grid article>span{font-size:14px}.panel-title{padding:28px 28px 0}.panel-toolbar{padding:20px 28px}.task-row{flex-direction:row;align-items:center;gap:24px;padding:26px 28px}.task-actions{flex-shrink:0;justify-content:flex-end;gap:16px}.task-actions>:last-child{min-width:132px;text-align:center}.panel-footer{flex-direction:row;justify-content:space-between;align-items:center;padding:18px 28px}}@media(min-width:1100px){.header-inner{padding-right:32px;padding-left:32px}.board{padding:48px 32px 72px}.page-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:28px}.heading-actions{flex-shrink:0;gap:24px}.stats-grid strong{font-size:96px}}@media(hover:hover)and (pointer:fine){.primary:not(:disabled):hover{background:#333}.secondary:not(:disabled):hover,.close-button:not(:disabled):hover{background:var(--bg-subtle)}.text-button:hover{color:var(--danger)}.tabs button:not(.active):hover{color:var(--text-primary);border-color:var(--text-primary)}.task-row:hover{background:#fafaf7}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.list-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:20px 22px 0}.list-controls:focus{outline:2px solid var(--accent);outline-offset:-4px}.list-controls label{margin:0 0 8px}.search-control,.sort-control{min-width:0}.search-input-wrap{position:relative}.search-input-wrap input{padding-right:48px}.search-input-wrap input::-webkit-search-cancel-button{-webkit-appearance:none}.search-clear{position:absolute;top:1px;right:1px;width:44px;height:calc(100% - 2px);min-height:44px;border:0;background:#fff;color:var(--text-primary);font-size:24px}.task-notice{margin:0;padding:14px 22px;border-bottom:1px solid var(--border-subtle);color:var(--success);background:var(--success-soft);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.complete-button{min-height:44px;font-size:11px;padding:9px 12px}.complete-button>span{font-size:16px}@media(min-width:640px){.list-controls{grid-template-columns:minmax(0,1fr) minmax(240px,.65fr)}}@media(min-width:768px){.list-controls{padding:24px 28px 0}.task-actions{gap:10px}}@media(min-width:768px)and (max-width:979px){.task-row{flex-wrap:wrap}.task-content{flex-basis:100%}.task-actions{flex:1;justify-content:flex-start}}@media(hover:hover)and (pointer:fine){.complete-button:not(:disabled):hover{color:var(--success);border-color:var(--success);background:var(--success-soft)}.search-clear:hover{background:var(--bg-subtle)}}
