.cal{--app-accent:var(--acc-calendar);--cal-on-accent:#fff;--cal-ink:var(--app-ink);--cal-muted:var(--app-muted);--cal-line:var(--app-line-strong);--cal-hour-line:var(--app-line);--cal-hl:color-mix(in srgb, var(--app-ink) 5%, transparent);--cal-hover:var(--app-hover);--cal-now:var(--app-ink);--cal-slate:var(--tc-gray);--cal-shadow:#0000004d;--cal-head-bg:#010001;--cal-head:#ffffffc7;--cal-board:var(--app-surface);--cal-radius:3px;--cal-ease:var(--app-ease);min-height:0;font-family:var(--font-hanken), ui-sans-serif, system-ui, sans-serif;color:var(--cal-ink)}:root[data-theme=dark] .cal{--cal-on-accent:#121212;--cal-shadow:#0009;--cal-head-bg:#050505}.cal{--tc-red:#c42c45;--tc-orange:#f08a6e;--tc-green:#f6b98f;--tc-amber:#f2c879;--tc-pink:#f5a9b8;--tc-violet:#d38bb5;--tc-blue:#9aa2e0;--tc-teal:#b9b2ea;--tc-gray:#dcd6d8}.cal [data-color=red]{--on:#fff}:root[data-theme=dark] .cal{--tc-red:#e2566c;--tc-gray:#b8b1b5}:root[data-theme=dark] .cal [data-color=red]{--on:#121212}.cal .mono{font-family:var(--app-mono);font-variant-numeric:tabular-nums}.cal-head{margin-bottom:clamp(28px,3.4cqw,48px)}.cal-title{font-family:var(--font-schibsted), sans-serif;letter-spacing:-.045em;color:var(--cal-ink);margin:0;font-size:clamp(28px,3cqw,46px);font-weight:800;line-height:1.02}.cal-sub{color:var(--cal-muted);margin:12px 0 0;font-size:16px}.cal-top{border-bottom:2px solid color-mix(in srgb, var(--app-accent) 55%, transparent);flex-wrap:wrap;align-items:center;gap:14px clamp(16px,2vw,28px);padding:0 0 16px;display:flex}.cal-top-title{font-family:var(--font-schibsted), sans-serif;letter-spacing:-.03em;font-size:clamp(22px,2.2cqw,32px);font-weight:800;line-height:1.1;display:inline-block}.cal-top-title.from-left{animation:.32s cubic-bezier(.2,.9,.1,1) both cal-title-left}.cal-top-title.from-right{animation:.32s cubic-bezier(.2,.9,.1,1) both cal-title-right}@keyframes cal-title-left{0%{opacity:0;transform:translate(-28px)}}@keyframes cal-title-right{0%{opacity:0;transform:translate(28px)}}.cal-nav{align-items:center;gap:6px;margin-left:auto;display:flex}.cal-nav-btn{border:1px solid var(--cal-line);border-radius:var(--cal-radius);width:30px;height:30px;color:var(--cal-ink);cursor:pointer;transition:border-color .15s var(--cal-ease), background-color .15s var(--cal-ease);background:0 0;place-items:center;padding:0;display:grid}.cal-nav-btn svg{width:15px;height:15px}.cal-nav-btn:hover{border-color:var(--cal-ink);background:var(--cal-hover)}.cal-today{border:1px solid var(--cal-line);border-radius:var(--cal-radius);min-height:30px;color:var(--cal-ink);font-family:var(--app-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:border-color .15s var(--cal-ease), background-color .15s var(--cal-ease);background:0 0;padding:0 12px;font-size:11px;font-weight:500}.cal-today:hover{border-color:var(--cal-ink);background:var(--cal-hover)}.cal-nav-btn:focus-visible,.cal-today:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.cal-sgm{background:var(--app-press);border-radius:3px;gap:2px;padding:3px;display:inline-flex;position:relative}.cal-sgm-thumb{background:var(--app-surface);height:calc(100% - 6px);box-shadow:0 1px 2px #0000001f, 0 0 0 1px var(--app-line);pointer-events:none;border-radius:3px;transition:transform .22s cubic-bezier(.2,.8,.2,1),width .22s cubic-bezier(.2,.8,.2,1);position:absolute;top:3px;left:0}.cal-sgm-tab{z-index:1;min-height:30px;color:var(--app-muted);font:500 13px var(--font-hanken), system-ui, sans-serif;white-space:nowrap;cursor:pointer;transition:color .2s var(--cal-ease);background:0 0;border:0;border-radius:3px;flex:none;padding:0 14px;position:relative}.cal-sgm-tab:hover,.cal-sgm-tab.on{color:var(--app-ink)}.cal-sgm-tab:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.cal-body{flex-direction:column;margin-top:16px;display:flex;position:relative}.cal-body.with-day{flex-direction:row}.cal-main{flex-direction:column;flex:auto;min-width:0;display:flex}.cal-board{border:1px solid var(--cal-line);border-radius:var(--cal-radius);background:var(--cal-board);flex-direction:column;flex:auto;min-width:0;display:flex;overflow:hidden}.cal-view{min-width:0;animation:cal-view-in .22s var(--cal-ease) both;flex-direction:column;flex:auto;display:flex}@keyframes cal-view-in{0%{opacity:0;transform:translateY(6px)}}@keyframes cal-side-in{0%{opacity:0;transform:translate(16px)}}@keyframes cal-drop{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.cal-side{border:1px solid var(--cal-line);border-radius:var(--cal-radius);background:var(--cal-board);min-height:0;animation:cal-side-in .3s var(--cal-ease) both;flex-direction:column;flex:0 0 clamp(260px,24vw,360px);margin-left:clamp(16px,1.6vw,24px);display:flex;overflow:hidden}.cal-side-head{background:var(--cal-head-bg);color:var(--cal-head);animation:cal-view-in .2s var(--cal-ease) both;flex:none;padding:10px 14px}.cal-side-title{font-family:var(--app-mono);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:11px;font-weight:500}.cal-tl{overscroll-behavior:contain;scrollbar-width:none;border-bottom:1px solid var(--cal-line);flex:1 1 0;min-height:240px;overflow-y:auto}.cal-tl::-webkit-scrollbar{display:none}.cal-tl-in{display:flex;position:relative}.cal-gut{flex:none;width:40px;position:relative}.cal-gut span{color:var(--cal-muted);font-size:10px;line-height:1;position:absolute;right:8px}.cal-gut span:first-child{margin-top:3px}.cal-gut span:not(:first-child){transform:translateY(-50%)}.cal-rest{flex:none;padding:10px 12px 12px}.cal-rest-head{letter-spacing:.12em;text-transform:uppercase;color:var(--cal-muted);margin:0 0 6px;font-size:10.5px;font-weight:500}.cal-empty{color:var(--cal-muted);animation:cal-view-in .18s var(--cal-ease) both;margin:0;padding:12px 0;font-size:13px}.cal-row{--tick:var(--tc-gray);border-bottom:1px solid var(--cal-hour-line);align-items:center;gap:10px;min-height:48px;display:flex}.cal-row:last-child{border-bottom:0}.cal-row[data-color]{--tick:var(--tc)}.cal-row .tk-box{--app-accent:var(--tick);flex:none}.cal-row-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.cal-row.done .cal-row-name{color:var(--cal-muted);text-decoration:line-through}.cal-row-when{color:var(--cal-muted);flex:none;font-size:10.5px}.cal-tl-b{--fill:var(--tc-gray);--on:#140f12;--tick:var(--tc-gray);z-index:1;background:var(--fill);color:var(--on);transition:transform .25s cubic-bezier(.2, 1.4, .3, 1), box-shadow .25s var(--cal-ease), opacity .3s var(--cal-ease);animation:.5s cubic-bezier(.2,0,0,1) backwards cal-drop;animation-delay:calc(var(--i,0) * 45ms + 60ms);border:1px solid #0000;border-radius:5px;flex-direction:column;gap:2px;padding:6px 8px;display:flex;position:absolute;overflow:hidden}.cal-task{--fill:var(--tc-gray);--on:#140f12;background:var(--fill);width:100%;min-height:21px;color:var(--on);text-align:left;cursor:pointer;transition:filter .2s var(--cal-ease), opacity .2s var(--cal-ease);animation:.5s cubic-bezier(.2,0,0,1) backwards cal-drop;animation-delay:calc(var(--i,0) * 45ms + .12s);border:1px solid #0000;border-radius:4px;align-items:center;gap:5px;padding:1px 7px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.cal [data-color=red]{--tc:var(--tc-red)}.cal [data-color=orange]{--tc:var(--tc-orange)}.cal [data-color=amber]{--tc:var(--tc-amber)}.cal [data-color=green]{--tc:var(--tc-green)}.cal [data-color=teal]{--tc:var(--tc-teal)}.cal [data-color=blue]{--tc:var(--tc-blue)}.cal [data-color=violet]{--tc:var(--tc-violet)}.cal [data-color=pink]{--tc:var(--tc-pink)}.cal-tl-b[data-color],.cal-task[data-color]{--fill:var(--tc);--tick:var(--tc)}.cal-tl-b.done,.cal-task.done{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--on) 22%, transparent) 0 1.5px, transparent 1.5px 6px), var(--fill)}.cal-task.done{opacity:.6}.cal-tl-b.done{opacity:.8}.cal-task.done .cal-task-name,.cal-tl-b.done .cal-tl-name{text-decoration:line-through}.cal-task:hover{filter:brightness(1.1)}.cal-tl-b:hover{z-index:3;box-shadow:0 10px 20px -10px var(--cal-shadow);transform:translateY(-2px)}.cal-tl-b:focus-within,.cal-task:focus-visible{outline:2px solid var(--on);outline-offset:-3px}.cal-task-pri{flex:none;font-size:11px;font-style:normal;font-weight:800;line-height:1}.cal-task-pri:before{content:"!"}.cal-task-time{opacity:.85;flex:none;font-weight:500}.cal-task-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.cal-task-check{flex:none;margin-left:auto}.cal-task-check svg{width:11px;height:11px;display:block}.cal-tl-b .tk-box,.cal-task .tk-box{width:16px;height:16px;color:var(--on);cursor:pointer;border-color:currentColor;flex:none}.cal-tl-b .tk-box.on{border-color:var(--on);background:var(--on)}.cal-tl-b .tk-box svg{stroke:var(--tick)}.cal-tl-b .tk-pri{color:var(--on);flex:none}.cal-tl-b .tk-pri i{background:var(--on)}.cal-tl-top{align-items:flex-start;gap:7px;min-width:0;display:flex}.cal-tl-b.short{justify-content:center;padding-top:0;padding-bottom:0}.cal-tl-b.short .cal-tl-top{align-items:center}.cal-tl-main{flex-direction:column;gap:1px;min-width:0;display:flex}.cal-tl-b.short .cal-tl-main{flex-direction:row;align-items:baseline;gap:8px}.cal-tl-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:600;line-height:1.2;overflow:hidden}.cal-tl-b.short .cal-tl-name{font-size:13px}.cal-tl-time{opacity:0;transition:opacity .18s var(--cal-ease), max-width .18s var(--cal-ease);flex:none;font-size:10.5px}.cal-tl-b.short .cal-tl-time{white-space:nowrap;max-width:0;overflow:hidden}.cal-tl-b:focus-within .cal-tl-time{opacity:.8}.cal-tl-b.short:focus-within .cal-tl-time{max-width:120px}@media (hover:hover){.cal-tl-b:hover .cal-tl-time{opacity:.8}.cal-tl-b.short:hover .cal-tl-time{max-width:120px}}.cal-lane{border-left:1px solid var(--cal-line);background-image:repeating-linear-gradient(to bottom, var(--cal-hour-line) 0 1px, transparent 1px 65px);touch-action:pan-y;flex:1 1 0;min-width:0;position:relative}.cal-lane.today{background-color:var(--cal-hl)}.cal-lane.dragging{-webkit-user-select:none;user-select:none}.cal-now{z-index:2;border-top:1.5px solid var(--cal-now);pointer-events:none;height:0;position:absolute;left:0;right:0}.cal-now:before{content:"";background:var(--cal-now);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:-4px}.cal-ghost{z-index:2;pointer-events:none;opacity:.9;transition:top .1s var(--cal-ease), height .1s var(--cal-ease), opacity .18s var(--cal-ease), transform .18s var(--cal-ease);animation:cal-ghost-in .16s var(--cal-ease) both;justify-content:center;gap:0;padding:0 6px}.cal-ghost.out{opacity:0;transform:scale(.97)}.cal-ghost-r{white-space:nowrap;font-size:11px;line-height:1}@keyframes cal-ghost-in{0%{opacity:0;transform:scale(.97)}to{opacity:.9;transform:none}}.cal-month{flex-direction:column;flex:auto;display:flex}.cal-month-head{background:var(--cal-head-bg);letter-spacing:.12em;text-transform:uppercase;color:var(--cal-head);text-align:center;flex:none;grid-template-columns:repeat(7,minmax(0,1fr));padding:9px 0;font-size:10.5px;display:grid}.cal-month-grid{grid-template-rows:repeat(6,128px);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-day{border-right:1px solid var(--cal-hour-line);border-bottom:1px solid var(--cal-hour-line);cursor:pointer;min-height:0;transition:background-color .2s var(--cal-ease), box-shadow .2s var(--cal-ease);flex-direction:column;padding:6px;display:flex}.cal-day:nth-child(7n){border-right:0}.cal-day:nth-last-child(-n+7){border-bottom:0}.cal-day:not(.out):hover{background:var(--cal-hover)}.cal-day.on{background:var(--cal-hl);box-shadow:inset 2px 0 var(--cal-now)}.cal-day.out{background:color-mix(in srgb, var(--cal-ink) 3%, transparent);cursor:default}.cal-day.out .cal-day-num{opacity:.5}.cal-day-head{flex:none;margin-bottom:4px}.cal-day-num{color:var(--cal-muted);cursor:inherit;background:0 0;border:0;padding:0;font-size:12px;font-weight:500}.cal-day-num:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.cal-day.today .cal-day-num{background:var(--app-ink);color:var(--app-bg);border-radius:999px;padding:1px 7px}.cal-day-tasks{flex-direction:column;gap:3px;min-height:0;padding:1px 0;display:flex}.cal-more{color:var(--cal-muted);padding:1px 4px;font-size:10.5px}.cal-wk{flex-direction:column;flex:auto;min-width:0;display:flex}.cal-wk-row{flex:none;display:flex}.cal-wk-gut{flex:none;width:48px}.cal-wk-head{background:var(--cal-head-bg);color:var(--cal-head)}.cal-wk-day{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .2s var(--cal-ease), box-shadow .2s var(--cal-ease);animation:cal-view-in .3s var(--cal-ease) backwards;animation-delay:calc(var(--i,0) * 30ms);background:0 0;border:0;border-left:1px solid #ffffff14;flex:1 1 0;align-items:center;gap:8px;padding:9px 10px;display:flex}.cal-wk-wd{font-family:var(--app-mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:500}.cal-wk-num{font-size:12px}.cal-wk-day:focus-visible{outline-offset:-3px;outline:2px solid #fff}.cal-wk-day:hover{background:#ffffff14}.cal-wk-day.on{box-shadow:inset 0 -2px var(--app-accent);background:#ffffff1f}.cal-wk-day.today .cal-wk-num{background:var(--app-accent);color:var(--cal-on-accent);border-radius:999px;padding:1px 7px}.cal-wk-scroll{overflow-x:auto}.cal-wk-in{display:flex;position:relative}.cal-wk-in .cal-gut{width:48px}.cal-tf{--tf-gap:16px;--tf-step:8px;--tf-shadow:0 0 0 1px var(--app-bg), 0 1px 2px #0f0f0f24, 0 6px 16px -4px #0f0f0f47;right:var(--tf-gap);bottom:var(--tf-gap);z-index:20;width:52px;height:52px;position:absolute}:root[data-theme=dark] .cal-tf{--tf-shadow:0 0 0 1px var(--app-bg), 0 1px 2px #0006, 0 6px 16px -4px #0009}.cal-tf-btn{background:var(--app-accent);width:52px;height:52px;color:var(--cal-on-accent);box-shadow:var(--app-lift);cursor:pointer;transition:transform .15s var(--app-ease), filter .15s var(--app-ease);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.cal-tf-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;transition:transform .25s var(--app-ease)}.cal-tf-btn[aria-expanded=true] svg{transform:rotate(45deg)}.cal-tf-btn:active{transform:scale(.92)}.cal-tf-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:3px}.cal-tf-pop{right:0;bottom:calc(52px + var(--tf-step));width:300px;max-width:calc(100vw - 2 * var(--tf-gap));color:var(--app-ink);visibility:hidden;pointer-events:none;transition:visibility 0s linear .32s;position:absolute}.cal-tf-pop.open{visibility:visible;transition:visibility}.cal-tf-menu{align-items:flex-end;gap:var(--tf-step);flex-direction:column;display:flex}.cal-tf-row{background:var(--app-accent);min-width:136px;height:40px;color:var(--cal-on-accent);box-shadow:var(--tf-shadow);font:inherit;white-space:nowrap;cursor:pointer;pointer-events:none;opacity:0;transform:translateX(calc(100% + var(--tf-gap) + 12px));transition:opacity .16s var(--app-ease) calc(var(--i,0) * 30ms), transform .24s cubic-bezier(.4, 0, 1, 1) calc(var(--i,0) * 30ms), filter .15s var(--app-ease);border:0;border-radius:999px;align-items:center;gap:10px;padding:0 18px 0 14px;font-size:13.5px;font-weight:600;display:inline-flex}.cal-tf-pop.open .cal-tf-row{pointer-events:auto;opacity:1;transition:opacity .2s var(--app-ease) calc(var(--n,0) * 45ms), transform .4s cubic-bezier(.2, 1.05, .3, 1) calc(var(--n,0) * 45ms), filter .15s var(--app-ease);transform:none}.cal-tf-pop.form .cal-tf-row{pointer-events:none}.cal-tf-row:focus-visible{outline:2px solid var(--app-ink);outline-offset:2px}.cal-tf-row svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.cal-tf-form{border:1px solid var(--app-line-strong);background:var(--app-surface);width:100%;box-shadow:var(--app-lift);pointer-events:auto;transform-origin:calc(100% - 26px) calc(100% + 26px + var(--tf-step));border-radius:14px;flex-direction:column;animation:.28s cubic-bezier(.2,.9,.25,1) both cal-tf-in;display:flex;position:absolute;bottom:0;right:0;overflow:hidden}.cal-tf-pop:not(.open) .cal-tf-form{pointer-events:none;animation:.18s cubic-bezier(.4,0,1,1) both cal-tf-out}@keyframes cal-tf-in{0%{opacity:0;transform:translateY(10px)scale(.6)}}@keyframes cal-tf-out{to{opacity:0;transform:translateY(10px)scale(.6)}}.cal-tf-head{border-bottom:1px solid var(--app-line);letter-spacing:.1em;text-transform:uppercase;height:40px;color:var(--app-muted);align-items:center;padding:0 14px;font-size:10.5px;display:flex}.cal-tf-body{flex-direction:column;display:flex}.cal-tf-in{color:var(--app-ink);font:inherit;background:0 0;border:0;outline:none;padding:14px 14px 10px;font-size:15px}.cal-tf-in::placeholder{color:var(--app-muted)}.cal-tf-foot{border-top:1px solid var(--app-line);justify-content:flex-end;gap:8px;padding:8px 10px;display:flex}.cal-tf-cancel,.cal-tf-add{height:32px;font:inherit;cursor:pointer;transition:background-color .15s var(--app-ease), opacity .15s var(--app-ease), filter .15s var(--app-ease);border-radius:8px;padding:0 14px;font-size:13px;font-weight:600}.cal-tf-cancel{border:1px solid var(--app-line-strong);color:var(--app-ink);background:0 0;font-weight:500}.cal-tf-add{background:var(--app-accent);color:var(--cal-on-accent);border:0}.cal-tf-add:disabled{opacity:.4;cursor:default}.cal-tf-cancel:focus-visible,.cal-tf-add:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}@media (hover:hover){.cal-tf-btn:hover,.cal-tf-row:hover{filter:brightness(1.08)}.cal-tf-cancel:hover{background:var(--app-hover)}.cal-tf-add:not(:disabled):hover{filter:brightness(1.08)}}.cal-hint{font-family:var(--app-mono);letter-spacing:.12em;text-transform:uppercase;text-align:right;color:var(--cal-muted);margin:12px 0 0;font-size:11px}.cal-head>*,.cal-top,.cal-body,.cal-hint{transition:opacity .6s var(--ease), transform .8s cubic-bezier(.2, .9, .1, 1)}.cal-head>:nth-child(2){transition-delay:60ms}.cal-top{transition-delay:.1s}.cal-body{transition-delay:.15s}.js-reveal .cal:not(.is-in) .cal-head>*,.js-reveal .cal:not(.is-in) .cal-top,.js-reveal .cal:not(.is-in) .cal-body,.js-reveal .cal:not(.is-in) .cal-hint{opacity:0;transform:translateY(18px)}.js-reveal .cal:not(.is-in) .cal-tl-b,.js-reveal .cal:not(.is-in) .cal-task{visibility:hidden;animation:none}@container (max-width:900px){.cal-body.with-day{flex-direction:column}.cal-side{flex:none;margin:16px 0 0}.cal-tl{flex:none;height:420px;min-height:0}.cal-wk-head,.cal-wk-in{min-width:720px}.cal-month-grid{grid-template-rows:repeat(6,96px)}.cal-task-time{display:none}}@media (hover:none),(pointer:coarse){.cal-nav-btn{width:40px;height:40px}.cal-today,.cal-sgm-tab{min-height:40px}.cal-tf-row{height:44px}}.cal-slot{--app-accent:var(--acc-calendar);z-index:200;box-sizing:border-box;border:1px solid var(--app-line-strong);background:var(--app-surface);width:340px;max-width:calc(100vw - 16px);box-shadow:var(--app-lift);color:var(--app-ink);opacity:0;transform-origin:0 0;transition:opacity .16s var(--app-ease), transform .16s var(--app-ease);border-radius:6px;align-items:center;gap:6px;padding:6px;display:flex;position:fixed;transform:translateY(-4px)scale(.98)}:root[data-theme=dark] .cal-slot{--cal-slot-on:#121212}.cal-slot.on{opacity:1;transform:none}.cal-slot-in{min-width:0;color:var(--app-ink);font:inherit;background:0 0;border:0;outline:none;flex:auto;padding:7px 8px;font-size:14px}.cal-slot-in::placeholder{color:var(--app-muted)}.cal-slot-add{background:var(--app-accent);height:30px;color:var(--cal-slot-on,#fff);font:inherit;cursor:pointer;transition:opacity .15s var(--app-ease), filter .15s var(--app-ease);border:0;border-radius:4px;flex:none;padding:0 14px;font-size:13px;font-weight:600}.cal-slot-add:disabled{opacity:.4;cursor:default}.cal-slot-add:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.cal-slot-in:focus-visible{outline:none}@media (hover:hover){.cal-slot-add:not(:disabled):hover{filter:brightness(1.08)}}@media (prefers-reduced-motion:reduce){.cal-head>*,.cal-top,.cal-body,.cal-hint,.cal-top-title,.cal-view,.cal-side,.cal-side-head,.cal-empty,.cal-wk-day,.cal-tl-b,.cal-task,.cal-ghost,.cal-tf-form{animation:none}.cal-head>*,.cal-top,.cal-body,.cal-hint,.cal-nav-btn,.cal-today,.cal-sgm-thumb,.cal-sgm-tab,.cal-day,.cal-wk-day,.cal-tl-b,.cal-tl-time,.cal-task,.cal-ghost,.cal-tf-btn,.cal-tf-btn svg,.cal-tf-row,.cal-tf-cancel,.cal-tf-add,.cal-slot,.cal-slot-add{transition:none}.cal-tl-b:hover{transform:none}.cal-task:hover{filter:none}.cal-tf-btn:active,.cal-tf-btn[aria-expanded=true] svg,.cal-tf-row,.cal-tf-pop.open .cal-tf-row,.cal-slot{transform:none}.js-reveal .cal:not(.is-in) .cal-head>*,.js-reveal .cal:not(.is-in) .cal-top,.js-reveal .cal:not(.is-in) .cal-body,.js-reveal .cal:not(.is-in) .cal-hint{opacity:1;transform:none}}
.cl-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5cqw,88px);display:grid}.closing-line{max-width:46ch;color:var(--kinds-note);margin:12px 0 0;font-size:15px;line-height:1.5}.cl-card{border:1px solid var(--kinds-card-border);border-radius:var(--radius);background:var(--kinds-card-bg);overflow:hidden}.cl-head{background:var(--kinds-card-head-bg);color:var(--kinds-card-head);font-family:var(--font-azeret), monospace;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;padding:10px 18px;font-size:10.5px;display:flex}.cl-head span:first-child{color:var(--closing-head-live)}.cl-body{padding:18px 18px 16px}.cl-name{min-height:1.3em;font-family:var(--font-schibsted), sans-serif;letter-spacing:-.03em;color:var(--closing-text);margin:0;font-size:clamp(20px,2cqw,26px);font-weight:800}.cl-caret{vertical-align:-.1em;background:var(--closing-live);width:2px;height:.95em;margin-left:3px;display:inline-block}.cl-caret.done{animation:1s step-end infinite cl-blink}.cl-clock{justify-content:space-between;align-items:center;gap:16px;margin-top:10px;display:flex}.cl-time{font-family:var(--font-azeret), monospace;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--closing-muted);transition:color .3s var(--ease);font-size:clamp(34px,4cqw,52px);font-weight:500}.cl-time.on{color:var(--closing-live)}.cl-play{background:var(--closing-live);width:44px;height:44px;color:var(--closing-on-live);cursor:pointer;transition:transform .2s var(--ease);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.cl-play svg{width:18px;height:18px}.cl-play:hover{transform:scale(1.06)}.cl-play:active{transform:scale(.94)}.cl-bar{background:var(--closing-track);height:3px;margin-top:14px}.cl-bar i{background:var(--closing-live);height:100%;transition:width 1s linear;display:block}.cl-try{border-top:1px solid var(--closing-track);padding:12px 18px 16px}.cl-try>span{font-family:var(--font-azeret), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--closing-muted);font-size:10.5px}.cl-try>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.cl-try button{border:1px solid var(--closing-track);border-radius:var(--radius);color:var(--closing-text);font:500 13px var(--font-hanken), sans-serif;cursor:pointer;transition:border-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);background:0 0;padding:5px 10px}.cl-try button:hover{border-color:var(--closing-live);color:var(--closing-live);transform:translateY(-1px)}@keyframes cl-blink{50%{opacity:0}}@container (max-width:820px){.cl-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.cl-caret.done{animation:none}.cl-bar i,.cl-time,.cl-play,.cl-try button{transition:none}}
.hero{font-family:var(--font-hanken), ui-sans-serif, system-ui, sans-serif;font-size:17px;line-height:1.6}.mono{font-family:var(--font-martian), ui-monospace, monospace;font-variant-numeric:tabular-nums}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.9fr);align-items:center;gap:clamp(32px,5cqw,72px);display:grid}.hero-eyebrow{font-family:var(--font-martian), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--hero-eyebrow);margin:0 0 20px;font-size:12px}.hero-title{font-family:var(--font-schibsted), sans-serif;letter-spacing:-.045em;text-wrap:balance;color:var(--hero-title);margin:0;font-size:clamp(44px,5cqw,88px);font-weight:800;line-height:.94}.hero-title .word{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.hero-title .word>span,.hero-title .word>em{animation:.9s cubic-bezier(.2,.9,.1,1) both word-up;animation-delay:calc(var(--w) * 90ms + 60ms);display:inline-block}.hero-title em{color:var(--hero-title-em);font-style:normal}.hero-lede{color:var(--hero-lede);margin:28px 0 0;font-size:clamp(17px,1.5cqw,20px);line-height:1.55}.hero-cta{flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:36px;display:flex}.hero-btn{border-radius:var(--radius);background:var(--hero-btn-bg);min-height:48px;color:var(--hero-btn-text);transition:transform .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);justify-content:center;align-items:center;gap:10px;padding:0 20px 0 24px;font-size:16px;font-weight:600;display:inline-flex}.hero-btn svg{width:18px;height:18px;transition:transform .25s var(--ease)}.hero-btn:hover{background:var(--hero-btn-hover-bg);color:var(--hero-btn-hover-text);box-shadow:0 10px 24px -12px var(--hero-btn-bg);transform:translateY(-2px)}.hero-btn:hover svg{transform:translate(4px)}.hero-btn:active{transform:translateY(0)scale(.98)}.hero-more{min-height:48px;color:var(--hero-more);transition:color .2s var(--ease);align-items:center;gap:8px;font-size:16px;font-weight:600;display:inline-flex}.hero-more span{transition:background-size .3s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;padding-bottom:2px}.hero-more svg{width:17px;height:17px;transition:transform .25s var(--ease)}.hero-more:hover{color:var(--hero-more-hover)}.hero-more:hover span{background-size:100% 1.5px}.hero-more:hover svg{transform:translateY(3px)}.hero-platforms{align-items:center;gap:16px;margin-top:28px;display:flex}.hero-platforms ul{color:var(--hero-platform);align-items:center;gap:18px;margin:0;padding:0;list-style:none;display:flex}.hero-platforms li{transition:color .2s var(--ease), transform .2s var(--ease);display:grid}.hero-platforms li:hover{color:var(--hero-platform-hover);transform:translateY(-2px)}.hero-platforms svg{width:22px;height:22px}.hero-board{--board-edge:6px;--app-accent:var(--acc-cards);--hero-board-live:var(--app-accent);--hero-board-now-bar:var(--app-accent);--hero-board-row-line:var(--app-line);--hero-board-dim:var(--app-muted);--hero-board-text:var(--app-ink);--hero-board-bg:var(--app-surface);--hero-board-kid:var(--app-muted);--hero-board-kid-on:var(--app-ink);--hero-board-row-hover:var(--app-hover);border:1px solid var(--app-line-strong);border-radius:var(--radius);background:var(--app-surface);color:var(--app-ink);font-family:var(--font-hanken), ui-sans-serif, system-ui, sans-serif;box-shadow:0 30px 60px -40px var(--hero-board-shadow);transition:background-color .22s var(--ease), color .22s var(--ease), border-color .22s var(--ease);overflow:hidden;container-type:inline-size}.hero-board .num{font-family:var(--font-azeret), ui-monospace, monospace;font-variant-numeric:tabular-nums}.tick{white-space:pre;display:inline-flex}.tick>span{animation:.32s cubic-bezier(.2,.9,.1,1) digit-in;display:inline-block}.hero-bt{table-layout:fixed;border-collapse:collapse;width:100%}.hero-bt th{text-align:left;text-overflow:ellipsis;height:32px;font-family:var(--app-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#ffffffc7;background:#010001;border-bottom:1px solid #010001;padding:0 5px;font-size:10.5px;font-weight:400;overflow:hidden}@container (min-width:860px){.hero-board-stage .hero-bt col.c-task{width:40%}.hero-board-stage .hero-bt col.c-when{width:16%}.hero-board-stage .hero-bt col.c-prog{width:22%}.hero-board-stage .hero-bt col.c-tm{width:14%}.hero-board-stage .hero-bt col.c-act{width:8%}}.hero-bt th.h-task{padding-left:calc(var(--board-edge) + 64px)}.hero-bt th:last-child{padding-right:var(--board-edge)}.hero-bt td{border-bottom:1px solid var(--app-line);vertical-align:middle;white-space:nowrap;height:48px;transition:background-color .25s var(--ease), color .25s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);padding:0 5px;font-size:14.5px}.hero-bt col.c-when{width:108px}.hero-bt col.c-prog{width:132px}.hero-bt col.c-tm{width:76px}.hero-bt col.c-act{width:calc(40px + var(--board-edge))}.hero-bt td:first-child{padding-left:var(--board-edge)}.hero-bt td:last-child{padding-right:var(--board-edge)}.hero-bt .r{text-align:right}.hero-bt tr.row td.when,.hero-bt tr.row td.prog,.hero-bt tr.row td.tm{letter-spacing:0;text-overflow:ellipsis;color:var(--app-muted);font-size:11.5px;font-weight:400;overflow:hidden}.hero-bt tr.row td.when.hot{color:var(--acc-due);font-weight:600}.hero-bt tr.now td.tm{color:var(--app-accent);font-weight:600}.hero-prog{align-items:center;gap:8px;min-width:0;animation:.22s cubic-bezier(.2,.8,.2,1) status-in;display:flex}.hero-prog .hero-mini{flex:none;width:40px}.hero-prog-t{text-overflow:ellipsis;min-width:0;overflow:hidden}.task-tag{min-width:0;color:var(--hero-board-dim);letter-spacing:0;text-overflow:ellipsis;flex:0 100 auto;font-size:11px;font-weight:400;overflow:hidden}.hero-bt .tk-pri i{background:var(--hero-board-live)}.task-line{color:var(--app-muted);font-family:var(--font-azeret), ui-monospace, monospace;letter-spacing:0;text-overflow:ellipsis;margin-left:64px;font-size:11.5px;font-weight:400;line-height:1.3;display:none;overflow:hidden}.task-line.hot,.task-line .hero-sig.late{color:var(--acc-due);font-weight:600}.task-line .hero-sig{font-size:inherit;justify-content:flex-start}.hero-bt tbody tr.row>td{animation:.55s cubic-bezier(.2,.9,.1,1) both row-in;animation-delay:calc(var(--i) * 55ms + .42s)}.hero-bt tbody tr.row{cursor:pointer}.hero-bt tbody tr.row:hover td{background:var(--hero-board-row-hover)}.hero-bt .task{font-family:var(--font-hanken), ui-sans-serif, system-ui, sans-serif;letter-spacing:0;font-size:14.5px;font-weight:600;overflow:hidden}.task-in{align-items:center;gap:10px;min-width:0;display:flex}.task-btn{font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;text-align:left;background:0 0;border:0;min-width:0;max-width:100%;padding:0}.fold{border-radius:var(--radius);width:22px;height:22px;color:var(--hero-board-dim);cursor:pointer;transition:background-color .18s var(--ease), color .18s var(--ease);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.fold:hover{background:var(--hero-board-row-line);color:var(--hero-board-text)}.fold svg{width:14px;height:14px;transition:transform .3s cubic-bezier(.2,.9,.1,1)}.fold.open svg{transform:rotate(90deg)}.fold-gap{flex:none;width:22px}.done-box,.sub-box{border:1.5px solid var(--hero-board-dim);color:var(--tk-on-accent);cursor:pointer;transition:background-color .2s var(--ease), border-color .2s var(--ease), transform .2s cubic-bezier(.2, 1.4, .3, 1);background:0 0;border-radius:3px;flex:none;place-items:center;padding:0;display:grid}.done-box{width:17px;height:17px;margin:0 2.5px}.done-box:hover,.sub-box:hover{border-color:var(--hero-board-text);transform:scale(1.1)}.done-box svg,.sub-box svg{stroke-dasharray:24;stroke-dashoffset:24px;transition:stroke-dashoffset .35s cubic-bezier(.2,.9,.1,1)}.done-box svg{width:12px;height:12px}.done-box.on,.sub-box.on{background:var(--hero-board-live);border-color:var(--hero-board-live)}.done-box.on svg,.sub-box.on svg{stroke-dashoffset:0}.task-btn{align-items:center;gap:8px;display:flex}.task-name{text-overflow:ellipsis;min-width:0;position:relative;overflow:hidden}.task-name:after,tr.kid .task-btn:after{content:"";transform-origin:0;background:currentColor;height:1.5px;transition:transform .22s cubic-bezier(.2,.9,.1,1);position:absolute;top:55%;left:0;right:0;transform:scaleX(0)}tr.kid .task-btn{position:relative}.hero-bt tr.is-done .task{color:var(--hero-board-dim)}tr.is-done .task-name:after,tr.kid.is-done .task-btn:after{transform:scaleX(1)}.sub-box{width:15px;height:15px;margin-right:13.5px}.sub-box svg{width:11px;height:11px}.hero-bt tr.kid td{height:auto;font-size:14px}.hero-bt tr.kid .cell{height:44px;transition:height .35s cubic-bezier(.2, .9, .1, 1), opacity .25s var(--ease);align-items:center;display:flex;overflow:hidden}.hero-bt tr.kid td.r .cell{justify-content:flex-end}.hero-bt tr.kid.shut .cell{opacity:0;height:0}.hero-bt tr.kid.shut td{border-bottom-color:#0000}.hero-bt tr.kid td:first-child{padding-left:calc(var(--board-edge) + 35.5px)}.hero-bt tr.kid .task{font-family:var(--font-hanken), sans-serif;color:var(--hero-board-kid);font-size:14px;font-weight:500}.hero-bt tr.kid.on .task{color:var(--hero-board-kid-on)}.hero-bt tr.now td,.hero-bt tr.now:hover td{background:color-mix(in srgb, var(--app-accent) 8%, transparent)}.hero-bt tr.now td:first-child{box-shadow:inset 3px 0 var(--hero-board-now-bar)}.hero-bt tr.now .task{color:var(--hero-board-live)}.hero-sig{letter-spacing:0;color:var(--hero-board-dim);justify-content:flex-end;align-items:center;gap:8px;font-size:11.5px;font-weight:400;animation:.22s cubic-bezier(.2,.8,.2,1) status-in;display:inline-flex}.hero-sig.live{color:var(--hero-board-live)}.hero-sig.goal{color:var(--hero-board-text)}.hero-sig.late{color:var(--acc-due);font-weight:600}.hero-mini{background:var(--hero-board-row-line);border-radius:99px;width:36px;height:4px;display:inline-block;overflow:hidden}.hero-mini i{width:var(--w);background:var(--hero-board-live);height:100%;transition:width .5s cubic-bezier(.2,.9,.1,1);display:block}.hero-act{display:inline-grid}.hero-bt tr.add td{height:44px;padding:0 var(--board-edge);transition:background-color .2s var(--app-ease)}.hero-bt tr.add:hover td,.hero-bt tr.add:focus-within td{background:var(--app-hover)}.hero-add{color:var(--app-muted);cursor:text;transition:color .2s var(--app-ease);align-items:center;gap:10px;display:flex}.hero-bt tr.add:focus-within .hero-add{color:var(--app-ink)}.hero-add svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;flex:none;width:15px;height:15px;margin:0 3px}.hero-add input{min-width:0;color:var(--app-ink);font:inherit;background:0 0;border:0;outline:none;flex:auto;padding:0;font-size:14px}.hero-add input::placeholder{color:var(--app-muted)}.hero-bt tbody tr.row.fresh>td{animation:.22s cubic-bezier(.2,.8,.2,1) both hero-fresh}@keyframes hero-fresh{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.hero-board-hint{font-family:var(--font-azeret), monospace;letter-spacing:.12em;text-transform:uppercase;text-align:right;color:var(--hero-board-hint);margin:12px 0 0;font-size:11px;transition:opacity .22s cubic-bezier(.2,.8,.2,1);animation:.6s cubic-bezier(.2,0,0,1) 1.4s both rise}.hero-board-foot{padding:14px var(--board-edge);border-top:1px solid var(--hero-board-row-line);color:var(--hero-board-foot);flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;font-size:13px;display:flex}.hero-board-foot span{white-space:nowrap}.hero-board-foot b{color:var(--hero-board-foot-strong);font-weight:600}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@container not (min-width:860px){.hero-bt col.c-when{width:96px}.hero-bt col.c-prog{width:84px}.hero-bt col.c-tm{width:72px}.task-tag,.hero-prog-t{display:none}.hero-prog .hero-mini{flex:1;width:auto}}@container not (min-width:640px){.hero-bt col.c-when,.hero-bt col.c-prog{width:0}.hero-bt col.c-tm{width:72px}.hero-bt thead{display:none}.hero-bt td.when,.hero-bt td.prog{visibility:hidden;padding:0}.task-line{display:block}}@container (max-width:460px){.hero-sig{letter-spacing:0;gap:5px;font-size:10.5px}.hero-mini{width:20px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes word-up{0%{transform:translateY(105%)rotate(4deg)}to{transform:none}}@keyframes digit-in{0%{opacity:0;transform:translateY(-45%)}to{opacity:1;transform:none}}@keyframes row-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes status-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes board-land{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.rise{animation:.7s cubic-bezier(.2,0,0,1) both rise}.rise.d2{animation-delay:.16s}.rise.d3{animation-delay:.24s}.rise.d4{animation-delay:.32s}.hero-board-stage.rise{animation:1s cubic-bezier(.2,.9,.1,1) .25s both board-land}@container (max-width:1000px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-board-hint{text-align:left}}@media (prefers-reduced-motion:reduce){.hero-title .word>span,.hero-title .word>em,.tick>span,.hero-bt tbody tr.row>td,.hero-bt tbody tr.row.fresh>td,.hero-sig,.hero-prog,.hero-board-hint,.hero-board-stage.rise{animation:none}.hero-board,.hero-bt th,.hero-bt td,.hero-add,.hero-bt tr.kid .cell,.fold,.fold svg,.hero-board-hint,.hero-mini i,.hero-btn svg{transition:none}}:root[data-motion=simple] .hero-prog,:root[data-motion=simple] .hero-sig{animation:none}
.pj{--app-accent:var(--acc-projects);--pj-rule:color-mix(in srgb, var(--acc-rule) 55%, transparent);--pj-late:var(--acc-due)}.pj-line{max-width:62ch;color:var(--kinds-note);margin:12px 0 0;font-size:15px;line-height:1.5}.pj .mono,.kb-pop .mono{font-family:var(--app-mono);font-variant-numeric:tabular-nums}.pj-board{color:var(--app-ink);transition:opacity .7s var(--ease) .1s, transform .9s cubic-bezier(.2, .9, .1, 1) .1s;padding:0 0 4px}.pj-board.dragging{-webkit-user-select:none;user-select:none}.pjd-top{border-bottom:2px solid var(--pj-rule);flex-wrap:wrap;align-items:center;gap:12px clamp(14px,2vw,24px);padding:0 0 14px;animation:.45s cubic-bezier(.2,.9,.1,1) both kb-rise;display:flex}.pjd-head{flex-direction:column;flex:260px;gap:2px;min-width:0;display:flex}.pjd-name,.pjd-desc{width:100%;min-width:0;transition:background-color .2s var(--app-ease), box-shadow .2s var(--app-ease);background:0 0;border:0;border-radius:3px;outline:none;margin:0;padding:0}.pjd-name:hover,.pjd-desc:hover,.pjd-name:focus,.pjd-desc:focus{background:var(--app-hover);box-shadow:0 0 0 4px var(--app-hover)}.pjd-name{font-family:var(--app-condensed);letter-spacing:.01em;text-transform:uppercase;color:var(--app-ink);font-size:clamp(26px,3.2vw,34px);font-weight:800;font-stretch:75%;line-height:1.1}.pjd-desc{font:400 13px var(--font-hanken), sans-serif;color:var(--app-muted)}.pjd-stats{color:var(--app-muted);flex-wrap:wrap;gap:4px 18px;margin:0 0 0 auto;font-size:12.5px;display:flex}.pjd-stats span{white-space:nowrap;transition:color .2s var(--app-ease);animation:.22s cubic-bezier(.2,.8,.2,1) kb-sig-in}.pjd-stats .late{color:var(--pj-late);font-weight:600}.kb{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--app-line-strong) transparent;align-items:flex-start;gap:14px;margin-top:16px;padding-bottom:8px;animation:.45s cubic-bezier(.2,.9,.1,1) both kb-rise;display:flex;overflow-x:auto}@keyframes kb-rise{0%{opacity:0;transform:translateY(10px)}}.kb-col{border:1px solid var(--app-line);background:var(--app-surface);min-width:300px;min-height:200px;transition:border-color .2s var(--app-ease), box-shadow .2s var(--app-ease), background-color .2s var(--app-ease), opacity .2s var(--app-ease);border-radius:6px;flex-direction:column;flex:380px;padding:0 12px 8px;display:flex}.kb-col:hover{border-color:var(--app-line-strong)}.kb-col.held{opacity:.35}.kb-col.over{border-color:var(--app-accent);background:color-mix(in srgb, var(--app-accent) 6%, var(--app-surface));box-shadow:inset 0 0 0 1px var(--app-accent)}.kb-col.swap{box-shadow:inset 4px 0 0 var(--app-accent), inset 0 0 0 1px var(--app-accent)}.kb-col[data-shake="0"]{animation:.38s cubic-bezier(.36,.07,.19,.97) both kb-shake-a}.kb-col[data-shake="1"]{animation:.38s cubic-bezier(.36,.07,.19,.97) both kb-shake-b}@keyframes kb-shake-a{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes kb-shake-b{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.kb-head{border-bottom:1px solid var(--app-line);flex:none;align-items:center;gap:8px;height:46px;display:flex}.kb-cgrip{width:22px;height:22px;color:var(--app-muted);cursor:grab;touch-action:pan-y;opacity:.55;transition:opacity .18s var(--app-ease), background-color .18s var(--app-ease);border-radius:4px;flex:none;place-items:center;display:grid}.kb-cgrip svg{width:13px;height:13px}.kb-col:hover .kb-cgrip,.kb-cgrip:hover{opacity:1}.kb-cgrip:hover{background:var(--app-press)}.kb-name{min-width:3ch;font-family:var(--app-condensed);letter-spacing:.04em;text-transform:uppercase;color:var(--app-ink);cursor:text;transition:background-color .2s var(--app-ease), box-shadow .2s var(--app-ease);background:0 0;border:0;border-radius:3px;outline:none;flex:auto;margin:0;padding:0;font-size:17px;font-weight:700;font-stretch:75%}.kb-name:hover,.kb-name:focus{background:var(--app-hover);box-shadow:0 0 0 4px var(--app-hover)}.kb-chip{border:1px solid var(--app-line-strong);min-width:0;max-width:150px;height:24px;color:var(--app-ink);font:500 11.5px var(--font-hanken), sans-serif;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:border-color .18s var(--app-ease), background-color .18s var(--app-ease), color .18s var(--app-ease), opacity .18s var(--app-ease);background:0 0;border-radius:99px;flex:0 auto;padding:0 9px;animation:.18s cubic-bezier(.2,.8,.2,1) kb-sig-in;overflow:hidden}.kb-chip:not(.none){border-color:color-mix(in srgb, var(--app-accent) 55%, transparent);background:color-mix(in srgb, var(--app-accent) 8%, transparent)}.kb-chip.none{color:var(--app-muted);opacity:0;border-style:dashed}.kb-col:hover .kb-chip.none,.kb-chip.none:focus-visible{opacity:1}.kb-chip:hover,.kb-chip:focus-visible{border-color:var(--app-accent);background:color-mix(in srgb, var(--app-accent) 12%, transparent);outline:none}.kb-count{color:var(--app-muted);flex:none;font-size:11.5px}.kb-more{width:26px;height:26px;color:var(--app-muted);cursor:pointer;transition:background-color .18s var(--app-ease), color .18s var(--app-ease);background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:grid}.kb-more svg{width:16px;height:16px}.kb-more:hover,.kb-more:focus-visible{background:var(--app-press);color:var(--app-ink);outline:none}.kb-refuse{background:color-mix(in srgb, var(--pj-late) 12%, transparent);box-shadow:inset 3px 0 0 var(--pj-late);color:var(--app-ink);font:500 12px/1.4 var(--font-hanken), sans-serif;border-radius:4px;flex:none;margin:8px 0 0;padding:7px 10px;animation:.24s cubic-bezier(.2,.9,.1,1) both kb-refuse-in}@keyframes kb-refuse-in{0%{opacity:0;transform:translateY(-6px)}}.kb-addf{border-bottom:1px solid var(--app-line);height:40px;color:var(--app-muted);cursor:text;transition:color .18s var(--app-ease), box-shadow .18s var(--app-ease);flex:none;align-items:center;gap:8px;display:flex}.kb-addf-ico{place-items:center;width:22px;display:grid}.kb-addf-ico svg{width:13px;height:13px}.kb-addf input{min-width:0;height:100%;color:var(--app-ink);font:400 13.5px var(--font-hanken), sans-serif;background:0 0;border:0;outline:none;flex:1}.kb-addf input::placeholder{color:var(--app-muted)}.kb-addf:focus-within{color:var(--app-accent);box-shadow:0 1px 0 var(--app-accent)}.kb-body{flex-direction:column;min-height:40px;display:flex}.kb-empty{text-align:center;color:var(--app-muted);padding:18px 0;font-size:13px;animation:.22s cubic-bezier(.2,.8,.2,1) kb-sig-in}.kb-card{border:0;border-bottom:1px solid var(--app-line);height:48px;color:var(--app-ink);cursor:grab;touch-action:pan-y;animation:.4s cubic-bezier(.2,.9,.1,1) both kb-card-in;animation-delay:calc(var(--k) * 40ms);transition:background-color .2s var(--app-ease), box-shadow .2s var(--app-ease), opacity .2s var(--app-ease);background:0 0;grid-template-columns:16px auto minmax(0,1fr) 76px 48px;align-items:center;column-gap:10px;padding:0;font-size:14.5px;display:grid;position:relative}@keyframes kb-card-in{0%{opacity:0;transform:translateY(6px)}}.kb-card:hover{background:var(--app-press)}.kb-card.held{opacity:.4}.kb-card.run{background:color-mix(in srgb, var(--app-accent) 8%, transparent);box-shadow:inset 3px 0 0 var(--app-accent)}.kb-fold{color:var(--app-muted);opacity:0;transition:opacity .18s var(--app-ease);place-items:center;display:grid}.kb-fold svg{width:12px;height:12px}.kb-card:hover .kb-fold{opacity:1}.kb-tn{align-items:center;gap:8px;min-width:0;display:flex}.kb-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;transition:color .2s var(--app-ease);font-size:14.5px;font-weight:600;overflow:hidden}.kb-card.done .kb-title{color:var(--app-muted);text-decoration:line-through}.kb-sig{white-space:nowrap;color:var(--app-muted);justify-content:flex-end;align-items:center;gap:6px;font-size:11.5px;animation:.22s cubic-bezier(.2,.8,.2,1) kb-sig-in;display:flex;overflow:hidden}.kb-sig.live{color:var(--app-accent);font-weight:600}.kb-sig.late{color:var(--pj-late);font-weight:600}.kb-sig.goal{color:var(--app-ink)}@keyframes kb-sig-in{0%{opacity:0;transform:translateY(4px)}}.kb-mini{background:var(--app-line);border-radius:99px;flex:none;width:22px;height:3px;display:block;overflow:hidden}.kb-mini i{width:var(--w);background:var(--app-accent);height:100%;transition:width .5s cubic-bezier(.2,.9,.1,1);display:block}.kb-hi{cursor:inherit}.kb-act{grid-template-columns:14px 26px;justify-content:end;align-items:center;column-gap:8px;height:26px;display:grid}.kb-act>.kb-hi{grid-column:1}.kb-act>.tk-play{grid-column:2}.kb-act>:not(.kb-hi){opacity:0;transition:opacity .18s var(--app-ease), transform .18s var(--app-ease);transform:scale(.9)}.kb-card:hover .kb-act>*,.kb-act:focus-within>*,.kb-card.run .kb-act>:not(.kb-hi){opacity:1;transform:none}.kb-card .tk-play{width:24px;height:24px}.kb-card .tk-play .tk-icon{width:9px;height:9px}@media (hover:none),(pointer:coarse){.kb-act>.tk-play{opacity:1;transform:none}.kb-fold{display:none}.kb-card{grid-template-columns:auto minmax(0,1fr) 76px 48px}}.kb-ghost{z-index:60;background:var(--app-surface);transform:translate(var(--gx), var(--gy)) rotate(2deg);box-shadow:var(--app-lift);cursor:grabbing;pointer-events:none;border-radius:6px;padding:0 8px;transition:none;animation:none;position:fixed;top:0;left:0}.kb-colghost{z-index:60;border:1px solid var(--app-accent);background:var(--app-surface);height:34px;box-shadow:var(--app-lift);color:var(--app-ink);font-family:var(--app-condensed);letter-spacing:.04em;text-transform:uppercase;transform:translate(var(--gx), var(--gy)) rotate(2deg);cursor:grabbing;pointer-events:none;border-radius:6px;align-items:center;gap:8px;padding:0 14px 0 10px;font-size:15px;font-weight:700;font-stretch:75%;display:flex;position:fixed;top:0;left:0}.kb-colghost svg{width:12px;height:12px;color:var(--app-muted)}.kb-add{border:1px dashed var(--app-line-strong);min-width:200px;min-height:46px;transition:flex-basis .3s cubic-bezier(.2, .9, .1, 1), min-width .3s cubic-bezier(.2, .9, .1, 1), border-color .2s var(--app-ease), background-color .3s var(--app-ease);border-radius:6px;flex:0 280px;position:relative}.kb-add.off{flex-basis:44px;min-width:44px}.kb-add:hover{border-color:var(--app-muted);background:color-mix(in srgb, var(--app-hover) 60%, transparent)}.kb-add-open{min-width:0;transition:opacity .2s var(--app-ease), visibility .3s;display:flex}.kb-add.off .kb-add-open{opacity:0;visibility:hidden}.kb-add-col{min-width:0;min-height:44px;color:var(--app-muted);font:500 13px var(--font-hanken), sans-serif;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:auto;padding:0 40px 0 16px;transition:color .15s}.kb-add-col:hover{color:var(--app-ink)}.kb-add-col:focus-visible,.kb-add-x:focus-visible,.kb-add-plus:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px}.kb-add-x{width:24px;height:24px;color:var(--app-muted);cursor:pointer;opacity:0;transition:opacity .16s var(--app-ease), background-color .16s var(--app-ease), color .16s var(--app-ease);background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:10px;translate:0 -50%}.kb-add-x svg{width:15px;height:15px}.kb-add:hover .kb-add-x,.kb-add-x:focus-visible{opacity:1}.kb-add-x:hover{background:var(--app-hover);color:var(--app-ink)}.kb-add-plus{border-radius:inherit;color:var(--app-muted);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .2s var(--app-ease), visibility .3s, color .16s var(--app-ease);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset:0}.kb-add-plus svg{width:16px;height:16px}.kb-add.off .kb-add-plus{opacity:1;visibility:visible}.kb-add-plus:hover{color:var(--app-ink)}@media (hover:none),(pointer:coarse){.kb-add-x{opacity:1;width:40px;height:40px;right:4px}.kb-add.off{flex-basis:52px;min-width:52px}}.kb-tray{opacity:0;transition:grid-template-rows .3s cubic-bezier(.2, .9, .1, 1), opacity .2s var(--app-ease);grid-template-rows:0fr;display:grid}.kb-tray.on{opacity:1;grid-template-rows:1fr}.kb-tray>div{min-height:0;overflow:hidden}.kb-tray-in{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 -4px;padding:14px 4px 4px;display:flex}.kb-tray-h{letter-spacing:.12em;text-transform:uppercase;color:var(--app-muted);margin-right:4px;font-size:10.5px}.kb-tray-chip{border:1px solid var(--app-line-strong);height:26px;color:var(--app-ink);cursor:pointer;transition:border-color .16s var(--app-ease), background-color .16s var(--app-ease);background:0 0;border-radius:99px;align-items:baseline;gap:8px;padding:0 10px;line-height:24px;animation:.22s cubic-bezier(.2,.9,.1,1) both kb-chip-in;display:inline-flex}@keyframes kb-chip-in{0%{opacity:0;transform:translateY(-4px)scale(.96)}}.kb-tray-n{font-family:var(--app-condensed);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:700;font-stretch:75%}.kb-tray-chip small{color:var(--app-muted);font-size:11px}.kb-tray-chip:hover{border-color:var(--app-accent);background:var(--app-hover)}.kb-tray-chip:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.pj .hero-board-hint{animation:none}.kb-scrim{z-index:70;position:fixed;inset:0}.kb-pop{--app-accent:var(--acc-projects);z-index:71;border:1px solid var(--app-line-strong);background:var(--app-surface);box-shadow:var(--app-lift);color:var(--app-ink);font:400 13px var(--font-hanken), system-ui, sans-serif;transform-origin:0 0;border-radius:8px;outline:none;flex-direction:column;animation:.16s cubic-bezier(.2,.9,.1,1) both kb-pop-in;display:flex;position:fixed}@keyframes kb-pop-in{0%{opacity:0;transform:translateY(-4px)scale(.96)}}.kb-pop button{cursor:pointer;font-family:inherit}.kb-rules{width:min(400px,100vw - 16px)}.kb-rules-head{flex:none;padding:14px 16px 10px}.kb-rules-head h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:600;overflow:hidden}.kb-rules-head p{color:var(--app-muted);margin:3px 0 0;font-size:12px;line-height:1.4}.kb-rules-body{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:4px 16px 14px;display:flex;overflow-y:auto}.kb-rules-mode{color:var(--app-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.kb-seg{background:var(--app-press);border-radius:6px;padding:2px;display:inline-flex}.kb-seg button{height:24px;color:var(--app-muted);transition:background-color .18s var(--app-ease), color .18s var(--app-ease);background:0 0;border:0;border-radius:4px;padding:0 12px;font-size:12px;font-weight:600}.kb-seg button.on{background:var(--app-accent);color:var(--tk-on-accent)}.kb-cond{flex-direction:column;gap:6px;display:flex}.kb-cond-row{align-items:center;gap:6px;display:flex}.kb-pick{border:1px solid var(--app-line-strong);min-width:0;height:30px;color:var(--app-ink);white-space:nowrap;transition:border-color .18s var(--app-ease), background-color .18s var(--app-ease);background:0 0;border-radius:6px;align-items:center;gap:4px;padding:0 6px 0 10px;font-size:12.5px;display:inline-flex}.kb-pick-ico{color:var(--app-muted);transition:transform .2s var(--app-ease);place-items:center;display:grid}.kb-pick-ico svg{width:12px;height:12px}.kb-pick.open .kb-pick-ico{transform:rotate(180deg)}.kb-pick:hover,.kb-pick.open,.kb-pick:focus-visible{border-color:var(--app-accent);outline:none}.kb-x{width:26px;height:26px;color:var(--app-muted);transition:background-color .18s var(--app-ease), color .18s var(--app-ease);background:0 0;border:0;border-radius:4px;flex:none;place-items:center;margin-left:auto;padding:0;display:grid}.kb-x svg{width:12px;height:12px}.kb-x:hover,.kb-x:focus-visible{background:var(--app-press);color:var(--app-ink);outline:none}.kb-menu{background:var(--app-press);border-radius:6px;flex-wrap:wrap;gap:6px;padding:8px;animation:.16s cubic-bezier(.2,.9,.1,1) both kb-menu-in;display:flex}@keyframes kb-menu-in{0%{opacity:0;transform:translateY(-4px)}}.kb-menu button{border:1px solid var(--app-line-strong);background:var(--app-surface);height:26px;color:var(--app-ink);transition:border-color .18s var(--app-ease), background-color .18s var(--app-ease), color .18s var(--app-ease);border-radius:99px;padding:0 10px;font-size:12px}.kb-menu button:hover,.kb-menu button:focus-visible{border-color:var(--app-accent);outline:none}.kb-menu button.on{border-color:var(--app-accent);background:var(--app-accent);color:var(--tk-on-accent)}.kb-addcond{border:1px dashed var(--app-line-strong);height:28px;color:var(--app-ink);transition:border-color .18s var(--app-ease), background-color .18s var(--app-ease);background:0 0;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:0 10px 0 6px;font-size:12.5px;display:inline-flex}.kb-addcond span{place-items:center;display:grid}.kb-addcond svg{width:12px;height:12px}.kb-addcond:hover,.kb-addcond:focus-visible{border-color:var(--app-accent);background:color-mix(in srgb, var(--app-accent) 6%, transparent);outline:none}.kb-presets{flex-wrap:wrap;gap:6px;display:flex}.kb-chipbtn{border:1px solid var(--app-line-strong);height:26px;color:var(--app-ink);transition:border-color .18s var(--app-ease), background-color .18s var(--app-ease), color .18s var(--app-ease);background:0 0;border-radius:99px;padding:0 11px;font-size:12px}.kb-chipbtn:hover,.kb-chipbtn.open,.kb-chipbtn:focus-visible{border-color:var(--app-accent);outline:none}.kb-chipbtn.on{border-color:var(--app-accent);background:color-mix(in srgb, var(--app-accent) 12%, transparent)}.kb-rules-sec{border-top:1px solid var(--app-line);letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted);margin-top:8px;padding-top:12px;font-size:11.5px;font-weight:600}.kb-rules-foot{border-top:1px solid var(--app-line);flex:none;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.kb-ghostbtn{height:30px;color:var(--app-muted);transition:background-color .18s var(--app-ease), color .18s var(--app-ease);background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:12.5px}.kb-ghostbtn:hover:not(:disabled),.kb-ghostbtn:focus-visible{background:var(--app-press);color:var(--app-ink);outline:none}.kb-ghostbtn:disabled{opacity:.4;cursor:default}.kb-save{background:var(--app-accent);height:30px;color:var(--tk-on-accent);transition:transform .18s var(--app-ease), filter .18s var(--app-ease);border:0;border-radius:6px;padding:0 18px;font-size:12.5px;font-weight:600}.kb-save:hover,.kb-save:focus-visible{filter:brightness(1.08);outline:none}.kb-save:active{transform:scale(.97)}.kb-cmenu{width:180px;padding:4px}.kb-cmenu button{height:32px;color:var(--app-ink);text-align:left;transition:background-color .15s var(--app-ease);background:0 0;border:0;border-radius:4px;padding:0 10px;font-size:13px}.kb-cmenu button:hover:not(:disabled),.kb-cmenu button:focus-visible{background:var(--app-press);outline:none}.kb-cmenu button.danger{color:var(--pj-late)}.kb-cmenu button:disabled{opacity:.4;cursor:default}.js-reveal .pj:not(.is-in) .pj-board{opacity:0;transform:translateY(24px)}.js-reveal .pj:not(.is-in) .kb-card{animation-play-state:paused}@container (max-width:640px){.pjd-stats{margin-left:0}}@media (prefers-reduced-motion:reduce){.pj-board,.pjd-name,.pjd-desc,.pjd-stats span,.kb-col,.kb-cgrip,.kb-name,.kb-chip,.kb-more,.kb-addf,.kb-card,.kb-fold,.kb-title,.kb-act>*,.kb-mini i,.kb-add,.kb-add-open,.kb-add-col,.kb-add-x,.kb-add-plus,.kb-tray,.kb-tray-chip,.kb-pick,.kb-pick-ico,.kb-menu button,.kb-seg button,.kb-save{transition:none}.pjd-top,.kb,.kb-card,.kb-sig,.pjd-stats span,.kb-chip,.kb-empty,.kb-refuse,.kb-menu,.kb-tray-chip,.kb-pop,.kb-col[data-shake]{animation:none}.js-reveal .pj:not(.is-in) .pj-board{opacity:1;transform:none}}
