:root{--bg:#f6f5f2;--side:#eeede8;--surface:#fff;--surface-2:#faf9f7;--text:#1f1f22;--muted:#6d6c70;--faint:#a3a2a6;--line:#14141e14;--hover:#14141e0b;--blue:#2f6fde;--red:#d64545;--amber:#d48a12;--green:#2f9e6e;--shadow:0 1px 2px #14141e0f, 0 0 0 1px #14141e0a;--shadow-lg:0 12px 40px #14141e24, 0 0 0 1px #14141e0d;--radius:10px;--accent:var(--blue);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#1a1a1c;--side:#141416;--surface:#242427;--surface-2:#2a2a2e;--text:#ececee;--muted:#9a99a0;--faint:#66656b;--line:#ffffff14;--hover:#ffffff0d;--blue:#6b9bff;--red:#f07171;--amber:#f0a93a;--shadow:0 0 0 1px #ffffff0d;--shadow-lg:0 12px 40px #00000080, 0 0 0 1px #ffffff0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI Variable,Segoe UI,Inter,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;outline:none;width:100%;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}h1{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:650;line-height:1.2}.sub{color:var(--muted);margin:2px 0 0;font-size:14px}.muted{color:var(--muted);font-size:13px}.only-mobile{display:none!important}.boot{background:var(--bg);height:100%}.app{grid-template-columns:260px minmax(0,1fr);height:100%;display:grid}.app.has-detail{grid-template-columns:260px minmax(0,1fr) 360px}.main{padding:28px clamp(16px,4vw,48px) 60px;overflow-y:auto}.sidebar{--c:var(--blue);background:var(--side);padding:calc(16px + env(safe-area-inset-top)) 10px calc(12px + env(safe-area-inset-bottom));border-right:1px solid var(--line);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 10px 16px;font-size:16px;font-weight:650;display:flex}.nav-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:18px 10px 6px;font-size:12px;font-weight:600}.nav-item{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.nav-item:hover{background:var(--hover)}.nav-item.on{background:var(--surface);box-shadow:var(--shadow);font-weight:550}.nav-icon{color:var(--c);display:inline-flex}.now-icon{color:var(--amber)}.nav-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item .count{color:var(--muted);font-size:12px}.nav-item.add,.nav-item.add .nav-icon{color:var(--muted)}.nav-input{margin:4px 0}.sidebar-foot{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:12px 6px 0;display:flex}.sidebar-foot .me{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.view{max-width:820px;margin:0 auto}.view-head{align-items:center;gap:12px;margin-bottom:20px;display:flex}.view-head>div:first-of-type{flex:1;min-width:0}.area-title{color:var(--accent);align-items:center;gap:12px;display:flex}.area-title h1{color:var(--accent)}.area-badge{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.icon-btn{width:34px;height:34px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.seg{background:var(--hover);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--muted);border-radius:7px;padding:5px 12px;font-size:13px;font-weight:500}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.seg-full{width:100%;display:flex}.seg-full button{flex:1;padding:6px 4px}.seg button.on.p3{color:var(--red)}.seg button.on.p2{color:var(--amber)}.filters{gap:8px;margin:-8px 0 12px;display:flex}.filter{color:var(--muted);background:var(--hover);border:1.5px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.filter:hover{color:var(--text)}.filter.on{color:var(--green);border-color:var(--green);background:color-mix(in srgb, var(--green) 10%, transparent)}.quickadd{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:8px;margin-bottom:14px;padding:4px 6px 4px 14px;display:flex}.quickadd-icon{color:var(--accent);flex:none}.quickadd input{background:0 0;border:0;padding:10px 4px;box-shadow:none!important}.quickadd input::placeholder{color:var(--accent);opacity:.9}.quickadd select{background:var(--hover);border:0;width:auto;max-width:42%;padding:6px 8px;font-size:13px;box-shadow:none!important}.list{flex-direction:column;gap:4px;display:flex}.task{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:flex}.task:hover{background:var(--surface-2)}.task.is-active{box-shadow:0 0 0 2px var(--accent)}.task-body{flex:1;min-width:0}.task-title{overflow-wrap:anywhere}.task.is-done .task-title{color:var(--muted);text-decoration:line-through}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;display:flex}.task-meta:empty{display:none}.meta{align-items:center;gap:4px;display:inline-flex}.due-late{color:var(--red);font-weight:550}.due-today{color:var(--blue);font-weight:550}.reason{color:var(--faint)}.effort.short{color:var(--green);font-weight:550}.chip{border-radius:6px;align-items:center;gap:4px;padding:1px 7px 1px 6px;font-weight:500;display:inline-flex}.area-chip{color:var(--c);background:color-mix(in srgb, var(--c) 12%, transparent)}.check{width:24px;height:24px;color:var(--faint);flex:none}.check svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:100%;height:100%}.check path{opacity:0;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transition:opacity .12s}.check:hover{color:var(--accent)}.check:hover path{opacity:.6}.task.is-done .check,.check.is-on{color:var(--accent)}.task.is-done .check circle,.check.is-on circle{fill:var(--accent)}.task.is-done .check path,.check.is-on path{opacity:1;stroke:#fff}.check.big{width:28px;height:28px;margin-top:2px}.prio{color:var(--faint);opacity:0;border-radius:6px;place-items:center;width:28px;height:28px;transition:opacity .12s;display:inline-grid}.task:hover .prio,.prio:not(.prio-0){opacity:1}.prio:hover{background:var(--hover)}.prio-1{color:var(--muted)}.prio-2{color:var(--amber)}.prio-3{color:var(--red)}.assignee{--s:26px;border-radius:999px;flex:none;align-items:center;padding:2px;display:inline-flex}.assignee:hover{background:var(--hover)}.avatar{width:var(--s,26px);height:var(--s,26px);color:#fff;font-size:calc(var(--s,26px) * .42);letter-spacing:.02em;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none;place-items:center;font-weight:650;display:inline-grid}.assignee .avatar+.avatar{margin-left:calc(var(--s) * -.35)}.avatar-none{border:1.5px dashed var(--faint);box-shadow:none;opacity:.6;background:0 0}.assignee:hover .avatar-none{opacity:1;border-color:var(--accent)}.done-toggle{background:var(--hover);border-radius:8px;align-items:center;gap:6px;margin:22px 0 10px;padding:6px 10px 6px 6px;font-size:14px;font-weight:550;display:inline-flex}.done-toggle svg{transition:transform .15s}.done-toggle.open svg{transform:rotate(90deg)}.done-toggle .count{color:var(--muted);font-weight:400}.empty{text-align:center;color:var(--muted);padding:48px 0 30px}.empty-mark{width:54px;height:54px;color:var(--green);background:color-mix(in srgb, var(--green) 12%, transparent);border-radius:50%;place-items:center;margin:0 auto 12px;font-size:24px;display:grid}.link-btn{color:var(--accent);margin-top:14px;font-size:14px;font-weight:550}.hint{color:var(--faint);margin-top:28px;font-size:12.5px}.panel{background:var(--surface);box-shadow:var(--shadow);border-radius:12px;gap:14px;margin-bottom:16px;padding:16px;display:grid}.field{gap:6px;display:grid}.field>span{color:var(--muted);font-size:12.5px;font-weight:600}.swatches,.icon-grid,.pills,.people{flex-wrap:wrap;gap:8px;display:flex}.swatch{border-radius:50%;width:26px;height:26px}.swatch.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.icon-pick{width:36px;height:36px;color:var(--muted);background:var(--hover);border-radius:8px;place-items:center;display:grid}.icon-pick.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent)}.panel-foot{justify-content:space-between;gap:8px;display:flex}.ghost{border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-weight:500;display:inline-flex}.ghost:hover{background:var(--hover)}.ghost.small{white-space:nowrap;padding:6px 10px;font-size:13px}.danger-text{color:var(--red)}.danger{background:var(--red);color:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-weight:550;display:inline-flex}.primary{background:var(--blue);color:#fff;border-radius:9px;padding:10px 14px;font-weight:600}.primary:disabled{opacity:.6}.pills button{background:var(--hover);border-radius:999px;padding:5px 10px;font-size:13px}.pills button:hover{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.due-row{gap:8px;display:flex}.person{background:var(--hover);border:1.5px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:14px;display:inline-flex}.person .avatar{--s:24px;opacity:.45}.person.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.person.on .avatar{opacity:1}.detail{background:var(--surface-2);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.detail-head{padding:calc(18px + env(safe-area-inset-top)) 14px 12px 16px;align-items:flex-start;gap:10px;display:flex}.detail-title{resize:none;field-sizing:content;background:0 0;border:0;padding:2px 4px;font-size:18px;font-weight:600;box-shadow:none!important}.detail-scroll{flex:1;align-content:start;gap:16px;padding:4px 16px 16px;display:grid;overflow-y:auto}.notes{resize:vertical;min-height:110px}.detail-foot{padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.login{place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--surface);width:min(380px,100%);box-shadow:var(--shadow-lg);border-radius:16px;gap:14px;padding:32px 28px;display:grid}.login-card h1{font-size:24px}.login-card .sub{margin-top:-10px;margin-bottom:6px}.error{color:var(--red);margin:0;font-size:14px}.vis-note{align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.nav-lock{color:var(--faint);flex:none}.confirm-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.confirm-row span{flex:200px}.bg-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;display:grid}.bg-tile{aspect-ratio:4/3;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);border-radius:8px;place-items:center;font-size:12px;display:grid}.bg-tile.none,.bg-tile.upload{background:var(--hover)}.bg-tile.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.has-bg:not(.bg-light) .view-head h1,.has-bg:not(.bg-light) .view-head .sub,.has-bg:not(.bg-light) .view-head .icon-btn{color:#fff;text-shadow:0 1px 8px #00000040}.has-bg:not(.bg-light) .area-title,.has-bg:not(.bg-light) .area-title h1{color:color-mix(in srgb, var(--accent) 72%, #fff);text-shadow:0 1px 10px #00000059}.has-bg:not(.bg-light) .area-badge{background:color-mix(in srgb, var(--accent) 30%, #00000040);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.has-bg:not(.bg-light) .view-head .icon-btn:hover{background:#ffffff2e}.has-bg .done-toggle{background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.has-bg .empty{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px}.has-bg .task,.has-bg .quickadd{box-shadow:0 1px 3px #0000001f}@media (width<=860px){.only-mobile{display:inline-grid!important}.app,.app.has-detail{grid-template-columns:minmax(0,1fr)}.main{padding:calc(14px + env(safe-area-inset-top)) 16px calc(40px + env(safe-area-inset-bottom))}.sidebar{z-index:30;width:min(300px,84vw);box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.scrim{z-index:20;background:#00000047;display:block;position:fixed;inset:0}.detail{z-index:40;max-height:88vh;box-shadow:var(--shadow-lg);border-left:0;border-radius:16px 16px 0 0;position:fixed;inset:auto 0 0}.view-head h1{font-size:22px}.prio{opacity:1}.prio.prio-0{display:none}}.view.wide{max-width:1240px}.view.wide-ish{max-width:960px}.billing-icon{color:var(--green)}.nav-group{flex-direction:column;gap:1px;display:flex}.nav-sub{color:var(--muted);padding:5px 10px 5px 38px;font-size:14px}.nav-sub.on{color:var(--text)}.nav-sub.paused .nav-text{opacity:.55}.nav-dot{background:var(--c);opacity:.8;border-radius:50%;flex:none;width:7px;height:7px}.crumb{color:inherit;opacity:.75;align-items:center;gap:4px;margin-bottom:1px;font-size:12.5px;font-weight:600;display:inline-flex}.crumb:hover{opacity:1;text-decoration:underline}.view-head .area-title>div{min-width:0}.projects-block{margin-bottom:18px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.project-card{text-align:left;background:var(--surface);box-shadow:var(--shadow);border-radius:12px;gap:6px;padding:12px 14px;transition:transform .12s,box-shadow .12s;display:grid}.project-card:hover{box-shadow:0 4px 14px #14141e1a, 0 0 0 1px var(--line);transform:translateY(-1px)}.project-card.paused,.project-card.done{opacity:.7}.pc-top{align-items:center;gap:8px;display:flex}.pc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.pc-badge{background:var(--hover);color:var(--muted);border-radius:5px;padding:1px 6px;font-size:11px}.pc-sub{color:var(--muted);gap:8px;min-height:18px;font-size:12.5px;display:flex}.pc-sub span+span:before{content:"·";margin-right:8px}.pc-bar,.quota{background:var(--hover);border-radius:99px;height:6px;overflow:hidden}.pc-bar span,.quota span{border-radius:inherit;background:var(--accent);height:100%;transition:width .3s;display:block}.quota span{background:var(--green)}.quota.over span{background:var(--red)}.quota.mini{width:70px;height:5px;display:inline-block}.pc-foot{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.done-toggle.small{margin:12px 0 8px;font-size:13px}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:14px;font-weight:550}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.has-bg:not(.bg-light) .tabs{border-color:#ffffff40}.has-bg:not(.bg-light) .tabs button{color:#ffffffbf}.has-bg:not(.bg-light) .tabs button.on{color:#fff;border-bottom-color:#fff}.panel-soft{background:color-mix(in srgb, var(--surface) 90%, transparent);border-radius:12px}.status-chip{border-radius:5px;padding:0 6px;font-weight:550}.st-doing{--st:var(--blue)}.st-waiting{--st:var(--amber)}.st-todo{--st:var(--faint)}.st-done{--st:var(--green)}.status-chip{color:var(--st);background:color-mix(in srgb, var(--st) 13%, transparent)}.project-chip{color:var(--muted)}.timer-btn{width:30px;height:30px;color:var(--muted);opacity:0;border-radius:50%;flex:none;place-items:center;transition:opacity .12s;display:inline-grid}.task:hover .timer-btn,.timer-btn.on,.timer-btn.big{opacity:1}.timer-btn:hover{background:color-mix(in srgb, var(--green) 14%, transparent);color:var(--green)}.timer-btn.on{background:var(--green);color:#fff}.timer-btn.big{background:var(--surface);width:36px;height:36px;box-shadow:var(--shadow);color:var(--green)}.timer-btn.big.on{background:var(--green);color:#fff}.timer-big{background:color-mix(in srgb, var(--green) 12%, transparent);color:var(--green);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:14px;font-weight:550;display:inline-flex}.timer-big.on{background:var(--green);color:#fff}.timerbar{right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:50;background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 14px;display:flex;position:fixed}.app.has-detail .timerbar{right:380px}.timer-pulse{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse}@keyframes pulse{50%{opacity:.35}}.timer-label{color:inherit;align-items:baseline;gap:8px;max-width:280px;display:flex}.timer-label strong{font-variant-numeric:tabular-nums}.timer-label span{opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.timer-stop{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.board{grid-template-columns:repeat(4,minmax(220px,1fr));align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.board-col{background:color-mix(in srgb, var(--hover) 140%, transparent);border-radius:12px;gap:8px;min-height:140px;padding:10px;transition:box-shadow .12s;display:grid}.has-bg .board-col{background:color-mix(in srgb, var(--surface) 70%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.board-col.over{box-shadow:inset 0 0 0 2px var(--st)}.board-head{align-items:center;gap:8px;padding:2px 4px;font-size:13.5px;font-weight:600;display:flex}.board-head .count{color:var(--muted);margin-left:auto;font-weight:400}.board-dot{background:var(--st);border-radius:50%;width:9px;height:9px}.board-list{gap:6px;display:grid}.board-card{background:var(--surface);box-shadow:var(--shadow);cursor:grab;border-left:3px solid #0000;border-radius:9px;gap:6px;padding:9px 10px;display:grid}.board-card:active{cursor:grabbing}.board-card.is-active{box-shadow:0 0 0 2px var(--accent)}.board-card.is-done .task-title{color:var(--muted);text-decoration:line-through}.board-card.prio-edge-2{border-left-color:var(--amber)}.board-card.prio-edge-3{border-left-color:var(--red)}.board-meta{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.board-meta>:first-child{flex:1}.status-pick{background:var(--hover);width:auto;color:var(--muted);border:0;border-radius:6px;padding:2px 4px;font-size:11.5px}.board-col .quickadd{box-shadow:none;background:0 0;margin:0;padding-left:8px}.board-col .quickadd input{padding:6px 2px;font-size:14px}.month-nav{align-items:center;gap:6px;margin-bottom:12px;display:flex}.month-nav strong{text-align:center;min-width:140px;font-weight:600}.month-nav.inline{margin:2px 0 0 -8px}.month-nav.inline strong{text-align:left;min-width:0;color:var(--muted);font-size:14px}.summary{gap:10px}.sum-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.sum-k{color:var(--muted);font-size:12px;font-weight:600;display:block}.sum-row strong{font-size:20px;font-weight:650}.pos{color:var(--green)}.neg{color:var(--red)}.small-note{margin:0;font-size:12.5px}.time-add{grid-template-columns:150px 140px 1fr 1fr auto;align-items:center;gap:8px}.time-add .error{grid-column:1/-1}.time-day{margin-bottom:14px}.time-day-head{color:var(--muted);justify-content:space-between;padding:4px 4px 6px;font-size:13px;font-weight:600;display:flex}.time-row{background:var(--surface);box-shadow:var(--shadow);border-radius:9px;align-items:center;gap:12px;margin-bottom:4px;padding:8px 10px 8px 14px;display:flex}.time-row.live{box-shadow:0 0 0 1.5px var(--green)}.time-what{flex:1;min-width:0;display:grid}.time-what span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.time-dur{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:550}.billed-tag{color:var(--green);place-items:center;width:28px;display:inline-grid}.icon-btn.small{width:28px;height:28px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.suffix-input{position:relative}.suffix-input input{padding-right:82px}.suffix-input em{color:var(--muted);pointer-events:none;font-size:12.5px;font-style:normal;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.check-line{align-items:center;gap:10px;font-size:14px;display:flex}.check-line input{width:18px;height:18px;accent-color:var(--accent)}.export-btns{gap:6px;display:flex}.export-btns .ghost{background:var(--surface);box-shadow:var(--shadow)}.kpis{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.kpi{background:var(--surface);box-shadow:var(--shadow);border-radius:12px;gap:2px;padding:14px 16px;display:grid}.kpi span{color:var(--muted);font-size:12.5px;font-weight:600}.kpi strong{letter-spacing:-.01em;font-size:24px;font-weight:650}.kpi em{color:var(--faint);font-size:12px;font-style:normal}.bill-client{gap:6px;padding:12px 14px}.bill-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:6px;display:flex}.bill-head strong{flex:1;font-size:16px}.bill-sum{font-variant-numeric:tabular-nums;font-weight:650}.billed-toggle{background:var(--hover);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:500;display:inline-flex}.billed-toggle.on{background:color-mix(in srgb, var(--green) 14%, transparent);color:var(--green)}.billed-toggle:disabled{opacity:.5;cursor:default}.bill-rows{display:grid}.bill-row{text-align:left;border-radius:8px;grid-template-columns:minmax(0,1.4fr) 80px minmax(0,1fr) 100px;align-items:center;gap:10px;padding:8px 4px;display:grid}.bill-row:hover{background:var(--hover)}.bill-name{min-width:0;display:grid}.bill-name em,.bill-detail em{color:var(--muted);font-size:12px;font-style:normal}.bill-detail em.neg{color:var(--red);font-weight:550}.bill-hours,.bill-amount{font-variant-numeric:tabular-nums}.bill-amount{text-align:right;font-weight:600}.bill-detail{align-items:center;gap:8px;min-width:0;display:flex}@media (width<=860px){.only-desktop{display:none}.timerbar,.app.has-detail .timerbar{left:12px;right:12px}.timer-label{flex:1;min-width:0;max-width:none}.main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.board{scroll-snap-type:x mandatory;grid-template-columns:repeat(4,82vw)}.board-col{scroll-snap-align:start}.time-add{grid-template-columns:1fr 1fr}.time-add .primary{grid-column:1/-1}.field-row{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.kpis .kpi:first-child{grid-column:1/-1}.bill-row{grid-template-columns:minmax(0,1fr) auto}.bill-detail{order:3;grid-column:1/-1}.bill-hours{display:none}.bill-head,.view-head{flex-wrap:wrap}.export-btns{width:100%}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,.main{overflow-x:hidden}input,select,textarea{min-width:0;max-width:100%}input[type=date],input[type=month]{appearance:none;min-height:38px;display:block}.due-row input{flex:1}@media (width<=860px){input,select,textarea{font-size:16px}.quickadd select{font-size:15px}.seg button{padding:6px 8px}.seg-full button{font-size:12.5px}.view-head h1{overflow-wrap:anywhere}}html,body{touch-action:pan-x pan-y}button,a,.task,.board-card,.project-card{touch-action:manipulation}.quota.warn span{background:var(--amber)}.nav-label{justify-content:space-between;align-items:center;display:flex}.label-btn{text-transform:none;letter-spacing:0;color:var(--faint);border-radius:6px;place-items:center;padding:2px 6px;font-size:12px;display:inline-grid}.label-btn:hover,.label-btn.on{color:var(--text);background:var(--hover)}.nav-row{align-items:center;display:flex}.nav-row .nav-item{flex:1;min-width:0}.nav-caret,.nav-caret-space{flex:none;width:18px}.nav-caret{height:26px;color:var(--faint);border-radius:5px;place-items:center;margin-right:-4px;display:grid}.nav-caret:hover{color:var(--text);background:var(--hover)}.nav-caret svg{transition:transform .15s}.nav-caret.open svg{transform:rotate(90deg)}.nav-group.dragging{opacity:.4}.nav-group[draggable=true]{cursor:grab}.sort-btns{gap:2px;padding-right:4px;display:flex}.sort-btns button{width:26px;height:26px;color:var(--muted);background:var(--hover);border-radius:6px;place-items:center;display:grid}.sort-btns button:disabled{opacity:.3}.nav-row{position:relative}.nav-caret{z-index:1;width:14px;height:24px;margin:0;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.nav-caret-space{display:none}.nav-sub{padding-left:38px}:root{--cv-bg:#f1f0ec;--cv-dot:#1e1e2829;--cv-edge:#9a99a0;--cv-card-shadow:0 1px 2px #14141e12, 0 0 0 1px #14141e0f}@media (prefers-color-scheme:dark){:root{--cv-bg:#151517;--cv-dot:#ffffff1c;--cv-edge:#6e6d74;--cv-card-shadow:0 0 0 1px #ffffff12, 0 2px 6px #00000059}}.view.canvas-mode{max-width:none}.view.canvas-mode .view-head,.view.canvas-mode .tabs,.view.canvas-mode .area-settings{max-width:1240px}.view.canvas-mode .tabs{margin-bottom:12px}.cv-wrap{background:var(--cv-bg);height:calc(100dvh - 200px);min-height:440px;box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;position:relative;overflow:hidden}.cv-flow{--xy-background-color-default:var(--cv-bg);--xy-background-pattern-dots-color-default:var(--cv-dot);--xy-edge-stroke-default:var(--cv-edge);--xy-edge-stroke-width-default:1.6;--xy-edge-stroke-selected-default:var(--blue);--xy-connectionline-stroke-default:var(--blue);--xy-connectionline-stroke-width-default:1.6;--xy-node-boxshadow-selected-default:none;--xy-selection-background-color-default:#2f6fde12;--xy-selection-border-default:1px solid #2f6fde73;--xy-handle-background-color-default:var(--surface);--xy-handle-border-color-default:var(--blue);--xy-controls-button-background-color-default:var(--surface);--xy-controls-button-background-color-hover-default:var(--surface-2);--xy-controls-button-color-default:var(--text);--xy-controls-button-border-color-default:var(--line);--xy-minimap-background-color-default:var(--surface);--xy-minimap-mask-background-color-default:color-mix(in srgb, var(--cv-bg) 70%, transparent);--xy-resize-background-color-default:var(--blue);font-family:inherit}.cv-flow .react-flow__node{cursor:default}.cv-flow .react-flow__node.draggable{cursor:grab}.cv-flow .react-flow__node.dragging{cursor:grabbing}.cv-flow .react-flow__node.dragging .cv-card{transform:rotate(-.6deg);box-shadow:0 14px 34px #14141e2e,0 0 0 1px #14141e0f}.cv-card{background:var(--surface);width:100%;color:var(--text);box-shadow:var(--cv-card-shadow);border-radius:8px;font-size:14.5px;line-height:1.5;transition:box-shadow .15s,transform .15s;position:relative}.cv-card.sel,.cv-column.sel{box-shadow:0 0 0 2px var(--blue), var(--cv-card-shadow)}.cv-note{min-height:46px;padding:12px 14px}.cv-note.editing{box-shadow:0 0 0 2px var(--blue), 0 10px 30px #14141e1f}.note-empty{min-height:22px}.note-html{overflow-wrap:anywhere}.note-html>:first-child{margin-top:0}.note-html>:last-child{margin-bottom:0}.note-html p{margin:0 0 .5em}.note-html h1{margin:0 0 .35em;font-size:1.45em;line-height:1.2}.note-html h2{margin:0 0 .35em;font-size:1.2em;line-height:1.25}.note-html h3{margin:0 0 .3em;font-size:1.05em}.note-html ul,.note-html ol{margin:0 0 .5em;padding-left:1.25em}.note-html a{color:var(--blue)}.note-html blockquote{border-left:3px solid var(--line);color:var(--muted);margin:0 0 .5em;padding-left:10px}.ProseMirror{outline:none;min-height:1.5em}.note-editor{position:relative}.note-editor.inline .fmt-bar{z-index:20;background:#232327;border-radius:10px;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 14px);left:-15px;box-shadow:0 8px 24px #00000040}.note-editor.inline .fmt-bar button{color:#ffffffc7;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.note-editor.inline .fmt-bar button:hover,.note-editor.inline .fmt-bar button.on{color:#fff;background:#ffffff24}.note-editor.top .fmt-bar{border-bottom:1px solid var(--line);gap:2px;margin-bottom:8px;padding-bottom:6px;display:flex}.note-editor.top .fmt-bar button{width:30px;height:30px;color:var(--muted);border-radius:7px;place-items:center;display:grid}.note-editor.top .fmt-bar button.on,.note-editor.top .fmt-bar button:hover{background:var(--hover);color:var(--text)}.cv-image{background:var(--surface-2);flex-direction:column;height:100%;padding:0;display:flex;overflow:hidden}.cv-image img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex:1;width:100%;min-height:0;display:block}.cv-caption{color:var(--muted);background:var(--surface);white-space:nowrap;text-overflow:ellipsis;padding:7px 10px;font-size:12.5px;overflow:hidden}.cv-img-missing{color:var(--muted);flex:1;place-items:center;font-size:12px;display:grid}.cv-link{overflow:hidden}.cv-link-img{aspect-ratio:1.91;background:var(--surface-2);border-bottom:1px solid var(--line);overflow:hidden}.cv-link-img img{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;display:block}.cv-link-img.skeleton{background:linear-gradient(90deg, var(--surface-2), var(--hover), var(--surface-2));background-size:200% 100%;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.cv-link-body{gap:3px;padding:10px 12px;display:grid}.cv-link-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.cv-link-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.cv-link-site{color:var(--faint);align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.cv-link-site span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cv-link-site a{color:var(--muted);border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.cv-link-site a:hover{background:var(--hover);color:var(--blue)}.cv-color{flex-direction:column;height:100%;display:flex;overflow:hidden}.cv-swatch{flex:1;min-height:30px}.cv-color-meta{padding:8px 10px;line-height:1.3;display:grid}.cv-color-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.cv-color-meta span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.cv-checklist{padding:12px 12px 8px}.cv-cl-head{color:var(--accent,var(--blue));align-items:center;gap:8px;display:flex}.cv-cl-head strong{min-width:0;color:var(--text);flex:1;font-size:14.5px}.cv-cl-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.cv-track{color:var(--green);display:inline-grid}.cv-cl-bar{background:var(--hover);border-radius:99px;height:3px;margin:8px 0 4px;overflow:hidden}.cv-cl-bar span{background:var(--green);border-radius:inherit;height:100%;transition:width .3s;display:block}.cv-checklist.all-done .cv-cl-head strong{color:var(--muted);text-decoration:line-through}.cv-title-input{padding:2px 6px;font-size:14px;font-weight:600}.cl{gap:1px;display:grid}.cl-item{border-radius:6px;align-items:center;gap:8px;padding:4px 2px;display:flex}.cl-item:hover{background:var(--hover)}.cl-check{width:20px;height:20px;color:var(--faint);flex:none;place-items:center;display:grid}.cl-check svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:100%;height:100%}.cl-check path{opacity:0;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.cl-check:hover,.cl-item.done .cl-check,.cv-task.done .cl-check{color:var(--green)}.cl-item.done .cl-check rect,.cv-task.done .cl-check rect{fill:var(--green)}.cl-item.done .cl-check path,.cv-task.done .cl-check path{opacity:1;stroke:#fff}.cl-text{overflow-wrap:anywhere;flex:1;align-items:center;gap:4px;min-width:0;display:inline-flex}.cl-item.done .cl-text{color:var(--muted);text-decoration:line-through}.cl-promoted{color:var(--blue);flex:none}.cl-input{font-size:inherit;padding:2px 6px}.cl-actions{opacity:0;gap:1px;transition:opacity .12s;display:flex}.cl-item:hover .cl-actions{opacity:1}.cl-actions button{width:22px;height:22px;color:var(--faint);border-radius:5px;place-items:center;display:grid}.cl-actions button:hover{background:var(--surface);color:var(--text)}.cl-actions button.on{color:var(--blue)}.cl-add{color:var(--faint);align-items:center;gap:8px;padding:2px 4px;display:flex}.cl-add input{background:0 0;border:0;padding:5px 0;box-shadow:none!important}.cl-compact{font-size:13.5px}.cl-progress{color:var(--muted)}.cl-progress.all{color:var(--green)}.cv-task{align-items:center;gap:10px;padding:10px 10px 10px 12px;display:flex}.cv-task-body{flex:1;gap:2px;min-width:0;display:grid}.cv-task-title{overflow-wrap:anywhere;font-size:14px}.cv-task.done .cv-task-title{color:var(--muted);text-decoration:line-through}.cv-task .meta{font-size:12px}.cv-column{background:color-mix(in srgb, var(--text) 5%, transparent);width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;transition:background .15s,box-shadow .15s}.cv-column.drop{background:color-mix(in srgb, var(--blue) 9%, transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--blue) 55%, transparent)}.cv-col-head{align-items:center;gap:6px;padding:12px 14px 8px 10px;font-size:14px;display:flex}.cv-col-head strong{flex:1;font-weight:650}.cv-col-grip{color:var(--faint)}.cv-sketch{border-radius:6px;width:100%;height:100%}.cv-sketch svg{display:block;overflow:visible}.cv-sketch.sel{outline:1.5px dashed var(--blue);outline-offset:4px}.cv-project{overflow:hidden}.cv-project.missing{color:var(--muted);padding:14px;font-size:13px}.cv-mosaic{aspect-ratio:2;background:var(--line);gap:2px;display:grid;overflow:hidden}.cv-mosaic img{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;min-height:0;display:block}.cv-mosaic.n0{background:color-mix(in srgb, var(--accent,var(--blue)) 12%, var(--surface));color:var(--accent,var(--blue));place-items:center}.cv-mosaic.n2{grid-template-columns:1fr 1fr}.cv-mosaic.n3{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr}.cv-mosaic.n3 img:first-child{grid-row:span 2}.cv-mosaic.n4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.cv-project-body{gap:5px;padding:10px 12px 12px;display:grid}.cv-project-title{font-size:15px;font-weight:650}.cv-project-sub{color:var(--muted);font-size:12.5px}.cv-open{color:var(--accent,var(--blue));justify-self:start;align-items:center;gap:4px;padding:3px 8px 3px 0;font-size:12.5px;font-weight:600;display:inline-flex}.cv-flow .cv-handle{opacity:0;border-width:2px;width:10px;height:10px;transition:opacity .12s,transform .12s}.cv-flow .react-flow__node:hover .cv-handle,.cv-flow .react-flow__node.selected .cv-handle{opacity:1}.cv-flow .cv-handle:hover{transform:translate(-50%,-50%)scale(1.3)}.cv-flow .react-flow__handle-top.cv-handle:hover,.cv-flow .react-flow__handle-bottom.cv-handle:hover{transform:translate(-50%,50%)scale(1.3)}.cv-flow .react-flow__handle-top.cv-handle:hover{transform:translate(-50%,-50%)scale(1.3)}.cv-wrap:not(.editable) .cv-handle,.cv-wrap:not(.editable) .cv-resize-grip{display:none}.cv-flow .react-flow__resize-control.cv-resize-w{cursor:ew-resize;place-items:center;display:grid;background:0 0!important;border:0!important;width:14px!important;height:40px!important}.cv-resize-grip{background:var(--blue);opacity:0;border-radius:4px;width:4px;height:26px;transition:opacity .12s}.cv-flow .react-flow__node:hover .cv-resize-grip,.cv-flow .react-flow__node.selected .cv-resize-grip{opacity:.85}.cv-flow .cv-resize-handle{background:var(--surface);border:1.5px solid var(--blue);border-radius:3px;width:9px;height:9px}.cv-flow .cv-resize-line{border-color:#0000}.cv-flow .react-flow__edge.selected .react-flow__edge-path{stroke-width:2.2px}.cv-edge-label{pointer-events:all;color:var(--muted);border-radius:6px;min-width:10px;min-height:10px;font-size:12.5px;position:absolute}.cv-edge-label.has{background:var(--cv-bg);box-shadow:0 0 0 1px var(--line);padding:2px 8px}.cv-edge-label.sel{color:var(--text)}.cv-edge-label input{width:140px;padding:2px 6px;font-size:12.5px}.cv-edge-hint{opacity:.7}.cv-toolbar{z-index:5;background:var(--surface);box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:14px;left:14px}.cv-tool{width:40px;height:40px;color:var(--muted);border-radius:10px;place-items:center;display:grid;position:relative}.cv-tool:hover{background:var(--hover);color:var(--text)}.cv-tool.on{background:color-mix(in srgb, var(--blue) 12%, transparent);color:var(--blue)}.cv-tool-label{white-space:nowrap;color:#fff;opacity:0;pointer-events:none;background:#232327;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.cv-tool:hover .cv-tool-label{opacity:1}.cv-tool-sep{background:var(--line);height:1px;margin:4px 6px}.cv-pop{z-index:6;background:var(--surface);width:300px;box-shadow:var(--shadow-lg);border-radius:12px;gap:8px;padding:12px;display:grid;position:absolute;top:14px;left:72px}.cv-pop.mobile{top:auto;left:12px;right:12px;bottom:calc(90px + env(safe-area-inset-bottom));width:auto;transform:none}.cv-pop-head{color:var(--muted);font-size:12.5px;font-weight:600}.cv-pop-list{gap:1px;max-height:260px;display:grid;overflow-y:auto}.cv-pop-list button{text-align:left;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.cv-pop-list button:hover{background:var(--hover)}.cv-pop-list button svg{color:var(--muted);flex:none}.cv-pop-form{gap:6px;display:flex}.cv-pop .muted{margin:0}.primary.small{border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:13px;display:inline-flex}.cv-selbar{z-index:6;color:#fff;box-shadow:var(--shadow-lg);background:#232327;border-radius:999px;align-items:center;gap:10px;padding:5px 5px 5px 14px;font-size:13px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.cv-selbar button{color:#fff;background:#ffffff24;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:550;display:inline-flex}.cv-selbar button:hover{background:#ffffff38}.cv-controls{border-radius:10px;overflow:hidden;box-shadow:var(--shadow)!important;margin:14px!important}.cv-controls button{width:30px;height:30px}.cv-minimap{box-shadow:var(--shadow);border-radius:10px;overflow:hidden;margin:14px!important}.cv-empty{text-align:center;pointer-events:none;color:var(--muted);place-content:center;gap:4px;font-size:13.5px;display:grid;position:absolute;inset:0}.cv-empty strong{color:var(--text);font-size:15px;font-weight:600}.cv-busy{z-index:7;background:var(--surface);box-shadow:var(--shadow-lg);border-radius:999px;padding:6px 12px;font-size:13px;position:absolute;top:14px;right:14px}.draw-layer{z-index:8;position:absolute;inset:0}.draw-surface{cursor:crosshair;touch-action:none;background:color-mix(in srgb, var(--cv-bg) 25%, transparent);position:absolute;inset:0}.draw-surface svg{display:block}.draw-bar{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow-lg);border-radius:999px;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px 8px 6px 12px;display:flex;position:absolute;overflow-x:auto;transform:translate(-50%)}.draw-bar .ink{border-radius:50%;flex:none;width:22px;height:22px;box-shadow:inset 0 0 0 1px #0000001a}.draw-bar .ink.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.draw-bar .pen{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.draw-bar .pen span{background:var(--text);opacity:.55;border-radius:50%}.draw-bar .pen.on{background:var(--hover)}.draw-bar .pen.on span{opacity:1}.draw-sep{background:var(--line);flex:none;width:1px;height:22px}.draw-bar .ghost.small,.draw-bar .primary.small{white-space:nowrap;flex:none}@media (prefers-color-scheme:dark){.draw-bar .ink[style*=\#1f1f22]{background:#ececee!important}}.cv-sheet{z-index:45;width:380px;box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;right:0}.cv-sheet-title{flex:1;padding:4px;font-size:16px}.sheet-editor{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:180px;padding:8px 10px}.sheet-img{border-radius:10px;width:100%;display:block}.color-edit{align-items:center;gap:8px;display:flex}.color-edit input[type=color]{cursor:pointer;flex:none;width:52px;height:40px;padding:3px}.swatch.plain{box-shadow:inset 0 0 0 1px var(--line)}.cv-lock{z-index:6;background:var(--surface);box-shadow:var(--shadow-lg);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:550;display:inline-flex;position:absolute;top:12px;right:12px}.cv-lock.on{background:var(--blue);color:#fff}.cv-fab{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:6;background:var(--accent,var(--blue));color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:absolute;box-shadow:0 10px 26px #14141e47}.cv-addsheet{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:6;background:var(--surface);box-shadow:var(--shadow-lg);border-radius:18px;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px;display:grid;position:absolute}.cv-addsheet button{color:var(--text);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;font-size:12.5px;font-weight:500;display:flex}.cv-addsheet button svg{color:var(--accent,var(--blue))}.cv-addsheet button:active{background:var(--hover)}@media (width<=860px){.cv-wrap{height:calc(100dvh - 190px - env(safe-area-inset-top));box-shadow:none;border-radius:0;margin:0 -16px}.cv-controls{display:none}.cv-sheet{width:auto;max-height:86vh;top:auto;left:0}.cl-actions{opacity:1}}.cv-flow .react-flow__edgelabel-renderer{z-index:1000}.cv-wrap.mobile .react-flow__controls{display:none!important}.cv-loading{animation:none}.cv-flow .react-flow__minimap{background:var(--surface)}.cv-flow .react-flow__minimap-mask{fill:color-mix(in srgb, var(--cv-bg) 72%, transparent)}.cv-flow .react-flow__controls-button{background:var(--surface);border-bottom:1px solid var(--line);color:var(--text)}.cv-flow .react-flow__controls-button:hover{background:var(--surface-2)}.cv-flow .react-flow__controls-button svg{fill:currentColor;max-width:11px;max-height:11px}.cv-flow .react-flow__attribution{opacity:.45;background:0 0;font-size:9px}.cv-flow .react-flow__attribution a{color:var(--muted)}@media (prefers-color-scheme:dark){.cv-sketch path[fill=\#1f1f22],.draw-surface path[fill=\#1f1f22]{fill:#ececee}}.draw-bar{gap:10px;padding:6px 6px 6px 12px;overflow:visible}.draw-tools,.draw-actions{align-items:center;gap:6px;display:flex}.draw-actions .icon-btn:disabled{opacity:.35}@media (width<=860px){.draw-bar{border-radius:18px;flex-direction:column;align-items:stretch;gap:6px;width:max-content;max-width:calc(100% - 24px);padding:8px 10px}.draw-tools{justify-content:space-between}.draw-actions{border-top:1px solid var(--line);justify-content:space-between;padding-top:6px}.draw-actions .primary.small{flex:1;justify-content:center;padding:9px 12px;font-size:14px}}.draw-surface.tool-text{cursor:text}.draw-surface.tool-rect,.draw-surface.tool-ellipse{cursor:crosshair}.draw-bar .pen.tool{color:var(--muted)}.draw-bar .pen.tool.on{color:var(--blue);background:color-mix(in srgb, var(--blue) 12%, transparent)}.draw-bar .pen:disabled{opacity:.3}.draw-text-input{background:color-mix(in srgb, var(--surface) 80%, transparent);resize:none;field-sizing:content;border:0;border-radius:4px;outline:none;width:auto;min-width:140px;margin:0;padding:0;font-family:inherit;font-weight:500;line-height:1.25;position:absolute;box-shadow:0 0 0 1.5px var(--blue)!important}@media (prefers-color-scheme:dark){.cv-sketch text[fill=\#1f1f22],.draw-surface text[fill=\#1f1f22]{fill:#ececee}.cv-sketch [stroke=\#1f1f22],.draw-surface [stroke=\#1f1f22]{stroke:#ececee}}@media (width<=860px){.draw-tools+.draw-tools{border-top:1px solid var(--line);padding-top:6px}}.draw-bar{transition:opacity .15s,transform .15s}@media (width<=860px){.draw-layer.stroking .draw-bar{opacity:0;pointer-events:none;transform:translate(-50%)translateY(8px)}}.tabs{scrollbar-width:none;overflow-y:hidden}.tabs::-webkit-scrollbar{display:none}.cv-pop-search{background:var(--hover);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex}.cv-pop-search input{color:var(--text,inherit);background:0 0;border:0;outline:none;flex:1;padding:7px 0;font-size:14px}.cv-pop-list button.dim{opacity:.5}.cv-pop-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cv-pop-meta{color:var(--muted);white-space:nowrap;font-size:12px}.cv-pop-tag{color:var(--muted);background:var(--hover);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600}.cv-ctx{z-index:60;background:var(--surface);min-width:210px;box-shadow:var(--shadow-lg);transform-origin:0 0;border-radius:11px;gap:1px;padding:5px;animation:90ms ease-out cv-ctx-in;display:grid;position:fixed}@keyframes cv-ctx-in{0%{opacity:0;transform:scale(.97)}}.cv-ctx-title{color:var(--muted);letter-spacing:.02em;padding:5px 10px 4px;font-size:11.5px;font-weight:600}.cv-ctx-sep{background:var(--line);height:1px;margin:4px 6px}.cv-ctx button{text-align:left;color:inherit;cursor:default;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:6px 10px;font-size:13.5px;display:flex}.cv-ctx button:hover:not(:disabled){background:var(--hover)}.cv-ctx button:disabled{opacity:.38}.cv-ctx-icon{width:16px;color:var(--muted);display:inline-flex}.cv-ctx-label{flex:1}.cv-ctx kbd{font:inherit;color:var(--muted);font-size:11.5px}.cv-ctx button.danger{color:var(--red);font-weight:inherit;background:0 0;border-radius:7px;padding:6px 10px}.cv-ctx button.danger .cv-ctx-icon{color:inherit}.cv-ctx button.danger:hover{background:#d0453a17}.color-pick{flex-wrap:wrap;gap:8px;display:flex}.cv-dropper{z-index:80;cursor:crosshair;touch-action:none;position:fixed;inset:0}.cv-dropper-hint{top:calc(14px + env(safe-area-inset-top));color:#fff;box-shadow:var(--shadow-lg);cursor:default;white-space:nowrap;background:#232327;border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 14px;font-size:13px;font-weight:500;display:flex;position:fixed;left:50%;transform:translate(-50%)}.cv-dropper-hint button{color:#fff;background:#ffffff24;border:0;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.cv-loupe{pointer-events:none;background:var(--surface);box-shadow:var(--shadow-lg);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:7px;padding:4px 9px 4px 4px;font-size:12.5px;display:flex;position:fixed;transform:translate(16px,16px)}.cv-loupe.touch{transform:translate(-50%,-84px)}.cv-loupe-dot{border-radius:50%;width:26px;height:26px;box-shadow:inset 0 0 0 1px #0000001f}.cv-loupe-hex{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cv-wrap{-webkit-user-select:none;user-select:none}.cv-wrap [contenteditable=true],.cv-wrap input,.cv-wrap textarea{-webkit-user-select:text;user-select:text}.cv-board{box-shadow:none;background:0 0;overflow:visible}.cv-board-tile{aspect-ratio:1.45;color:var(--muted);background:color-mix(in srgb, var(--muted) 10%, var(--surface));box-shadow:var(--shadow), 0 4px 0 -1px var(--surface), 0 4px 0 0 var(--line), 0 8px 0 -2px var(--surface), 0 8px 0 -1px var(--line);border-radius:12px;place-items:center;transition:transform .12s,box-shadow .12s;display:grid;position:relative;overflow:hidden}.cv-board-tile.dark{color:#ffffffb3}.cv-board:hover .cv-board-tile{transform:translateY(-1px)}.cv-board.sel .cv-board-tile{box-shadow:0 0 0 2px var(--blue), 0 4px 0 -1px var(--surface), 0 4px 0 0 var(--line), 0 8px 0 -2px var(--surface), 0 8px 0 -1px var(--line)}.cv-board.drop .cv-board-tile{box-shadow:0 0 0 3px var(--blue), var(--shadow-lg);transform:scale(1.04)}.cv-board-tile .cv-mosaic{aspect-ratio:auto;position:absolute;inset:0}.cv-board-swatches{display:flex;position:absolute;inset:0}.cv-board-swatches span{flex:1}.cv-board-body{padding:12px 4px 2px}.cv-board-title{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;line-height:1.3;overflow:hidden}.cv-board-sub{color:var(--muted);align-items:center;gap:9px;margin-top:2px;font-size:12px;display:flex}.cv-board-sub span{align-items:center;gap:3px;display:inline-flex}.cv-crumbs{z-index:5;background:var(--surface);max-width:calc(100% - 200px);box-shadow:var(--shadow-lg);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:2px;padding:4px 12px 4px 4px;font-size:13.5px;display:flex;position:absolute;top:14px;left:72px;overflow:hidden}.cv-crumbs button{color:inherit;font:inherit;background:0 0;border:0;border-radius:999px;padding:4px 9px}.cv-crumbs button:hover{background:var(--hover);color:var(--text,inherit)}.cv-crumbs strong{color:var(--text,inherit);text-overflow:ellipsis;padding:0 6px;font-weight:600;overflow:hidden}.cv-crumbs svg{opacity:.5;flex:none}.cv-wrap.in-board .cv-pop:not(.mobile){top:60px}.cv-wrap.mobile .cv-crumbs{max-width:calc(100% - 140px);top:12px;left:12px}.cv-wrap.in-board .cv-selbar{top:60px}.cv-ctx-subwrap{display:grid;position:relative}.cv-ctx-subwrap>button.open{background:var(--hover)}.cv-ctx-more{color:var(--muted);margin-left:6px}.cv-ctx-sub{animation:none;position:absolute;top:-5px;left:calc(100% + 4px)}.cv-ctx-sub.flip{left:auto;right:calc(100% + 4px)}.cv-ctx-subwrap:after{content:"";width:8px;position:absolute;top:0;bottom:0;left:100%}.cv-ctx-subwrap:has(.flip):after{left:auto;right:100%}.cv-guide{pointer-events:none;z-index:1000;background:#e8478b;position:absolute}.cv-guide.v{width:1px}.cv-guide.h{height:1px}:root{--paper:#fffdf7;--rule:#6080b033;--margin-rule:#d65c5c52;--ink:#2a2930}.page-html{color:var(--ink);overflow-wrap:anywhere}.page-html>*{margin:0}.page-html ul,.page-html ol{padding-left:1.3em}.page-html li p{margin:0}.page-html a{color:#3366c4}.page-html blockquote{border-left:3px solid var(--margin-rule);color:#5b5a63;padding-left:.8em;font-style:italic}.page-html h1,.page-html h2,.page-html h3{letter-spacing:-.01em;font-weight:650}.cv-page{background:var(--paper);aspect-ratio:1/1.414;position:relative;overflow:hidden}.cv-page:before{content:"";background:var(--margin-rule);width:1px;position:absolute;top:0;bottom:0;left:26px}.cv-page:after{content:"";background:linear-gradient(to bottom, transparent, var(--paper));pointer-events:none;height:56px;position:absolute;bottom:0;left:0;right:0}.cv-page-body{background-image:linear-gradient(to bottom, transparent 21px, var(--rule) 21px, var(--rule) 22px);background-size:100% 22px;background-origin:content-box;background-clip:content-box;padding:22px 16px 0 36px;position:absolute;inset:0}.cv-page-body .page-html{font-size:12.5px;line-height:22px}.cv-page-body .page-html h1{font-size:15.5px;line-height:22px}.cv-page-body .page-html h2{font-size:13.5px}.cv-page-body .page-html h3{font-size:12.5px}.cv-page-empty{color:#2a29304d;font-size:12.5px;line-height:22px}.cv-page.sel{box-shadow:0 0 0 2px var(--blue), var(--shadow)}.page-overlay{z-index:70;overscroll-behavior:contain;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e1e226b;flex-direction:column;align-items:center;padding:0 16px 64px;animation:.14s ease-out page-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes page-in{0%{opacity:0}}.page-bar{z-index:2;align-items:center;gap:10px;width:min(794px,100%);margin:0 0 14px;padding:12px 0 10px;display:flex;position:sticky;top:0}.page-bar .fmt-bar{background:var(--surface);box-shadow:var(--shadow-lg);scrollbar-width:none;border-radius:11px;gap:2px;padding:4px;display:flex;overflow-x:auto}.page-bar .fmt-bar button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.page-bar .fmt-bar button:hover{background:var(--hover)}.page-bar .fmt-bar button.on{background:var(--hover);color:var(--text,inherit)}.fmt-sep{background:var(--line);flex:none;width:1px;margin:6px 3px}.page-count{color:#ffffffd9;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12.5px}.page-close{background:var(--surface);width:38px;height:38px;box-shadow:var(--shadow-lg);color:inherit;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.page-sheet{background:var(--paper);cursor:text;border-radius:4px;flex:none;width:min(794px,100%);min-height:min(1123px,100vh - 140px);padding:64px 64px 96px 92px;position:relative;box-shadow:0 18px 50px #00000047}.page-sheet:before{content:"";background:var(--margin-rule);width:1px;position:absolute;top:0;bottom:0;left:70px}.page-sheet .ProseMirror{caret-color:#3366c4;background-image:linear-gradient(to bottom, transparent 31px, var(--rule) 31px, var(--rule) 32px);background-size:100% 32px;outline:none;min-height:900px;font-size:16.5px;line-height:32px}.page-sheet .page-html h1{font-size:25px;line-height:32px}.page-sheet .page-html h2{font-size:20px;line-height:32px}.page-sheet .page-html h3{font-size:17px;line-height:32px}@media (width<=720px){.page-overlay{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 0 40px}.page-bar{padding:calc(8px + env(safe-area-inset-top)) 10px 8px;background:var(--paper);width:100%;margin:0}.page-count{color:var(--muted)}.page-sheet{box-shadow:none;border-radius:0;min-height:calc(100vh - 70px);padding:20px 18px 80px 40px}.page-sheet:before{left:26px}.page-sheet .ProseMirror{background-size:100% 30px;background-image:linear-gradient(to bottom, transparent 29px, var(--rule) 29px, var(--rule) 30px);min-height:60vh;font-size:16px;line-height:30px}.page-sheet .page-html h1{font-size:22px;line-height:30px}.page-sheet .page-html h2,.page-sheet .page-html h3{line-height:30px}}.repeat{gap:8px;display:grid}.rule-ed{background:var(--hover);border-radius:10px;gap:10px;padding:12px;display:grid}.rule-row,.rule-radio{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rule-row span,.rule-radio span{font-size:14px}.rule-n{text-align:center;width:64px}.rule-month{gap:8px;display:grid}.rule-radio input[type=radio]{accent-color:var(--blue);width:16px;height:16px;margin:0}.rule-radio select:disabled{opacity:.45}.wd-chips{flex-wrap:wrap;gap:5px;display:flex}.wd-chips button{background:var(--surface);width:38px;height:38px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:50%;font-size:13px;font-weight:600}.wd-chips button.on{background:var(--blue);color:#fff;box-shadow:none}.rule-hint{color:var(--muted);margin:0;font-size:12.5px}.rule-ed select,.rule-ed input.rule-n{flex:0 auto;width:auto;min-width:0;padding-top:7px;padding-bottom:7px}.rule-row,.rule-radio{flex-wrap:nowrap}.rule-radio select:last-child{flex:auto}.task.is-far{opacity:.5;transition:opacity .15s}.task.is-far:hover,.task.is-far.is-active{opacity:1}.billing-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 14px;display:flex}.billing-bar .month-nav{margin:0}.nav-item.ctx:not(.on){background:var(--hover)}.toasts{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:90;justify-items:center;gap:8px;display:grid;position:fixed;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow-lg);background:#232327;border-radius:12px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:9px 9px 9px 16px;font-size:14px;animation:.16s ease-out toast-in;display:flex}.toast span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast button{color:#fff;font-weight:600;font:inherit;background:#ffffff24;border:0;border-radius:8px;flex:none;padding:6px 11px;font-weight:600}.toast button:hover{background:#ffffff38}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.task.ctx-open{background:var(--hover)}.brand picture,.login picture{display:flex}.view.notes-mode{max-width:1240px}.notebook{background:var(--surface);height:calc(100vh - 190px);min-height:420px;box-shadow:var(--shadow);border-radius:14px;grid-template-columns:290px minmax(0,1fr);display:grid;overflow:hidden}.notes-loading{opacity:.5}.notes-list{border-right:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, var(--bg,#f6f5f2));flex-direction:column;min-height:0;display:flex}.notes-tools{gap:8px;padding:12px;display:flex}.notes-search{background:var(--hover);color:var(--muted);border-radius:9px;flex:1;align-items:center;gap:7px;padding:0 10px;display:flex}.notes-search input{min-width:0;color:inherit;background:0 0;border:0;outline:none;flex:1;padding:8px 0;font-size:14px}.notes-new{background:var(--accent,var(--blue));color:#fff;border:0;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.notes-new:hover{filter:brightness(1.06)}.notes-items{flex:1;align-content:start;gap:2px;padding:0 8px 12px;display:grid;overflow-y:auto}.notes-item{text-align:left;color:inherit;cursor:default;background:0 0;border:0;border-radius:10px;gap:3px;padding:10px 12px;display:grid;position:relative}.notes-item:hover{background:var(--hover)}.notes-item.on{background:color-mix(in srgb, var(--accent,var(--blue)) 13%, transparent)}.notes-item-title{text-overflow:ellipsis;white-space:nowrap;padding-right:16px;font-size:14.5px;font-weight:600;overflow:hidden}.notes-item-meta{color:var(--muted);gap:8px;min-width:0;font-size:12.5px;display:flex}.notes-item-meta>span:first-child{color:var(--text,inherit);opacity:.7;flex:none}.notes-item-snippet{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes-item-canvas{color:var(--muted);position:absolute;top:12px;right:10px}.notes-empty{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:40px 16px;font-size:14px;display:grid}.notes-empty p{margin:0}.notes-pane{min-width:0;min-height:0;display:flex}.notes-blank{color:var(--muted);margin:auto;font-size:14px}.notes-page{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.notes-bar{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:10px 14px;display:flex}.notes-bar .fmt-bar{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.notes-bar .fmt-bar button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.notes-bar .fmt-bar button:hover{background:var(--hover)}.notes-bar .fmt-bar button.on{background:var(--hover);color:var(--text,inherit)}.notes-count{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;padding:0 6px;font-size:12.5px}.notes-bar .icon-btn.on{color:var(--accent,var(--blue))}.notes-scroll{cursor:text;flex:1;padding:34px 48px 80px;overflow-y:auto}.notes-scroll>*{max-width:720px;margin-left:auto;margin-right:auto}.notes-title{letter-spacing:-.02em;width:100%;color:inherit;background:0 0;border:0;outline:none;margin-bottom:14px;padding:0;font-size:28px;font-weight:700;display:block}.notes-title::placeholder{color:var(--muted);opacity:.45}.notes-html{outline:none;min-height:50vh;font-size:16px;line-height:1.65}.notes-html>*{margin:0 0 .7em}.notes-html h1{margin-top:1.2em;font-size:22px}.notes-html h2{margin-top:1.1em;font-size:18px}.notes-html h3{margin-top:1em;font-size:16px}.notes-html ul,.notes-html ol{padding-left:1.4em}.notes-html li p{margin:.15em 0}.notes-html blockquote{border-left:3px solid var(--line);color:var(--muted);padding-left:.9em}.notes-html a{color:var(--blue)}.notes-html p.is-editor-empty:first-child:before{content:attr(data-placeholder)}@media (width<=760px){.notebook{border-radius:12px;grid-template-columns:minmax(0,1fr);height:calc(100dvh - 170px)}.notes-pane,.notebook.editing .notes-list{display:none}.notebook.editing .notes-pane{display:flex}.notes-bar{gap:2px;padding:8px}.notes-count{display:none}.notes-scroll{padding:18px 18px 60px}.notes-title{font-size:24px}.notes-bar .fmt-bar{flex:auto;min-width:0}.notes-bar>.icon-btn,.notes-bar>.danger{flex:none}}.quickadd.with-chips{flex-direction:column;align-items:stretch;gap:0;padding-bottom:10px}.quickadd-row{align-items:center;gap:8px;display:flex}.quickadd-row input{flex:1;min-width:0}.quickadd:not(.with-chips) .quickadd-row{flex:1}.qa-chips{flex-wrap:wrap;gap:6px;padding-left:26px;display:flex}.qa-chip{background:var(--hover);height:28px;color:var(--muted);font:inherit;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:999px;align-items:center;gap:5px;max-width:220px;padding:0 10px;font-size:12.5px;font-weight:500;display:inline-flex;overflow:hidden}.qa-chip:hover{color:var(--text,inherit)}.qa-chip.set{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.qa-chip.prio-3{color:#d0453a;background:#d0453a1a}.qa-date{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.quickadd{position:relative}.fresh{margin:4px 0 18px}.fresh-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;margin:0 4px 6px;font-size:12px;font-weight:600;display:flex}.fresh-head .link-btn{text-transform:none;letter-spacing:0;margin:0;padding:0;font-weight:500}.fresh .task{animation:.25s ease-out fresh-in}@keyframes fresh-in{0%{opacity:0;transform:translateY(-4px)}}@media (width<=760px){.qa-chips{scrollbar-width:none;flex-wrap:nowrap;gap:5px;margin:0 -4px;padding:2px 4px;overflow-x:auto}.qa-chips::-webkit-scrollbar{display:none}.qa-chip{flex:none;padding:0 9px;font-size:13px}}.tab-pick{flex-wrap:wrap;gap:6px;display:flex}.tab-pick button{background:var(--hover);height:32px;color:var(--muted);font:inherit;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 12px;font-size:13.5px;font-weight:500;display:inline-flex}.tab-pick button.on{background:color-mix(in srgb, var(--accent,var(--blue)) 14%, transparent);color:var(--accent,var(--blue))}.tab-pick button:disabled{cursor:default;opacity:.75}.field-hint{color:var(--muted);margin:6px 0 0;font-size:12.5px}.has-bg.accent-clash:not(.bg-light) .area-title,.has-bg.accent-clash:not(.bg-light) .area-title h1{color:color-mix(in srgb, var(--accent) 30%, #fff)}.has-bg.accent-clash:not(.bg-light) .area-badge{background:#fff3}.stats-scrim{z-index:70;background:#00000047;place-items:start center;padding:10vh 16px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.stats{background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow-lg);border-radius:14px;padding:18px}.stats-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.stats-head h2{flex:1;margin:0;font-size:17px}.stats-people{gap:8px;margin-bottom:18px;display:grid}.stats-person{grid-template-columns:10px auto auto 1fr;align-items:baseline;gap:8px;display:grid}.stats-person .dot{border-radius:50%;align-self:center;width:10px;height:10px}.stats-now{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.stats-person em{color:var(--muted);font-size:13px;font-style:normal}.stats-chart{gap:4px;height:160px;display:grid}.stats-col{flex-direction:column;min-width:0;display:flex}.stats-bar{flex-direction:column-reverse;flex:1;gap:1px;display:flex;position:relative}.stats-bar>span:not(.stats-sum){border-radius:3px;min-height:3px}.stats-sum{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;order:99;font-size:10px}.stats-col small{text-align:center;color:var(--muted);white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.stats-col.cur small{color:var(--text);font-weight:600}@media (width<=520px){.stats-head{flex-wrap:wrap}.stats-head h2{flex-basis:100%;order:-1}.stats-scrim{padding-top:6vh}.stats-head .icon-btn{margin-left:auto}}.stats-col{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;border-radius:6px;padding:0 0 2px}.stats-col:hover{background:var(--hover)}.stats-col.sel{background:var(--hover);box-shadow:inset 0 0 0 1.5px var(--accent,#3b6fd8)}.stats-col.sel small{color:var(--text);font-weight:600}.stats-list{border-top:1px solid var(--line,#00000014);max-height:40vh;margin-top:16px;padding-top:12px;overflow-y:auto}.stats-list-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.stats-list-head span,.stats-empty{color:var(--muted);font-size:13px}.stats-item{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:7px 6px;display:grid}.stats-item:hover{background:var(--hover)}.stats-item .dot{border-radius:50%;width:8px;height:8px}.stats-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stats-item em,.stats-item time{color:var(--muted);white-space:nowrap;font-size:12px;font-style:normal}@media (width<=520px){.stats-item{grid-template-columns:10px minmax(0,1fr) auto}.stats-item em{display:none}}.list{overflow-anchor:none}.stats.api{width:min(620px,100%)}.api-hint{color:var(--muted);margin:-6px 0 14px;font-size:13px}.api-new{gap:8px;margin-bottom:12px;display:flex}.api-new input{flex:1;min-width:0}.api-new button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.api-fresh{background:var(--hover);border-radius:10px;margin-bottom:12px;padding:10px 12px}.api-fresh p{color:var(--muted);margin:2px 0 8px;font-size:13px}.api-tokens{gap:2px;margin-bottom:14px;display:grid}.api-token{color:var(--muted);border-radius:8px;grid-template-columns:16px minmax(0,1fr) auto auto 30px;align-items:center;gap:10px;padding:4px 4px 4px 6px;display:grid}.api-token:hover{background:var(--hover)}.api-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.api-token code{font-size:12px}.api-token em{white-space:nowrap;font-size:12px;font-style:normal}.api-copy{margin:6px 0;position:relative}.api-copy>span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.api-copy pre{background:var(--hover);white-space:pre-wrap;word-break:break-all;border-radius:8px;max-height:260px;margin:0;padding:9px 40px 9px 11px;font-size:12px;overflow:auto}.api-copy .icon-btn{position:absolute;bottom:4px;right:4px}.api-docs{border-top:1px solid var(--border,#7f7f7f2e);padding:10px 0 2px}.api-docs summary{cursor:pointer;font-weight:600}.api-docs p,.api-docs li{font-size:13px}.api-docs ul{gap:4px;margin:6px 0;padding-left:18px;display:grid}.api-docs code{overflow-wrap:anywhere;font-size:12px}@media (width<=520px){.api-token{grid-template-columns:16px minmax(0,1fr) auto 30px}.api-token em{display:none}.api-new{flex-direction:column}}.stats.settings{width:min(520px,100%)}.set-h{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 6px;font-size:12px}.set-h:first-of-type{margin-top:4px}.set-hint{color:var(--muted);margin:0 0 8px;font-size:13px}.set-row{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:10px 8px;display:flex}.set-row:hover{background:var(--hover)}.set-icon{background:var(--hover);width:34px;height:34px;color:var(--text);border-radius:9px;flex:none;place-items:center;display:grid}.set-text{flex-direction:column;flex:1;min-width:0;display:flex}.set-text em{color:var(--muted);font-size:13px;font-style:normal}.switch{appearance:none;background:var(--faint);cursor:pointer;border-radius:99px;flex:none;width:42px;height:25px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch:checked{background:var(--green)}.switch:checked:after{transform:translate(17px)}.view.recipes,.view.recipe{max-width:1040px}.rc-import{gap:8px;margin-bottom:12px;display:flex}.rc-import input{flex:1;min-width:0}.rc-search{background:var(--surface);box-shadow:var(--shadow);color:var(--muted);border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:0 12px;display:flex}.rc-search input{box-shadow:none;background:0 0;border:0;outline:none;flex:1;padding:10px 0}.rc-cats{scrollbar-width:none;gap:6px;margin-bottom:8px;padding:2px 2px 10px;display:flex;overflow-x:auto}.rc-cats::-webkit-scrollbar{display:none}.rc-cats button{background:var(--surface);box-shadow:var(--shadow);white-space:nowrap;color:var(--text);border-radius:99px;flex:none;align-items:center;gap:5px;padding:6px 12px;font-size:13.5px;display:inline-flex}.rc-cats button em{color:var(--muted);font-size:12px;font-style:normal}.rc-cats button.on{background:var(--text);color:var(--surface)}.rc-cats button.on em{color:inherit;opacity:.7}.rc-cats .rc-cat-add{color:var(--muted);padding:6px 9px}.rc-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.rc-card{text-align:left;background:var(--surface);box-shadow:var(--shadow);color:inherit;border-radius:12px;flex-direction:column;padding:0 0 10px;transition:transform .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.rc-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.rc-img{aspect-ratio:4/3;background:var(--surface-2);color:var(--faint);place-items:center;display:grid;overflow:hidden}.rc-img img{object-fit:cover;width:100%;height:100%;display:block}.rc-card strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:9px 12px 2px;font-size:14.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.rc-meta{color:var(--muted);flex-wrap:wrap;gap:10px;padding:2px 12px 0;font-size:12.5px;display:flex}.rc-meta span{align-items:center;gap:4px;display:inline-flex}.rc-fav{color:#f5b301;filter:drop-shadow(0 1px 2px #00000059);position:absolute;top:8px;right:8px}.rc-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.rc-actions{align-items:center;gap:6px;display:flex}.rc-actions .rc-on{color:#f5b301}.rc-hero{background:var(--surface-2);border-radius:14px;max-height:360px;margin-bottom:18px;overflow:hidden}.rc-hero img{object-fit:cover;width:100%;max-height:360px;display:block}.rc-title{margin:0 0 8px;font-size:28px;line-height:1.2}.rc-info{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-bottom:16px;font-size:14px;display:flex}.rc-info span,.rc-info a{align-items:center;gap:5px;display:inline-flex}.rc-info a{color:var(--blue);text-decoration:none}.rc-cook{align-items:center;gap:8px;margin-bottom:22px;display:inline-flex}.rc-body{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.rc-body h2,.cook-ing h2{margin:0 0 12px;font-size:18px}.rc-ing{background:var(--surface);box-shadow:var(--shadow);border-radius:12px;padding:16px;position:sticky;top:16px}.rc-ing-head,.cook-ing-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.rc-ing-head h2,.cook-ing-head h2{margin:0}.rc-serv{background:var(--hover);border-radius:99px;align-items:center;gap:2px;padding:2px;display:inline-flex}.rc-serv .icon-btn{width:28px;height:28px}.rc-serv-val{white-space:nowrap;font-variant-numeric:tabular-nums;padding:0 6px;font-size:13px;font-weight:600}.rc-serv.changed .rc-serv-val{color:var(--blue)}.rc-ing-list{margin:0;padding:0;list-style:none}.rc-ing-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(64px,auto) 1fr;gap:10px;padding:7px 0;font-size:15px;line-height:1.35;display:grid}.rc-ing-list li:last-child{border-bottom:0}.rc-q{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.rc-ing-list .rc-ing-h{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:0;padding:14px 0 4px;font-size:12px;font-weight:700;display:block}.rc-ing-list li.rc-chk{cursor:pointer;-webkit-user-select:none;user-select:none}.rc-ing-list li.rc-done{opacity:.4;text-decoration:line-through}.rc-step-list{counter-reset:none;margin:0 0 24px;padding:0;list-style:none}.rc-step-list li{grid-template-columns:30px 1fr;gap:12px;margin-bottom:16px;display:grid}.rc-step-list p{white-space:pre-wrap;margin:3px 0 0;font-size:16px;line-height:1.6}.rc-n{background:var(--text);width:28px;height:28px;color:var(--surface);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.rc-step-list .rc-step-h{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:22px 0 10px;font-size:13px;font-weight:700;display:block}.rc-notes{white-space:pre-wrap;color:var(--text);line-height:1.55}.rc-muted{color:var(--muted)}.rc-form{gap:14px;max-width:760px;display:grid}.rc-field{gap:5px;min-width:0;display:grid}.rc-field>span{color:var(--muted);font-size:13px;font-weight:600}.rc-field>span em{margin-left:6px;font-style:normal;font-weight:400}.rc-field textarea{font:inherit;resize:vertical;line-height:1.5}.rc-row{grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}.rc-row:has(>.small:first-child){grid-template-columns:repeat(3,1fr)}.rc-img-edit{align-items:center;gap:14px;display:flex}.rc-img-edit img,.rc-img-ph{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);width:120px;color:var(--faint);border-radius:10px;place-items:center;display:grid}.rc-img-edit>div{flex-wrap:wrap;gap:6px;display:flex}@media (width<=760px){.rc-body{grid-template-columns:1fr;gap:20px}.rc-ing{position:static}.rc-title{font-size:23px}.rc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}:is(.rc-row,.rc-row:has(>.small:first-child)){grid-template-columns:1fr 1fr}.rc-row>.rc-field:not(.small){grid-column:1/-1}.rc-cook{justify-content:center;width:100%}.view.recipes .view-head .ghost{padding:7px 9px}}.cook{z-index:90;background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex;position:fixed;inset:0}.cook-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex}.cook-top strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.cook-tools{gap:4px;display:flex}.cook-tools .icon-btn{width:40px;height:40px}.cook-tools .icon-btn.on{background:var(--hover)}.cook-timers{flex-wrap:wrap;gap:8px;padding:10px 18px 0;display:flex}.cook-timer{background:var(--surface);box-shadow:var(--shadow);font:inherit;color:inherit;border-radius:99px;align-items:center;gap:7px;padding:7px 12px;display:inline-flex}.cook-timer b{font-variant-numeric:tabular-nums;font-size:16px}.cook-timer span{color:var(--muted);font-size:12.5px}.cook-timer.ring{background:var(--red);color:#fff;animation:.8s ease-in-out infinite alternate cookpulse}.cook-timer.ring span{color:#fff}@keyframes cookpulse{to{transform:scale(1.06)}}.cook-main{flex:1;min-height:0;display:flex}.cook-ing{border-right:1px solid var(--line);background:var(--surface);flex:none;width:340px;padding:18px;overflow-y:auto}.cook-ing .rc-ing-list li{padding:9px 0;font-size:16px}.cook-step{flex-direction:column;flex:1;justify-content:center;min-width:0;padding:5vh 6vw;display:flex;overflow-y:auto}.cook-count{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.cook-count em{text-transform:uppercase;letter-spacing:.05em;background:var(--hover);border-radius:6px;padding:3px 8px;font-size:12px;font-style:normal}.cook-text{white-space:pre-wrap;max-width:34em;margin:0;font-size:clamp(22px,3.2vw,34px);line-height:1.45}.cook-timer-btns{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.cook-timer-btns .ghost{background:var(--surface);box-shadow:var(--shadow);padding:10px 14px;font-size:15px}.cook-done{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.cook-nav{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 18px 16px;display:flex}.cook-btn{background:var(--surface);box-shadow:var(--shadow);color:var(--text);border-radius:12px;align-items:center;gap:4px;padding:14px 18px;font-size:17px;font-weight:600;display:inline-flex}.cook-btn.next{background:var(--blue);color:#fff;box-shadow:none}.cook-btn:disabled{opacity:.35}.cook-dots{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;display:flex}.cook-dots button{background:var(--faint);opacity:.5;border-radius:50%;width:9px;height:9px;padding:0}.cook-dots button.past{opacity:1;background:var(--muted)}.cook-dots button.on{opacity:1;background:var(--blue);transform:scale(1.3)}@media (width<=900px){.cook.with-ing .cook-main{flex-direction:column}.cook-ing{border-right:0;border-bottom:1px solid var(--line);width:auto;max-height:42%}.cook-step{justify-content:flex-start;padding:24px 22px}.cook-btn{padding:13px 14px}}
