:root{--bg:#f4f3fb;--surface:#fff;--surface-2:#eeecf8;--col:#ebe9f6;--text:#1b1736;--muted:#77739a;--line:#e7e4f4;--seg-off:#e4e1f2;--accent:#6d4aff;--accent-text:#5b3df0;--late:#ff4d6d;--warn:#d97706;--ok:#10a36f;--grad:linear-gradient(135deg, #6d4aff 0%, #c04bd9 55%, #ff7a8a 100%);--ring-in:#8b4ae6;--shadow:0 2px 10px #1b17360f;--shadow-lg:0 1px 2px #1b17360a, 0 8px 24px #1b173614;--hero-shadow:0 14px 30px -14px #6d4aff99;--tab:#ffffffe0;--backdrop:#1b173666;--radius:18px;--mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f0d1a;--surface:#1a1729;--surface-2:#221e35;--col:#15121f;--text:#eeedf7;--muted:#8d89a8;--line:#2a2640;--seg-off:#2d2944;--accent:#9b82ff;--accent-text:#b4a2ff;--late:#ff6b84;--warn:#fbbf24;--ok:#34d399;--grad:linear-gradient(135deg, #5b3df0 0%, #a63ac4 55%, #f0647a 100%);--ring-in:#7a3fd0;--shadow:0 0 0 1px #262238;--shadow-lg:0 0 0 1px #2a2640, 0 10px 30px #00000059;--hero-shadow:0 14px 30px -16px #5b3df0b3;--tab:#151223e0;--backdrop:#0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f0d1a;--surface:#1a1729;--surface-2:#221e35;--col:#15121f;--text:#eeedf7;--muted:#8d89a8;--line:#2a2640;--seg-off:#2d2944;--accent:#9b82ff;--accent-text:#b4a2ff;--late:#ff6b84;--warn:#fbbf24;--ok:#34d399;--grad:linear-gradient(135deg, #5b3df0 0%, #a63ac4 55%, #f0647a 100%);--ring-in:#7a3fd0;--shadow:0 0 0 1px #262238;--shadow-lg:0 0 0 1px #2a2640, 0 10px 30px #00000059;--hero-shadow:0 14px 30px -16px #5b3df0b3;--tab:#151223e0;--backdrop:#0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font:15px/1.45 Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{margin:0;line-height:1.2}h1{letter-spacing:-.025em;font-size:30px;font-weight:800}h2{margin-bottom:6px;font-size:17px;font-weight:800}.muted{color:var(--muted);font-weight:500}.mono{font-family:var(--mono)}.pad{padding:16px}.error{color:var(--late);font-size:14px;font-weight:600}.ok{color:var(--ok);font-size:14px;font-weight:600}.app{min-height:100dvh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:236px;height:100dvh;padding:20px 12px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:10px;padding:2px 10px 20px;font-size:18px;font-weight:800;display:flex}.brand img{border-radius:8px}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav .sep{background:var(--line);height:1px;margin:10px 8px}.sidebar nav button,.sheet.menu button{text-align:left;color:var(--muted);background:0 0;border:0;border-radius:11px;justify-content:space-between;align-items:center;padding:9px 11px;font-weight:600;display:flex}.sidebar nav button:hover{background:var(--surface-2);color:var(--text)}.sidebar nav button.on,.sheet.menu button.on{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent-text);font-weight:800}.count{font-family:var(--mono);color:var(--muted);font-size:12px;font-weight:500}.on>.count{color:var(--accent-text)}main{flex:1;min-width:0;max-width:780px;margin:0 auto;padding:32px 28px 120px}main.wide{max-width:none}.top{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.greet{color:var(--muted);margin-bottom:2px;font-size:13.5px;font-weight:600}.top .date{white-space:pre-line;color:var(--muted);text-align:right;font-size:13.5px;font-weight:600;line-height:1.3}.tabbar{display:none}.quickadd{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;align-items:flex-end;gap:8px;margin-bottom:18px;padding:6px 7px 6px 4px;display:flex}.quickadd textarea{min-width:0;font:inherit;color:inherit;resize:none;background:0 0;border:0;outline:none;flex:1;padding:9px 12px;font-size:16px;line-height:1.4;overflow-y:auto}.quickadd textarea::placeholder{color:var(--muted)}.quickadd .kbd{margin-right:2px}.plus-btn{background:var(--grad);color:#fff;border:0;border-radius:11px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:22px;font-weight:700;line-height:1;transition:transform .12s,opacity .12s;display:grid}.plus-btn:disabled{opacity:.45;cursor:default}.plus-btn:not(:disabled):active{transform:scale(.92)}.kbd{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:2px 6px;font-size:11px}.hero{color:#fff;background:var(--grad);box-shadow:var(--hero-shadow);border-radius:22px;align-items:center;gap:16px;padding:16px 18px;display:flex}.ring{--p:0;background:conic-gradient(#fff calc(var(--p) * 1%), #ffffff40 0);border-radius:50%;flex-shrink:0;place-items:center;width:60px;height:60px;transition:background .4s;display:grid}.ring span{background:var(--ring-in);border-radius:50%;place-items:center;width:47px;height:47px;font-size:14px;font-weight:800;display:grid}.hero b{font-size:17px;font-weight:800;display:block}.hero small{opacity:.9;font-size:13px;font-weight:500}.area-pills{flex-wrap:wrap;gap:7px;margin:14px 0 12px;display:flex}.area-pill{color:color-mix(in srgb, var(--c) 85%, var(--text));background:color-mix(in srgb, var(--c) 14%, var(--surface));border:0;border-radius:99px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.area-pill .count{color:inherit;font-size:11px}button.area-pill.on{box-shadow:inset 0 0 0 1.5px var(--c)}button.area-pill.all{--c:var(--accent)}.tasks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.task{--area:var(--muted);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;transition:opacity .25s,transform .15s;display:flex;position:relative;overflow:hidden}.task:before{content:"";background:var(--area);width:5px;position:absolute;inset:0 auto 0 0}.check{background:0 0;border:0;flex-shrink:0;place-items:center;width:46px;height:46px;margin-left:4px;display:grid}.check svg{border:2.2px solid var(--area);fill:none;stroke:#0000;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;border-radius:50%;width:22px;height:22px;padding:3px;transition:background .15s,transform .15s}.check:hover svg{stroke:var(--area)}.check:active svg{transform:scale(.85)}.is-done{opacity:.55}.is-done .check svg{background:var(--area);stroke:#fff}.is-done .task-title{text-decoration:line-through}.task-body{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;min-width:0;padding:12px 12px 12px 0;display:flex}.task-title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:15px;font-weight:700;line-height:1.3}.meta{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.meta:empty{display:none}.chip{color:var(--muted);align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.chip.area i{border-radius:50%;width:7px;height:7px;display:inline-block}.chip.overdue{color:var(--late)}.chip.warn{color:var(--warn)}.chip.sorting{color:var(--accent-text);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}.seg{align-items:center;gap:3px;display:inline-flex}.seg i{background:var(--seg-off);border-radius:3px;width:12px;height:5px}.seg i.on{background:var(--area);box-shadow:0 0 8px color-mix(in srgb, var(--area) 45%, transparent)}.seg.bar{background:var(--seg-off);border-radius:3px;width:64px;height:5px;display:block;overflow:hidden}.seg.bar b{background:var(--area);border-radius:3px;height:100%;display:block}.seg-n{font-family:var(--mono);color:color-mix(in srgb, var(--area) 80%, var(--text));font-size:11px}.task-action{background:color-mix(in srgb, var(--accent) 13%, var(--surface));color:var(--accent-text);border:0;border-radius:999px;align-self:center;margin-right:10px;padding:5px 12px;font-size:12.5px;font-weight:700}.group{margin-top:26px}.group:first-child{margin-top:0}.group h3{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);align-items:center;gap:8px;margin:0 2px 8px;font-size:12px;font-weight:800;display:flex}.group h3 i{border-radius:50%;width:8px;height:8px;display:inline-block}.group h3 .count{margin-left:auto}.today-list{margin-top:4px}.empty{color:var(--muted);text-align:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 16px;font-weight:600}.btn{background:var(--surface);box-shadow:var(--shadow);border:0;border-radius:12px;padding:9px 15px;font-weight:700}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--grad);color:#fff;box-shadow:var(--hero-shadow)}.btn.danger{color:var(--late)}.btn.small{padding:6px 11px;font-size:13px}.icon-btn{color:var(--muted);background:0 0;border:0;padding:0 6px;font-size:20px}.field{color:var(--muted);flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;display:flex}.field input,.field select,.field textarea,.login input{width:100%;box-shadow:var(--shadow);background:var(--surface);color:var(--text);border:0;border-radius:12px;outline:none;padding:10px 12px;font-size:16px;font-weight:500}.field input:focus,.field select:focus,.field textarea:focus,.login input:focus{box-shadow:0 0 0 2px var(--accent)}.field textarea{resize:vertical}.inline{gap:6px;display:flex}.inline input[type=time]{flex-shrink:0;width:120px}.grid2{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.grid2 .wide{grid-column:1/-1}.seg-ctl{background:var(--surface-2);border-radius:13px;gap:2px;padding:3px;display:flex}.seg-ctl button{color:var(--muted);background:0 0;border:0;border-radius:10px;flex:1;padding:8px 4px;font-size:13.5px;font-weight:700}.seg-ctl button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.sheet-backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;justify-content:center;align-items:flex-start;padding:7vh 16px 16px;animation:.15s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.sheet{background:var(--bg);border-radius:26px;width:100%;max-width:580px;max-height:86vh;padding:20px;animation:.2s ease-out rise;overflow-y:auto;box-shadow:0 24px 70px #0000004d}.grab{background:var(--seg-off);border-radius:3px;width:38px;height:5px;margin:-8px auto 12px;display:none}.sheet-head{align-items:flex-start;gap:10px;display:flex}.sheet-head>div{flex:1;min-width:0}.area-tag{color:color-mix(in srgb, var(--area) 85%, var(--text));font-size:12.5px;font-weight:700}.title-input{letter-spacing:-.01em;resize:none;field-sizing:content;background:0 0;border:0;outline:none;width:100%;padding:2px 0;font-size:22px;font-weight:800}.segbig{gap:5px;margin:10px 0 6px;display:flex}.segbig i{background:var(--seg-off);border-radius:4px;flex:1;height:8px;transition:background .2s}.segbig i.on{background:var(--area);box-shadow:0 0 10px color-mix(in srgb, var(--area) 45%, transparent)}.segtxt{color:var(--muted);justify-content:space-between;font-size:12.5px;font-weight:600;display:flex}.sheet .seg-ctl{margin-top:16px}.sheet .field{margin-top:14px}.row-toggles{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.toggle-chip{background:var(--surface);box-shadow:var(--shadow);color:var(--muted);border:0;border-radius:11px;padding:7px 12px;font-size:13px;font-weight:700}.toggle-chip.on{background:color-mix(in srgb, var(--accent) 15%, var(--surface));color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent)}.steps{background:var(--surface);box-shadow:var(--shadow);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.steps li{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:3px 12px;display:flex}.steps li:last-child{border-bottom:0}.box{border:2px solid var(--seg-off);background:0 0;border-radius:7px;flex-shrink:0;place-items:center;width:21px;height:21px;padding:0;display:grid}.box svg{fill:none;stroke:#0000;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.box.on{background:var(--area);border-color:var(--area)}.box.on svg{stroke:#fff}.box.dashed{border-style:dashed}.step-text{outline:none;flex:1;box-shadow:none!important;background:0 0!important;border:0!important;padding:9px 0!important;font-size:14.5px!important;font-weight:600!important}.step-text.done{text-decoration:line-through;color:var(--muted)!important}.raw{color:var(--muted);margin-top:14px;font-size:13px}.raw summary{cursor:pointer;font-weight:600}.raw p{white-space:pre-wrap}.sheet-foot{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:18px;display:flex}.sheet.menu{flex-direction:column;gap:2px;max-width:360px;padding:10px;display:flex}.settings{flex-direction:column;gap:16px;display:flex}.card{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;padding:20px}.card p{margin:4px 0 10px}.card .field input,.card .field select{background:var(--bg);box-shadow:none}.card .field input:focus,.card .field select:focus{box-shadow:0 0 0 2px var(--accent)}.presets,.actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.presets .btn{background:var(--bg);box-shadow:none}.code{background:var(--bg);font-family:var(--mono);white-space:pre;border-radius:12px;padding:12px;font-size:12.5px;overflow-x:auto}.login{background:var(--bg);place-items:center;min-height:100dvh;padding:16px;display:grid}.login form{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:360px;display:flex}.login img{box-shadow:var(--hero-shadow);border-radius:20px;margin-bottom:4px}.login h1{font-size:34px}.login input{text-align:center;background:var(--bg);box-shadow:none}.login .btn{width:100%;padding:12px}.toast{background:var(--text);color:var(--bg);z-index:60;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700;animation:.2s fade;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.board{grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;align-items:start;gap:12px;padding-bottom:12px;display:grid;overflow-x:auto}.column{background:var(--col);outline-offset:-2px;border-radius:20px;outline:2px dashed #0000;min-height:160px;padding:12px 10px 10px;transition:outline-color .1s,background .1s}.column header{justify-content:space-between;align-items:baseline;padding:0 4px;display:flex}.column h3{font-size:14.5px;font-weight:800}.col-hint{color:var(--muted);margin:1px 4px 10px;font-size:12px;font-weight:500}.col-empty{color:var(--muted);text-align:center;margin:18px 0}.column.is-over{outline-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--col))}.column.no-drop{opacity:.5}.column .tasks{gap:7px}.task.card-task{cursor:grab;border-radius:15px}.task.card-task .check{width:38px;height:42px}.task.card-task .check svg{width:20px;height:20px}.task.card-task .task-body{padding:10px 10px 10px 0}.task.card-task .task-title{font-size:14px}.task.card-task.is-dragging{opacity:.4;transform:rotate(-2deg)}@media (width<=760px){.sidebar{display:none}main{padding:calc(env(safe-area-inset-top) + 18px) 16px calc(env(safe-area-inset-bottom) + 100px)}.grid2{grid-template-columns:1fr}.quickadd .kbd{display:none}.tabbar{background:var(--tab);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:6px 4px calc(env(safe-area-inset-bottom) + 6px);z-index:40;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:600;display:flex;position:relative}.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.tabbar button.on{color:var(--accent-text);font-weight:800}.tabbar .badge{background:var(--grad);color:#fff;min-width:17px;height:17px;font:700 10px/17px var(--mono);border-radius:9px;padding:0 4px;position:absolute;top:0;left:calc(50% + 7px)}.sheet-backdrop{align-items:flex-end;padding:0}.sheet{max-width:none;max-height:92dvh;padding-bottom:calc(env(safe-area-inset-bottom) + 18px);border-radius:26px 26px 0 0;animation:.25s ease-out rise}.grab{display:block}.toast{bottom:calc(env(safe-area-inset-bottom) + 86px)}.board{scroll-snap-type:x mandatory;grid-auto-columns:86%;margin:0 -16px;padding:0 16px 12px;scroll-padding:0 16px}.column{scroll-snap-align:start}.area-pills.scroll{flex-wrap:nowrap;margin-left:-16px;margin-right:-16px;padding:0 16px;overflow-x:auto}.area-pills.scroll .area-pill{flex-shrink:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.fresh-token{background:var(--bg);border-radius:12px;margin-top:14px;padding:12px 14px}.fresh-token .code{white-space:pre-wrap;word-break:break-all}.token-list{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.token-list li{background:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.token-list .muted{font-size:13px}
