:root{--navy-950:#0b1039;--navy-900:#11184b;--navy-800:#19225f;--turquoise:#2cc9c7;--turquoise-soft:#dff8f6;--violet:#845bd4;--amber:#d6a84f;--coral:#d9776a;--ink:#171b35;--muted:#73788d;--line:#e8eaf0;--surface:#fff;--canvas:#f5f7fa;--focus:0 0 0 3px #2cc9c742;--sidebar-width:260px;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus);outline:none}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;transition:grid-template-columns .22s var(--ease);display:grid}.app-shell.sidebar-compact{grid-template-columns:76px minmax(0,1fr)}.sidebar{background:var(--navy-900);color:#ffffffc2;z-index:20;flex-direction:column;height:100dvh;min-height:100dvh;padding:23px 14px 16px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;height:48px;margin:0 8px 30px;display:flex;position:relative;overflow:hidden}.brand-full{filter:brightness(0)invert();object-fit:contain;object-position:left center;opacity:.96;width:132px;height:auto}.brand-mark{border-radius:12px;width:40px;height:40px;display:none}.nav-section{margin-bottom:25px}.nav-label{color:#fff6;letter-spacing:.14em;text-transform:uppercase;padding:0 12px 9px;font-size:10px;font-weight:750;display:block}.nav-item{color:#ffffffad;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 11px;transition:background .16s,color .16s,transform .16s;display:flex}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item:active{transform:scale(.985)}.nav-item.active{color:#66e2dd;background:#2cc9c724;font-weight:650}.nav-item.important.active{color:#f0c66e;background:#d6a84f24}.nav-item.urgent.active{color:#ef9a8f;background:#d9776a24}.nav-item svg{flex:none}.nav-text{white-space:nowrap;font-size:14px;overflow:hidden}.nav-count{color:#ffffff6b;background:#ffffff0f;border-radius:12px;place-items:center;min-width:24px;height:23px;margin-left:auto;font-size:11px;font-weight:650;display:grid}.nav-heading{justify-content:space-between;align-items:center;min-height:28px;display:flex}.mini-button,.project-more{color:#fff6;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.mini-button{width:30px;height:30px}.mini-button:hover,.project-more:hover{color:#fff;background:#ffffff14}.project-nav-row{grid-template-columns:minmax(0,1fr) 30px;align-items:center;display:grid}.project-more{opacity:0;width:30px;height:30px}.project-nav-row:hover .project-more{opacity:1}.project-dot{border-radius:999px;flex:none;width:11px;height:11px;box-shadow:inset 0 0 0 1px #0000000d}.sidebar-footer{gap:8px;margin-top:auto;display:grid}.nav-kbd{color:#ffffff61;text-align:center;border:1px solid #ffffff21;border-radius:5px;min-width:24px;margin-left:auto;padding:2px 5px;font-size:11px}.local-mode-card{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff14;align-items:center;gap:9px;padding:12px 10px;display:flex}.local-mode-card:hover{background:#ffffff0a;border-radius:10px}.local-mode-card>span:last-child{min-width:0;display:grid}.local-mode-card strong{color:#fffc;white-space:nowrap;font-size:11px;font-weight:650}.local-mode-card small{color:#ffffff61;white-space:nowrap;margin-top:2px;font-size:10px}.local-mode-icon{width:28px;height:28px;color:var(--turquoise);background:#2cc9c726;border-radius:9px;flex:none;place-items:center;display:grid}.local-mode-icon.error{color:#ef9a8f;background:#d9776a24}.sidebar-toggle{width:27px;height:27px;color:var(--navy-900);border:1px solid var(--line);z-index:22;background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:81px;right:-13px;box-shadow:0 4px 14px #0b103924}.sidebar-toggle .flip{transform:rotate(180deg)}.sidebar-compact .sidebar{padding-inline:10px}.sidebar-compact .sidebar-brand{margin-inline:7px}.sidebar-compact .brand-full,.sidebar-compact .nav-text,.sidebar-compact .nav-count,.sidebar-compact .nav-kbd,.sidebar-compact .local-mode-card>span:last-child{display:none}.sidebar-compact .brand-mark{display:block}.sidebar-compact .nav-item{justify-content:center;padding:0}.sidebar-compact .nav-heading{justify-content:center}.sidebar-compact .project-nav-row{display:block}.sidebar-compact .project-nav-row .nav-item{min-height:39px}.sidebar-compact .project-nav-row .project-dot{width:13px;height:13px}.sidebar-compact .project-more{display:none}.sidebar-compact .local-mode-card{justify-content:center;padding-inline:0}.content{flex-direction:column;min-width:0;min-height:100dvh;padding:0 32px 24px;display:flex}.canvas{width:min(860px,100%);margin:0 auto;padding:72px 0 24px}.view-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:0 8px 31px;display:flex}.eyebrow{min-height:20px;color:var(--violet);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:750;display:flex}.view-header h1{letter-spacing:-.045em;color:var(--navy-900);margin:4px 0;font-size:clamp(34px,5vw,49px);line-height:1.05}.view-header p{color:var(--muted);margin:0;font-size:13px}.view-actions{gap:8px;display:flex}.icon-button{border:1px solid var(--line);color:#777c90;background:#ffffffc2;border-radius:13px;place-items:center;width:44px;height:44px;transition:all .16s;display:grid}.icon-button:hover{color:var(--navy-900);background:#fff;border-color:#dadde7;transform:translateY(-1px)}.header-dot{width:10px;height:10px}.list-area{background:var(--surface);border:1px solid #dfe2ebd1;border-radius:24px;padding:9px 12px 14px;overflow:hidden;box-shadow:0 18px 48px #19225f12}.item-group h2{color:#858a9b;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:8px;margin:0;padding:20px 13px 8px;font-size:10px;display:flex}.item-group h2 span{color:#9a9dac;background:#f0f1f5;border-radius:9px;place-items:center;min-width:19px;height:18px;padding:0 5px;font-size:10px;display:grid}.item-row{border-bottom:1px solid #f0f1f4;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;min-height:56px;padding:3px 5px 3px 8px;transition:all .16s;display:grid}.item-row:last-child{border-bottom-color:#0000}.item-row:hover{background:#f8fafb}.checkbox{color:#fff;width:23px;height:23px;transition:.18s var(--ease);background:#fff;border:1.6px solid #cdd1dc;border-radius:8px;place-items:center;padding:0;display:grid}.checkbox:hover{border-color:var(--turquoise);box-shadow:0 0 0 4px #2cc9c71a}.checkbox.checked{background:var(--turquoise);border-color:var(--turquoise)}.note-bullet{place-items:center;width:23px;height:23px;display:grid}.note-bullet span{background:var(--violet);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #845bd41a}.item-main{text-align:left;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:7px 8px;display:flex}.item-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:520;overflow:hidden}.item-meta{color:#9296a7;white-space:nowrap;align-items:center;gap:9px;margin-left:auto;font-size:11px;display:flex}.item-meta .project-dot{width:13px;height:13px}.type-label{color:var(--violet);background:#845bd414;border-radius:8px;padding:3px 7px}.due-overdue{color:var(--coral)}.item-flags{align-items:center;display:flex}.flag-button{color:#c7cad3;opacity:.25;background:0 0;border:0;border-radius:10px;place-items:center;width:36px;height:40px;transition:all .16s;display:grid}.item-row:hover .flag-button,.flag-button.selected{opacity:1}.flag-button.important:hover,.flag-button.important.selected{color:var(--amber)}.flag-button.important.selected svg{fill:currentColor}.flag-button.urgent:hover,.flag-button.urgent.selected{color:var(--coral)}.flag-button.urgent.selected svg{fill:currentColor}.is-complete .item-title{color:#9da1ae;text-decoration:line-through}.is-complete .item-main{opacity:.68}.quick-add-trigger{color:#8c91a2;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:11px;width:100%;min-height:54px;padding:0 12px;font-size:13px;display:flex}.quick-add-trigger span{background:var(--turquoise-soft);color:#1bb0ae;border-radius:9px;place-items:center;width:27px;height:27px;display:grid}.quick-add-trigger:hover{color:var(--navy-900);background:#f8fafb}.quick-add{border:1px solid #dfe2e9;border-radius:15px;margin:8px 2px 1px;padding:11px 13px 13px;box-shadow:0 8px 24px #19225f14}.type-switch{gap:4px;margin-bottom:8px;display:flex}.type-switch button{color:#8c91a0;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;height:31px;padding:0 9px;font-size:11px;font-weight:650;display:flex}.type-switch button.active{color:var(--navy-900);background:#eef1f6}.quick-add>input{width:100%;color:var(--ink);border:0;padding:7px 2px 13px;font-size:15px}.quick-add>input::placeholder{color:#b2b5c0}.quick-add-controls{align-items:center;gap:8px;display:flex}.quick-add-controls label{border:1px solid var(--line);color:#858a9b;border-radius:9px;align-items:center;gap:5px;min-height:35px;padding:0 8px;display:flex}.quick-add-controls input,.quick-add-controls select{color:#73788b;background:0 0;border:0;max-width:135px;font-size:11px}.project-dot.empty{box-shadow:none;background:0 0;border:1.5px dashed #babeca}.quick-add-actions{gap:6px;margin-left:auto;display:flex}.text-button,.primary-button,.delete-button{border:0;border-radius:10px;min-height:40px;padding:0 14px;font-size:12px;font-weight:650}.text-button{color:#8b8f9e;background:0 0}.text-button:hover{color:var(--ink);background:#f1f2f5}.primary-button{background:var(--navy-900);color:#fff;box-shadow:0 7px 17px #11184b2e}.primary-button:hover{background:var(--navy-800);transform:translateY(-1px)}.primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.completed-section{border-top:1px solid var(--line);margin-top:5px;padding-top:6px}.completed-toggle{color:#8e92a1;background:0 0;border:0;align-items:center;gap:7px;width:100%;min-height:44px;padding:0 13px;font-size:12px;display:flex}.completed-toggle span{margin-left:auto}.completed-toggle svg{transition:all .16s}.completed-toggle .rotate-down{transform:rotate(-90deg)}.empty-state{text-align:center;padding:58px 24px 45px}.empty-state>span{width:55px;height:55px;color:var(--turquoise);background:var(--turquoise-soft);border-radius:18px;place-items:center;margin:0 auto 15px;display:grid}.empty-state h2{color:var(--navy-900);margin:0 0 8px;font-size:17px}.empty-state p{max-width:360px;color:var(--muted);margin:0 auto;font-size:12px;line-height:1.6}.storage-note{color:#9da1ae;align-items:center;gap:7px;margin:auto auto 0;padding-top:28px;font-size:10px;display:flex}.storage-note span{background:var(--turquoise);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #2cc9c71f}.date-strip-wrap{align-items:center;gap:12px;margin:-9px 8px 21px;display:flex}.date-strip{flex:1;grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.date-strip button{border:1px solid var(--line);background:#ffffffa8;border-radius:13px;place-content:center;gap:3px;min-height:61px;display:grid}.date-strip small{color:#989cab;text-transform:uppercase;font-size:9px}.date-strip strong{color:var(--navy-900);font-size:14px}.date-strip button.selected{background:var(--navy-900);border-color:var(--navy-900)}.date-strip button.selected small,.date-strip button.selected strong{color:#fff}.today-button{border:1px solid var(--line);min-height:41px;color:var(--navy-900);background:#fff;border-radius:11px;padding:0 12px;font-size:11px;font-weight:650}.dialog-backdrop,.mobile-nav-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:80;background:#0b103961;justify-content:center;align-items:flex-end;padding:20px;animation:.16s fade-in;display:flex;position:fixed;inset:0}.editor-sheet,.shortcut-dialog{width:min(560px,100%);animation:slide-up .2s var(--ease);background:#fff;border-radius:24px;padding:23px;box-shadow:0 24px 70px #0b10393d}.compact-editor{width:min(440px,100%)}.editor-header{justify-content:space-between;align-items:flex-start;margin-bottom:21px;display:flex}.editor-header>div>span{color:var(--violet);letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:750}.editor-header h2{color:var(--navy-900);letter-spacing:-.025em;margin:3px 0 0;font-size:24px}.field{gap:7px;margin-bottom:14px;display:grid}.field>span,.color-picker legend{color:#777c8f;font-size:11px;font-weight:650}.field input,.field textarea,.field select{width:100%;color:var(--ink);resize:none;background:#fafbfc;border:1px solid #dde0e8;border-radius:12px;padding:11px 12px}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.flag-options{gap:8px;margin:4px 0 25px;display:flex}.flag-option{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:7px;min-height:42px;padding:0 12px;font-size:12px;display:flex}.flag-option.important.selected{color:#9b762c;background:#d6a84f1a;border-color:#d6a84f61}.flag-option.urgent.selected{color:#ad594e;background:#d9776a1a;border-color:#d9776a61}.editor-actions{border-top:1px solid var(--line);justify-content:space-between;padding-top:16px;display:flex}.delete-button{color:var(--coral);background:#d9776a14;align-items:center;gap:6px;display:flex}.color-picker{border:0;gap:10px;margin:2px 0 27px;padding:0;display:flex}.color-picker legend{margin-bottom:10px}.color-picker button{border:3px solid #fff;border-radius:50%;width:31px;height:31px;box-shadow:0 0 0 1px #dfe1e7}.color-picker button.selected{box-shadow:0 0 0 2px var(--navy-900)}.shortcut-dialog{align-self:center;width:min(430px,100%)}.shortcut-list{display:grid}.shortcut-list>div{border-bottom:1px solid var(--line);color:#555b70;justify-content:space-between;align-items:center;min-height:47px;font-size:13px;display:flex}.shortcut-list>div>span:last-child{gap:4px;display:flex}kbd{font-family:inherit}.shortcut-list kbd,.key-hint kbd{min-width:29px;color:var(--navy-900);text-align:center;background:#f8f9fb;border:1px solid #dadde5;border-bottom-width:2px;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:700}.shortcut-dialog>p{color:#969aa9;margin:17px 0 0;font-size:11px}.key-hint{z-index:90;background:var(--navy-950);color:#ffffffbf;white-space:nowrap;border-radius:13px;align-items:center;gap:8px;padding:9px 12px;font-size:11px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 13px 35px #0b103947}.key-hint kbd{color:#fff;background:#ffffff1a;border-color:#ffffff2b}.toast{z-index:95;background:var(--navy-950);color:#fff;border-radius:13px;align-items:center;gap:18px;max-width:calc(100vw - 40px);padding:12px 13px 12px 15px;font-size:12px;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 15px 38px #0b103940}.toast span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast button{color:#68e1dd;background:#2cc9c724;border:0;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:700}.mobile-header,.mobile-nav-backdrop{display:none}.loading-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.loading-sidebar{background:var(--navy-900)}.loading-shell main{width:min(800px,100% - 50px);margin:90px auto}.skeleton{background:linear-gradient(90deg,#e7e9ef,#f4f5f8,#e7e9ef) 0 0/200% 100%;border-radius:12px;animation:1.5s infinite shimmer}.skeleton.wide{width:280px;height:50px}.skeleton.short{width:170px;height:15px;margin:12px 0 45px}.skeleton.row{height:58px;margin:2px 0}.public-badge{color:var(--turquoise);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;padding:8px 0;font-size:10px;font-weight:750}.public-badge.synced{color:#20a6a4}.sync-dialog{width:min(470px,100%);animation:slide-up .2s var(--ease);background:#fff;border-radius:24px;align-self:center;padding:23px;box-shadow:0 24px 70px #0b10393d}.sync-benefits{gap:12px;margin-bottom:22px;display:grid}.sync-benefits>div{border:1px solid var(--line);background:#fafbfc;border-radius:13px;grid-template-columns:37px 1fr;gap:10px;padding:12px;display:grid}.sync-benefits>div>span{background:var(--turquoise-soft);color:#1ca5a3;border-radius:9px;place-items:center;width:31px;height:31px;font-size:10px;font-weight:750;display:grid}.sync-benefits p{color:#8a8f9f;margin:0;font-size:11px;line-height:1.45}.sync-benefits strong{color:var(--navy-900);margin-bottom:2px;font-size:12px;display:block}.sync-form{border-top:1px solid var(--line);padding-top:18px}.sync-form .primary-button{width:100%}.form-error{color:var(--coral);margin:-5px 0 12px;font-size:11px}.sync-hero{text-align:center;padding:9px 13px 21px}.sync-hero>span{color:#1ca5a3;background:var(--turquoise-soft);border-radius:19px;place-items:center;width:60px;height:60px;margin:0 auto 14px;display:grid}.sync-hero h3{color:var(--navy-900);margin:0 0 7px;font-size:18px}.sync-hero p{color:#818697;max-width:350px;margin:0 auto 12px;font-size:12px;line-height:1.6}.signed-in-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding-top:15px;display:flex}.signed-in-row>div{min-width:0;display:grid}.signed-in-row small{color:#969aa8;font-size:10px}.signed-in-row strong{text-overflow:ellipsis;color:var(--navy-900);font-size:12px;overflow:hidden}.sync-message{color:#9b762c;background:#d6a84f1a;border-radius:13px;gap:12px;padding:15px;display:flex}.sync-message p{color:#777c8d;margin:4px 0 0;font-size:11px;line-height:1.5}.sync-message code{background:#ffffffa6;border-radius:4px;padding:1px 4px}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(18px)}}@keyframes shimmer{to{background-position:-200% 0}}@media (min-width:700px){.dialog-backdrop{align-items:center}}@media (max-width:699px){.app-shell,.app-shell.sidebar-compact{display:block}.app-shell>.sidebar{display:none}.content{padding:0 14px calc(18px + env(safe-area-inset-bottom))}.mobile-header{height:calc(62px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);justify-content:space-between;align-items:center;display:flex}.mobile-header img{width:94px;height:auto}.mobile-header .icon-button{background:0 0;border-color:#0000;width:42px;height:42px}.canvas{padding:22px 0 15px}.view-header{align-items:flex-end;padding:0 5px 23px}.view-header h1{font-size:37px}.view-header p{font-size:12px}.view-actions{display:none}.list-area{border-radius:19px;padding:7px 7px 12px}.item-row{grid-template-columns:34px minmax(0,1fr) auto;min-height:59px;padding-inline:7px 2px}.item-main{gap:3px;padding-inline:6px;display:grid}.item-title{font-size:14px}.item-meta{justify-content:flex-start;margin-left:0;font-size:10px}.flag-button{width:31px}.flag-button:not(.selected){display:none}.quick-add-trigger{min-height:58px}.quick-add{padding:10px}.quick-add-controls{flex-wrap:wrap}.quick-add-controls label{flex:1;min-width:130px}.quick-add-actions{justify-content:flex-end;width:100%;padding-top:3px}.date-strip-wrap{margin-inline:3px;display:block}.date-strip{gap:4px;padding-bottom:5px;overflow-x:auto}.date-strip button{min-width:47px;min-height:57px}.today-button{width:100%;margin-top:7px}.mobile-nav-backdrop{padding:0;display:block}.mobile-nav-panel{width:min(315px,86vw);height:100%;animation:slide-right .2s var(--ease)}.sidebar-mobile{width:100%;height:100dvh;padding-top:calc(19px + env(safe-area-inset-top));display:flex;position:relative}.sidebar-mobile .sidebar-brand{overflow:visible}.sidebar-close{color:#fff;background:#ffffff12;border-color:#ffffff1a;position:absolute;top:1px;right:-2px}.dialog-backdrop{padding:10px 8px calc(8px + env(safe-area-inset-bottom))}.editor-sheet,.sync-dialog{border-radius:22px;max-height:92dvh;padding:19px;overflow-y:auto}.editor-header h2{font-size:21px}.field-grid{grid-template-columns:1fr;gap:0}.editor-actions{background:#fff;padding-bottom:4px;position:sticky;bottom:-19px}.key-hint{max-width:calc(100vw - 20px);bottom:calc(12px + env(safe-area-inset-bottom));justify-content:flex-start;overflow-x:auto}.toast{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}.loading-shell{display:block}.loading-sidebar{display:none}}@keyframes slide-right{0%{opacity:.6;transform:translate(-30px)}}@media (max-width:380px){.view-header h1{font-size:34px}.item-flags{max-width:62px}.quick-add-controls label{min-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
