.tip{position:fixed;z-index:1000;max-width:320px;padding:8px 11px;border-radius:var(--r-md);background:var(--tx);color:#fff;font-size:var(--fs-sm);line-height:1.45;box-shadow:var(--sh-3);pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.tip--on{opacity:1;transform:none}.tip b{font-weight:600}.tip .tip__muted{color:#ffffffa6}.tip .tip__row{display:flex;gap:10px;justify-content:space-between}.tip--hint{max-width:240px;padding:6px 10px;font-weight:500;text-align:center;transform:translateY(-3px)}.tip--hint.tip--above{transform:translateY(3px)}.tip--hint.tip--on{transform:none}.tip__act{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.16);color:#ffffffa6}.objpick{position:relative}h1.objpick{overflow:visible}.objpick__btn{display:flex;align-items:center;gap:6px;max-width:100%;margin-left:-6px;padding:2px 6px;border-radius:var(--r-sm);color:inherit;font:inherit;letter-spacing:inherit;text-align:left;transition:background var(--t-fast),color var(--t-fast)}.objpick__cur{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.objpick__chev{flex:none;color:var(--tx-3);transition:transform var(--t-med) var(--ease),color var(--t-fast)}.objpick__btn[aria-expanded=true] .objpick__chev{transform:rotate(180deg);color:var(--tx-2)}@media(hover:hover){.objpick__btn:hover{background:var(--sur-2)}.objpick__btn:hover .objpick__chev{color:var(--tx-2)}.objpick__opt:hover{background:var(--sur-2)}.objpick__opt--on:hover{background:var(--st-in-progress-bg)}.taskgone button:hover{background:var(--sur-2)}}.objpick--desktop .objpick__btn{max-width:460px}.mobile-header>div:has(.objpick--mobile){min-width:0}.objpick--mobile .objpick__btn{align-items:flex-start;margin-left:-8px;padding:2px 8px;gap:6px}.objpick--mobile .objpick__cur{flex:0 1 auto;min-width:0;white-space:normal;overflow:visible;overflow-wrap:anywhere}.objpick--mobile .objpick__chev{width:24px;height:24px;margin-top:8px;color:var(--tx-2)}.objpick__menu,.objpick__list{display:grid;gap:2px}.objpick__menu{position:absolute;left:0;top:calc(100% + 8px);z-index:900;min-width:268px;max-width:min(380px,80vw);padding:6px;background:var(--sur);border:1px solid var(--bd);border-radius:var(--r-md);box-shadow:var(--sh-3);font-family:var(--font);font-size:var(--fs-md);font-weight:400;letter-spacing:normal;line-height:1.35;animation:objpick-in var(--t-fast) var(--ease);transform-origin:top left}@keyframes objpick-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.objpick__opt{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border-radius:var(--r-sm);text-align:left;color:var(--tx);transition:background var(--t-fast)}.objpick__opt--on{background:var(--st-in-progress-bg)}.objpick__mark{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--sur-2);color:var(--tx-2);font-size:10.5px;font-weight:700;letter-spacing:0}.objpick__opt--on .objpick__mark{background:var(--st-in-progress);color:var(--tx-inv)}.objpick__lines{display:grid;min-width:0;gap:1px}.objpick__lines b{font-size:var(--fs-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.objpick__lines small{font-size:var(--fs-xs);color:var(--tx-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.objpick__check{flex:none;margin-left:auto;color:var(--st-in-progress)}.objpick__sheet{border:0;border-radius:22px 22px 0 0;width:100%;max-width:600px;max-height:80dvh;margin:auto auto 0;padding:0;background:var(--sur);color:var(--tx);box-shadow:var(--sh-3);animation:mobile-sheet var(--t-slow) var(--ease)}.objpick__sheet::backdrop{background:#14161d57;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.objpick__sheet-inner{padding:8px 14px calc(20px + var(--safe-bottom))}.objpick__sheet-title{padding:6px 8px 8px;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--tx-3)}.objpick__sheet .objpick__opt{min-height:58px;padding:10px 8px}.objpick__sheet .objpick__mark{width:38px;height:38px;border-radius:11px;font-size:14px}.objpick__sheet .objpick__lines b{font-size:18px}.objpick__sheet .objpick__lines small{font-size:14px}.objgate{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg)}.objgate__card{display:grid;gap:8px;width:min(420px,100%);padding:24px;background:var(--sur);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:var(--sh-2)}.objgate__card h1{font-size:var(--fs-xl);font-weight:600}.objgate__card p{font-size:var(--fs-md);color:var(--tx-2)}.objgate .objpick__list{margin-top:8px;margin-inline:-8px}.objgate__btn{justify-self:start;margin-top:8px;padding:9px 15px;border-radius:var(--r-md);background:var(--st-in-progress);color:var(--tx-inv);font-weight:600}.taskgone{position:fixed;left:50%;top:64px;z-index:950;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:min(560px,calc(100vw - 32px));padding:11px 11px 11px 15px;background:var(--sur);border:1px solid var(--bd);border-left:3px solid var(--amber);border-radius:var(--r-md);box-shadow:var(--sh-3);font-size:var(--fs-md);animation:taskgone-in var(--t-med) var(--ease)}.taskgone button{flex:none;padding:6px 10px;border-radius:var(--r-sm);color:var(--link);font-weight:600}@keyframes taskgone-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.splash{position:fixed;inset:0;z-index:2000;pointer-events:none;overflow:hidden;contain:strict;-webkit-font-smoothing:antialiased}.splash>*{position:absolute;left:0;top:0}.splash__bg{width:100%;height:100%;background:var(--bg)}.splash__zone{width:100%;overflow:hidden}.splash__sheet{position:absolute;left:0;top:0;width:100%}.splash__sheet>*{position:absolute;left:0;top:0;width:100%}.splash__glow{border-radius:50%;background:radial-gradient(closest-side,#d402191a,#d4021909 58%,#d4021900)}:root[data-env=prod] .splash__glow{background:radial-gradient(closest-side,#0148ec21,#0148ec0b 58%,#0148ec00)}.splash__tile{transform-origin:50% 50%}.splash__tile>*{position:absolute;inset:0;border-radius:var(--tile-r)}.splash__mark{transform-origin:50% 50%}.splash__mark>svg{position:absolute;inset:0}.splash__royal{background:linear-gradient(135deg,#d40219,#cd0218,#c80215)}:root[data-env=prod] .splash__royal{background:linear-gradient(135deg,#014bf4,#003fdf,#0136cf)}.splash__blue{background:var(--st-in-progress);opacity:0}.splash__m{display:block;width:100%;height:100%;overflow:visible;transform-origin:50% 50%}.splash__k{display:grid;place-items:center;color:#fff;font-weight:700;line-height:1;letter-spacing:0;opacity:0}.splash__hero{width:0;height:0}.splash__trap{position:absolute;left:0;overflow:visible;transform-origin:0 50%}.splash__bar{position:absolute;left:0;transform-origin:0 50%;opacity:0}.splash__bar>i{position:absolute;top:0;bottom:0;left:0;border-radius:inherit}.splash__bar-base,.splash__bar-tone{right:0}.splash__bar-tone,.splash__bar-past{opacity:0}.splash__bar-past{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.splash__today{transform-origin:50% 0;opacity:0}.splash__ttl{transform-origin:0 0;white-space:nowrap}.splash__mask{overflow:hidden}.splash__txt{display:inline-block;vertical-align:top;color:var(--tx)}.splash__eyebrow>span{position:absolute;left:0;top:0;white-space:pre;opacity:0}.splash__probe{position:absolute;left:0;top:0;white-space:pre;visibility:hidden}.splash__baseline{display:inline-block;width:0;height:0;vertical-align:baseline}:root[data-splash] :is(.dash__mark,.dash__title,.dash__sub,.line-today,.mobile-eyebrow,.mobile-header h1,.mobile-nav>button:nth-child(2) svg){opacity:0}@media(prefers-reduced-motion:reduce){.splash{display:none}}:root[data-turn] #root>*{content-visibility:hidden}:root[data-turn] #root{overflow:hidden;overflow:clip}.turn{position:fixed;inset:0;z-index:2100;width:auto;height:auto;max-width:none;max-height:none;margin:0;border:0;padding:calc(24px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(24px + env(safe-area-inset-left,0px));display:grid;place-items:center;overflow:hidden;background:var(--bg);color:var(--tx);font-family:var(--font);text-align:center;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;animation:turn-in .28s var(--ease) both}.turn[data-state=out]{pointer-events:none;animation:turn-out .26s cubic-bezier(.33,0,.25,1) both}.turn__body{display:flex;flex-direction:column;align-items:center;animation:turn-body-in .42s var(--ease) both}.turn[data-state=out] .turn__body{animation:turn-body-out .26s cubic-bezier(.33,0,.25,1) both}.turn__device{--dev-w: 176px;--dev-h: 128px;position:relative;width:var(--dev-w);height:var(--dev-h);margin:26px 0 50px;border:5px solid var(--tx);border-radius:18px;background:var(--sur);box-shadow:var(--sh-2);will-change:transform,opacity;animation:turn-rotate 3.6s infinite both}.turn__screen{position:absolute;inset:10px 12px;overflow:hidden}.turn__bar{position:absolute;top:calc(6% + var(--i) * 20%);height:11%;border-radius:3px;transform-origin:0 50%;animation:turn-bar 3.6s calc(var(--i) * 40ms) infinite both}.turn__today{position:absolute;top:0;bottom:0;left:61%;width:2px;border-radius:1px;background:var(--today);opacity:0;animation:turn-today 3.6s infinite both}.turn__title{max-width:18em;text-wrap:balance;font-size:clamp(22px,3.2vmin + 4px,32px);line-height:1.2;font-weight:600;letter-spacing:-.3px}.turn__sub{max-width:30em;text-wrap:balance;margin-top:10px;font-size:clamp(15px,1.6vmin + 2px,19px);line-height:1.35;color:var(--tx-2)}@keyframes turn-in{0%{opacity:0}to{opacity:1}}@keyframes turn-out{0%{opacity:1}to{opacity:0}}@keyframes turn-body-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes turn-body-out{0%{transform:none}to{transform:scale(1.02)}}@keyframes turn-rotate{0%,8%{opacity:0;transform:rotate(90deg)}14%{opacity:1;transform:rotate(90deg)}24%{opacity:1;transform:rotate(90deg);animation-timing-function:cubic-bezier(.65,0,.35,1)}50%{opacity:1;transform:rotate(0)}86%{opacity:1;transform:rotate(0)}94%{opacity:0;transform:rotate(0)}to{opacity:0;transform:rotate(90deg)}}@keyframes turn-today{0%,56%{opacity:0}66%,to{opacity:.55}}@keyframes turn-bar{0%,52%{transform:scaleX(0);animation-timing-function:cubic-bezier(.16,1,.3,1)}66%,to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.turn,.turn[data-state=out],.turn__body,.turn[data-state=out] .turn__body{animation:none}.turn__device{animation:none;will-change:auto;margin:0 0 40px}.turn__bar{animation:none}.turn__today{animation:none;opacity:.55}}.login{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-4);padding-top:calc(var(--sp-4) + var(--safe-top));padding-bottom:calc(var(--sp-4) + var(--safe-bottom))}.login__card{width:100%;max-width:360px;background:var(--sur);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:var(--sp-6) var(--sp-5) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);animation:login-in var(--t-slow) var(--ease) both}@keyframes login-in{0%{opacity:0;transform:translateY(8px)}}.login__card--shake{animation:login-shake .32s var(--ease)}@keyframes login-shake{20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.login__brand{margin-bottom:var(--sp-3)}.login__title{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.3px}.login__field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--tx-2)}.login__field input{height:44px;padding:0 12px;border:1px solid var(--bd-strong);border-radius:var(--r-md);background:var(--sur);font-size:16px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.login__field input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px #378add2e}.login__error{min-height:18px;font-size:var(--fs-sm);color:var(--st-overdue)}.login__btn{height:44px;border-radius:var(--r-md);background:var(--tx);color:#fff;font-weight:600;font-size:15px;transition:opacity var(--t-fast),transform var(--t-fast)}.login__btn:disabled{opacity:.45;cursor:default}.login__btn:not(:disabled):active{transform:scale(.985)}.login__text{margin:0;font-size:15px;line-height:1.45;color:var(--tx)}.login__text--muted{font-size:var(--fs-sm);color:var(--tx-2)}.login__btn--ghost{background:transparent;color:var(--tx);border:1px solid var(--bd-strong)}.mobile-progress-chart{margin-top:14px}.mobile-progress-section{margin:12px 0;background:#fff;border:1px solid var(--bd);border-radius:16px;overflow:hidden}.mobile-progress-heading{display:flex;gap:12px;align-items:center;width:100%;padding:17px 14px;text-align:left;font-size:20px;font-weight:600;min-height:64px}.mobile-progress-heading>span:last-child{min-width:0;overflow-wrap:anywhere}.mobile-progress-heading small{display:block;color:var(--tx-2);font-size:13px;font-weight:400;margin-top:3px}.mobile-progress-chevron{display:grid;place-items:center;width:16px;height:16px;flex-shrink:0;color:var(--tx-3);transition:transform var(--t-med) var(--ease)}[aria-expanded=true]>.mobile-progress-chevron{transform:rotate(90deg)}.mobile-progress-heading--group{font-size:16px;background:var(--bg);border-top:1px solid var(--bd)}.mobile-progress-heading--group small{display:inline}.mobile-progress-row{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:center;padding:17px 14px;text-align:left;border-top:1px solid var(--bd);min-height:78px}.mobile-progress-row.st-not-started{--bar-color: var(--st-not-started);--bar-tint: var(--st-not-started-bg)}.mobile-progress-row.st-in-progress{--bar-color: var(--st-in-progress);--bar-tint: var(--st-in-progress-bg)}.mobile-progress-row.st-done{--bar-color: var(--st-done);--bar-tint: var(--st-done-bg)}.mobile-progress-row.st-overdue{--bar-color: var(--st-overdue);--bar-tint: var(--st-overdue-bg)}.mobile-progress-name{min-width:0}.mobile-progress-name small{display:block;font-size:13px;color:var(--tx-3);margin-bottom:4px;font-variant-numeric:tabular-nums}.mobile-progress-name strong{font-size:16px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.mobile-progress-visual{min-width:0}.mobile-progress-label{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:12px;color:var(--tx-2);margin-bottom:8px}.mobile-progress-label b{color:var(--bar-color);font-size:14px;white-space:nowrap}.mobile-progress-track{display:block;height:12px;border-radius:4px;overflow:hidden;background:var(--bar-tint, #ecebe8)}.mobile-progress-row.is-nodate .mobile-progress-label>span{color:var(--nodate);font-weight:600}.mobile-progress-nodate{display:block;width:12px;height:12px;border-radius:50%;background:var(--nodate)}.mobile-progress-track>span{display:block;width:100%;height:100%;background:var(--bar-color);transform-origin:left;border-radius:inherit}.mobile-seg{display:grid;grid-template-columns:1fr 1fr;height:36px;padding:2px;margin:-4px 0 12px;border-radius:10px;background:#eaeaec}.mobile-seg button{position:relative;border-radius:8px;font-size:15px;font-weight:500;color:var(--tx-2);transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.mobile-seg button:before{content:"";position:absolute;inset:-6px 0}.mobile-seg button[aria-checked=true]{background:var(--sur);color:var(--tx);font-weight:600;box-shadow:0 1px 3px #0000001f}.mlinks,.mlinks-chain{animation:mlinks-in .16s var(--ease) both}@keyframes mlinks-in{0%{opacity:0}}.mlinks-empty{margin-top:16px}.mlinks-shift{margin:4px 0 14px;padding:14px 16px;border:1.5px solid var(--shifted);border-radius:16px;background:var(--sur)}.mlinks-shift h3{font-size:17px;font-weight:600;line-height:1.3}.mlinks-shift h3 small,.mlinks-row__name small,.mlinks-card strong small,.mlinks-focus strong small{color:var(--tx-3);font-weight:500;font-variant-numeric:tabular-nums}.mlinks-shift p{margin:4px 0 10px;font-size:14px;color:var(--tx-2)}.mlinks-chips{display:flex;flex-wrap:wrap;gap:8px}.mlinks-chip{position:relative;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:36px;padding:0 12px;border-radius:18px;background:var(--amber-bg);color:var(--amber-tx);font-size:14px;font-weight:600;text-align:left;white-space:nowrap}.mlinks-chip:before{content:"";position:absolute;inset:-4px 0}.mlinks-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis}.mlinks-chip b{flex:none;font-weight:700}.mlinks-more{min-height:44px;margin-top:4px;color:var(--link);font-size:15px;font-weight:600}.mlinks-zone h2{font:inherit}.mlinks-row{position:relative;display:block;width:100%;min-height:56px;padding:10px 34px 10px 14px;text-align:left;border-top:1px solid var(--bd)}.mlinks-row__name{display:block;font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mlinks-row__meta{display:block;margin-top:3px;font-size:13px;color:var(--tx-2)}.mlinks-row__meta .is-shifted{color:var(--amber-tx);font-weight:600}.mlinks-row__meta .is-overdue{color:var(--st-overdue-tx);font-weight:600}.mlinks-row>i{position:absolute;right:14px;top:50%;translate:0 -50%;font-style:normal;font-size:20px;color:var(--tx-3)}.mlinks-note{padding:12px 14px 14px;border-top:1px solid var(--bd);font-size:13px;color:var(--tx-3)}.mlinks-group>.mlinks-note{border-top:0;padding:4px 0 8px}.mlinks-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:-6px 0 4px}.mlinks-nav h1{font-size:17px;font-weight:600}.mlinks-nav button{min-height:44px;color:var(--link);font-size:16px;text-align:left}.mlinks-nav button:last-child{text-align:right}.mlinks-scale{position:sticky;top:0;z-index:2;height:30px;margin:0 0 6px;background:var(--bg);border-bottom:1px solid var(--bd)}.mlinks-scale span{position:absolute;top:6px;translate:-2px 0;font-size:11px;color:var(--tx-3);white-space:nowrap}.mlinks-scale span.is-year{color:var(--tx-2);font-weight:600}.mlinks-scale span:last-of-type{translate:-100% 0}.mlinks-scale span.is-covered{visibility:hidden}.mlinks-scale i{position:absolute;bottom:0;width:2px;height:12px;background:var(--today)}.mlinks-group h2{margin:14px 0 8px;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--tx-2)}.mlinks-card,.mlinks-focus{display:block;width:100%;margin:0 0 10px;padding:12px 14px;text-align:left;border:1px solid var(--bd);border-radius:16px;background:var(--sur)}.mlinks-focus{margin:14px 0 4px;border:2px solid var(--tx)}.mlinks-card strong,.mlinks-focus strong{display:block;font-size:16px;font-weight:600;line-height:1.3}.mlinks-focus strong{font-size:18px}.mlinks-card__status{display:block;margin:3px 0 8px;font-size:13px;color:var(--tx-2)}.mlinks-card__status.is-overdue{color:var(--st-overdue-tx)}.mlinks-card__rel{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--bd-strong);font-size:14px}.mlinks-card__rel>span{flex:1;min-width:0}.mlinks-card__more{display:block;margin-top:6px;font-size:12px;color:var(--tx-3)}.mlinks-forecast{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:var(--amber-bg);color:var(--amber-tx);font-size:14px;font-weight:500}.mlinks-bar{position:relative;display:block;height:8px;border-radius:4px;background:#ecebe8}.mlinks-bar>i{position:absolute;top:0;bottom:0}.mlinks-bar__fill{border-radius:4px;background:var(--st-not-started)}.mlinks-bar__fill.st-in-progress{background:var(--st-in-progress)}.mlinks-bar__fill.st-overdue{background:var(--st-overdue)}.mlinks-bar__fill.st-done{background:var(--st-done)}.mlinks-bar__fill.is-shifted{box-shadow:0 0 0 1.5px var(--sur),0 0 0 3px var(--shifted)}.mlinks-bar__orig{border:1.5px dashed var(--tx-3);border-radius:4px}.mlinks-bar__today{top:-3px!important;bottom:-3px!important;width:2px;background:var(--today)}@media(prefers-reduced-motion:reduce){.mlinks,.mlinks-chain{animation:none}}.toast-region{position:fixed;left:50%;bottom:calc(var(--toast-bottom, 24px) + var(--safe-bottom));z-index:960;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.toast{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 6px 6px 16px;border-radius:var(--r-pill);background:var(--tx);color:var(--tx-inv);box-shadow:0 10px 28px #14161d3d,0 2px 6px #14161d1f;font-size:var(--fs-lg);font-weight:500;line-height:1.3;pointer-events:auto;animation:toast-in var(--t-slow) var(--ease-spring) both}.toast--plain{padding-right:18px}.toast.is-leaving{animation:toast-out .18s var(--ease) both}.toast__icon{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--st-done);color:var(--tx-inv);font-size:12px;font-style:normal;font-weight:800}.toast__icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.toast--error .toast__icon{background:var(--st-overdue)}.toast__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast--error .toast__text{white-space:normal}.toast .toast__action{flex:none;min-height:36px;padding:0 16px;border:0;border-radius:var(--r-pill);background:#ffffff21;color:var(--tx-inv);font:inherit;font-weight:600;cursor:pointer;transition:background var(--t-fast) var(--ease)}.toast .toast__action:hover{background:#ffffff38}.toast .toast__action:active{background:#ffffff47}.toast .toast__action:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.toast,.toast.is-leaving{animation:none}}html:has(.mobile-app){overscroll-behavior:none}.mobile-app{--mobile-col: 767px;padding-bottom:calc(82px + var(--safe-bottom));background:#f4f4f5;min-height:100dvh;font-size:16px;-webkit-font-smoothing:antialiased}.mobile-header>div{max-width:calc(var(--mobile-col) - 40px);margin-inline:auto}.mobile-header{padding:calc(23px + var(--safe-top)) 20px 16px;background:#fffffff5;border-bottom:1px solid var(--bd);position:relative;z-index:3}.mobile-eyebrow{display:flex;gap:9px;font-size:12px;font-weight:700;letter-spacing:1.2px;color:var(--tx-3);margin-bottom:7px}.mobile-header h1{font-size:30px;letter-spacing:-.8px;line-height:1.2;overflow-wrap:anywhere}.mobile-header p{font-size:13px;color:var(--tx-2);margin-top:6px}.mobile-pull{position:relative;z-index:2;height:0;opacity:0;transform:translateZ(0);will-change:transform,opacity}.mobile-pull.is-settling{transition:transform var(--t-med) var(--ease),opacity var(--t-med) var(--ease)}.mobile-pull.is-refreshing{opacity:1;transform:translate3d(0,46px,0)}.mobile-pull-dot{position:absolute;top:-40px;left:50%;margin-left:-17px;width:34px;height:34px;border-radius:50%;background:var(--sur);border:1px solid var(--bd);box-shadow:var(--sh-3);display:grid;place-items:center;color:var(--st-in-progress)}.mobile-pull-dot svg{transform:rotate(var(--turn, 0deg))}.mobile-pull-dot:after{content:"";position:absolute;inset:8px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;opacity:0}.mobile-pull.is-refreshing .mobile-pull-dot svg{opacity:0}.mobile-pull.is-refreshing .mobile-pull-dot:after{opacity:1;animation:mobile-spin .8s linear infinite}.mobile-main{max-width:var(--mobile-col);margin-inline:auto;padding:18px 16px;animation:mobile-enter var(--t-med) var(--ease)}.mobile-hero{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-hero article,.mobile-tile{background:#fff;border-radius:14px;padding:16px 14px}.mobile-tile{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;text-align:left;user-select:none;-webkit-user-select:none;touch-action:manipulation;transition:transform var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.mobile-tile:after{content:"›";position:absolute;top:10px;right:11px;font-size:22px;font-weight:300;line-height:1;color:#c2c2c7}.mobile-app .mobile-tile:active{opacity:1;transform:scale(.97);background-color:#ededf0;transition-duration:0s}.mobile-tile .mobile-big{display:block}.mobile-tile .mobile-meter{margin-top:1px}.mobile-tile-note{display:block;font-size:13px;color:var(--tx-2);margin-top:7px}.mobile-label{font-size:14px;color:var(--tx-2)}.mobile-big{font-size:40px;letter-spacing:-1px;font-weight:650;line-height:1.2;margin:9px 0}.mobile-big small{font-size:19px;letter-spacing:0;color:var(--tx-2);font-weight:400}.mobile-hero p{font-size:13px;color:var(--tx-2);margin-top:7px}.mobile-meter{display:block;height:5px;border-radius:9px;background:#e9e9eb;overflow:hidden}.mobile-meter>span{display:block;height:100%;border-radius:inherit;transition:width var(--t-slow) var(--ease)}.mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.mobile-stat{padding:12px 10px 13px}.mobile-stat .mobile-tile-label{display:block;font-size:13px;line-height:1.25;min-height:2.5em;padding-right:12px;color:var(--tx-2);text-wrap:balance}@media(min-width:560px){.mobile-stat .mobile-tile-label{min-height:0}}.mobile-stat-value{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:5px;margin-top:8px}.mobile-stat-value strong{font-size:32px;font-weight:650;letter-spacing:-.8px;line-height:1.05;color:var(--tone)}.mobile-stat-value small{font-size:14px;color:var(--tx-2)}.mobile-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:25px 3px 10px}.mobile-heading h2{font-size:18px;font-weight:650;display:flex;gap:8px;align-items:center}.mobile-heading>span{color:var(--tx-3);font-size:14px}.mobile-card{background:#fff;border-radius:14px;overflow:hidden}.mobile-task{width:100%;text-align:left;display:flex;align-items:center;gap:11px;padding:15px 13px;min-height:64px;border-bottom:1px solid #eeeef0}.mobile-task:last-child{border-bottom:0}.mobile-task>span:nth-child(2){flex:1;min-width:0}.mobile-task strong{display:block;font-size:15px;font-weight:500;line-height:1.4}.mobile-task strong small{color:var(--tx-3);font-size:13px;font-variant-numeric:tabular-nums}.mobile-dot{width:8px;height:8px;flex:none;border-radius:50%}.mobile-task-meta{display:block;font-size:13px;color:var(--tx-2);margin-top:5px;line-height:1.5}.mobile-task-meta b{font-weight:500}.mobile-task-mark{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:17px;line-height:1;font-weight:600}.mobile-task-mark.is-overdue{background:var(--st-overdue-bg);color:var(--st-overdue-tx)}.mobile-task-mark.is-soon{background:var(--amber-bg);color:var(--amber-tx)}.mobile-chevron{color:#c2c2c7;font-size:26px;font-weight:300}.mobile-danger{color:var(--st-overdue)!important}.mobile-empty{padding:28px 18px;text-align:center;color:var(--tx-2);font-size:15px;line-height:1.6}.mobile-empty--line{padding:20px 18px;font-size:14px;line-height:1.5}.mobile-empty h3{color:var(--tx);margin:12px 0 5px}.mobile-empty button,.mobile-state button{display:block;color:var(--link);padding:12px;margin:auto}.mobile-account{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 8px;margin:20px 4px;color:var(--tx-2);font-size:14px}.mobile-account__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.mobile-account button{min-height:44px;padding:0 12px}.mobile-push{display:grid;grid-template-rows:1fr;background:#fff;border-radius:14px;margin-bottom:14px;transition:grid-template-rows var(--t-slow) var(--ease),margin-bottom var(--t-slow) var(--ease),opacity var(--t-med) var(--ease)}.mobile-push-in{min-height:0;overflow:hidden;padding:13px}.mobile-push.is-leaving{grid-template-rows:0fr;margin-bottom:0;opacity:0;pointer-events:none}.mobile-push-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 11px}.mobile-push-icon{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--amber-bg);color:var(--amber-tx);font-size:17px;line-height:1;font-weight:600}.mobile-push.is-error .mobile-push-icon{background:var(--st-overdue-bg);color:var(--st-overdue-tx)}.mobile-push-text{flex:1 1 200px;min-width:0}.mobile-push-text strong{display:block;font-size:15px;font-weight:500;line-height:1.4}.mobile-push-text small{display:block;font-size:13px;color:var(--tx-2);margin-top:3px;line-height:1.4}.mobile-push.is-error .mobile-push-text small{color:var(--st-overdue-tx)}.mobile-push-action{flex:none;margin-left:auto;min-height:44px;padding:0 14px;border-radius:20px;background:#1a1916;color:#fff;font-size:14px;font-weight:600}.mobile-push-in>p{font-size:14px;color:var(--tx-2);line-height:1.6;margin-top:11px}.mobile-install{margin-top:22px;background:#eceef1;border-radius:12px}.mobile-install>button{text-align:left;display:block;width:100%;padding:15px}.mobile-install strong{font-size:14px;font-weight:600}.mobile-install span{display:block;font-size:13px;color:var(--tx-2);margin-top:3px}.mobile-install b{float:right}.mobile-install p{font-size:14px;padding:0 15px 15px;color:var(--tx-2);line-height:1.6}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fcfcfd;border-top:1px solid #dfdfe3;display:flex;padding:8px max(8px,(100% - var(--mobile-col)) / 2 + 8px) calc(9px + var(--safe-bottom));min-height:68px}.mobile-nav>button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;min-height:46px;color:#8e8e93}.mobile-nav>button.active{color:#2789e6}.mobile-nav>button>span{position:relative;height:26px}.mobile-nav b{position:absolute;left:17px;top:-4px;background:var(--st-overdue);color:#fff;border:2px solid #fff;border-radius:10px;padding:0 4px;font-size:10px;min-width:17px}.mobile-chart-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.mobile-chart-tools h2{font-size:22px;letter-spacing:-.4px}.mobile-filter{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;margin:-3px 0 12px;padding:0 7px 0 15px;border-radius:22px;background:#1a1916;color:#fff;font-size:15px;font-weight:500}.mobile-filter i{width:8px;height:8px;flex:none;border-radius:50%}.mobile-filter span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-filter b{font-weight:600;color:#ffffffa8}.mobile-filter svg{flex:none;width:30px;height:30px;padding:6px;border-radius:50%;background:#ffffff24}.mobile-search{width:100%;border:1px solid #e5e5e8;background:#eaeaec;border-radius:10px;padding:12px;font-size:17px;margin:3px 0 14px}.mobile-legend{display:flex;flex-wrap:wrap;gap:7px 12px;font-size:12px;color:var(--tx-2)}.mobile-legend>span{display:flex;align-items:center;gap:5px}.mobile-legend i,.mobile-heading i{width:7px;height:7px;border-radius:50%;display:inline-block}.mobile-chart-hint{font-size:12px;color:var(--tx-3);margin-top:10px;line-height:1.5}.mobile-date-heading{font-size:14px;color:var(--tx-2);margin:22px 4px 8px;font-weight:500}.mobile-notice{display:flex;text-align:left;gap:12px;padding:16px 13px;background:#fff;border-bottom:1px solid #eeeef0;width:100%;border-radius:10px;margin-bottom:3px}.mobile-notice-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--st-in-progress-bg);color:var(--st-in-progress-tx);font-size:17px;line-height:1}.mobile-notice-icon.is-done{background:var(--st-done-bg);color:var(--st-done-tx)}.mobile-notice-icon.is-shifted,.mobile-notice-icon.is-soon{background:var(--amber-bg);color:var(--amber-tx)}.mobile-notice-icon.is-overdue{background:var(--st-overdue-bg);color:var(--st-overdue-tx)}.mobile-notice-icon.is-removed{background:var(--st-not-started-bg);color:var(--st-not-started-tx)}.mobile-notice>span:nth-child(2){flex:1;min-width:0}.mobile-notice strong{font-size:13px;font-weight:500;display:block}.mobile-notice strong small{color:var(--tx-3);font-size:11px;font-variant-numeric:tabular-nums}.mobile-notice span span{display:block;font-size:12px;color:var(--tx-2);margin:5px 0}.mobile-notice time{font-size:10px;color:var(--tx-3)}.mobile-unread{width:7px;height:7px;border-radius:50%;background:var(--st-in-progress);flex:none;margin-top:5px}.mobile-archive{margin-top:26px;border-top:1px solid var(--bd);padding-top:12px}.mobile-archive-toggle{width:100%;min-height:44px;font-size:13px;font-weight:500;color:var(--tx-2);border-radius:10px}.mobile-archive-toggle:hover{background:var(--sur-2)}.mobile-archive-search{width:100%;min-height:44px;margin:8px 0 4px;padding:0 14px;font-size:14px;font-family:inherit;color:var(--tx);background:var(--sur);border:1px solid var(--bd);border-radius:10px}.mobile-archive-search:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.mobile-archive .mobile-date-heading:first-of-type{margin-top:14px}.mobile-state{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:20px}.mobile-detail{border:0;padding:0;color:var(--tx);background:var(--sur);box-shadow:var(--sh-3);overflow:auto;overscroll-behavior:contain}.mobile-detail::backdrop{background:#14161d57;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-detail--card{width:min(92vw,480px);max-height:calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom));margin:auto;border-radius:var(--r-lg);animation:detail-pop var(--t-med) var(--ease)}.mobile-detail--card.is-waiting{opacity:0;animation:none;pointer-events:none}.mobile-detail--notices{width:100%;max-width:600px;max-height:calc(92dvh - 20px - var(--safe-bottom));margin:auto auto calc(20px + var(--safe-bottom));border-radius:var(--r-lg);animation:mobile-sheet var(--t-slow) var(--ease)}.mobile-detail-inner{padding:8px 21px calc(25px + var(--safe-bottom))}.mobile-detail-inner:focus,.mobile-detail-inner:focus-visible{outline:none}.mobile-detail--card .mobile-detail-inner{padding:18px 21px 24px}.mobile-detail--card dl:last-child{padding-bottom:4px}.mobile-detail--notices .mobile-detail-inner{padding-bottom:21px}.mobile-detail-handle{height:4px;width:34px;background:#d4d4d8;border-radius:4px;margin:0 auto 10px}.mobile-detail header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--tx-2);font-size:11px}.mobile-detail header button{min-height:44px;min-width:44px;display:grid;place-items:center}.mobile-detail-actions{position:relative;flex:none;display:flex;align-items:center}.mobile-detail-actions button{transition:color var(--t-fast) var(--ease)}@media(hover:hover){.mobile-detail-actions button:hover{color:var(--tx)}}.mobile-detail-actions .mobile-detail-copy.is-copied{color:var(--st-done)}.mobile-copy-status{position:absolute;top:50%;right:100%;pointer-events:none}.mobile-copy-note{display:block;margin-right:2px;padding:6px 12px;border-radius:var(--r-pill);background:var(--tx);color:var(--tx-inv);font-size:13px;font-weight:500;line-height:1.3;white-space:nowrap;box-shadow:var(--sh-2);transform:translateY(-50%);animation:copy-note 1.5s var(--ease) both}.mobile-copy-note.is-failed{background:var(--st-overdue-tx)}@keyframes copy-note{0%{opacity:0;transform:translate(8px,-50%)}10%,80%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translateY(-50%)}}.mobile-detail-caption.is-covered{opacity:0;animation:copy-caption 1.5s var(--ease) both}@keyframes copy-caption{0%,to{opacity:1}10%,80%{opacity:0}}@media(prefers-reduced-motion:reduce){.mobile-copy-note,.mobile-detail-caption.is-covered{animation:none}}.mobile-detail h2{font-size:23px;line-height:1.25;letter-spacing:-.4px;margin:6px 0 15px}.mobile-status{display:inline-block;padding:5px 10px;border-radius:6px;font-size:11px}.mobile-detail-overdue{font-weight:500}.mobile-detail-progress{display:flex;justify-content:space-between;font-size:11px;color:var(--tx-2);margin:23px 0 9px}.mobile-detail dl{display:grid;grid-template-columns:1fr 1.2fr;gap:16px 12px;padding:24px 0;font-size:12px}.mobile-detail dt{color:var(--tx-2)}.mobile-detail dd{text-align:right;overflow-wrap:anywhere}.mobile-detail section{border-top:1px solid var(--bd);padding:18px 0}.mobile-detail h3{font-size:13px;margin-bottom:10px}.mobile-detail p{font-size:13px;line-height:1.6;white-space:pre-wrap}.mobile-chain{list-style:none;padding-left:20px}.mobile-chain li{position:relative;font-size:12px;line-height:1.5;padding:5px 0;color:var(--tx-2)}.mobile-chain li:before{content:"";position:absolute;left:-20px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--bd-strong)}.mobile-chain li:after{content:"";position:absolute;left:-17px;top:18px;bottom:-5px;width:1px;background:var(--bd)}.mobile-chain li:last-child:after{display:none}.mobile-chain li.is-origin{color:var(--tx);font-weight:500}.mobile-chain li.is-overdue{color:var(--st-overdue-tx)}.mobile-chain li.is-overdue:before{background:var(--st-overdue)}.mobile-chain li.is-shift:last-child{color:var(--tx);font-weight:500}.mobile-chain li.is-shift:last-child:before{background:var(--st-in-progress)}.mobile-dependency{position:relative;text-align:left;display:block;width:100%;padding:12px 20px 12px 0;border-bottom:1px solid var(--bd);font-size:12px;min-height:50px}.mobile-dependency span{display:block;font-size:10px;color:var(--tx-2);margin-bottom:3px}.links-block h4{margin:12px 0 0;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--tx-2)}.links-empty{color:var(--tx-2)}.link-row strong{display:block;font-weight:600;color:var(--tx)}.link-row strong small{font-weight:500;color:var(--tx-3);margin-right:2px}.mobile-dependency.link-row .link-row__line{display:flex;align-items:center;gap:8px;margin:3px 0 0;font-size:inherit}.mobile-dependency.link-row .link-row__phrase{flex:1;min-width:0;margin:0;font-size:12.5px;color:var(--tx-2)}.link-pill{flex:none;font-style:normal;font-size:11px;font-weight:600;line-height:20px;padding:0 8px;border-radius:var(--r-pill);white-space:nowrap}.link-pill--hot{background:var(--amber-bg);color:var(--amber-tx)}.link-pill--hold{box-shadow:inset 0 0 0 1px var(--dep);color:var(--tx)}.link-pill--slack{background:var(--sur-2);color:var(--tx-2)}.links-cause{display:flex;align-items:center;gap:10px;margin:8px 0 4px;padding:10px 12px;border-radius:var(--r-md);background:var(--amber-bg);color:var(--amber-tx)}.links-cause p{flex:1;margin:0;color:inherit;font-size:13px}.links-cause button{flex:none;min-height:36px;padding:0 12px;border-radius:var(--r-pill);background:var(--sur);color:var(--amber-tx);font-size:12.5px;font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--amber) 45%,transparent)}.links-chain-link{display:block;min-height:44px;margin-top:4px;color:var(--link);font-weight:600;font-size:14px}.mobile-dependency b{position:absolute;right:0;top:20px;color:var(--tx-3);font-size:20px}.mobile-completion{position:sticky;bottom:0;z-index:1;margin:20px -21px -24px;padding:14px 21px 16px;background:var(--sur);border-top:1px solid var(--bd);box-shadow:0 -14px 24px -14px #14161d2e}.mobile-completion h3{margin-bottom:8px}.mobile-completion.is-confirm p+p{margin-top:-8px}.mobile-app .toast-region{--toast-bottom: 80px}.mobile-completion p{color:var(--tx-2);margin-bottom:14px;font-size:12px}.mobile-primary{background:var(--st-in-progress);color:#fff;border-radius:11px;width:100%;min-height:48px;font-size:14px;font-weight:600}.mobile-cancel{width:100%;min-height:44px;color:var(--tx-2);margin-top:5px}.mobile-app button:active{opacity:.65;transform:translateY(1px)}.mobile-app button:disabled{opacity:.5;cursor:default}.mobile-missing{position:fixed;inset:40% 20px auto;z-index:30;background:#fff;padding:20px;border-radius:12px;box-shadow:var(--sh-3)}.mobile-missing button{display:block;color:var(--link);padding-top:10px}.is-spinning{animation:mobile-spin 1s linear infinite}@keyframes mobile-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-sheet{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes detail-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes mobile-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.mobile-main,.mobile-detail,.mobile-detail--card,.mobile-detail--notices,.mobile-pull .mobile-pull-dot:after,.is-spinning{animation:none}.mobile-pull.is-settling{transition:none}}@media(max-width:350px){.mobile-header h1{font-size:27px}.mobile-main{padding-inline:12px}.mobile-big{font-size:33px}.mobile-big small{font-size:16px}.mobile-stat{padding-inline:8px}.mobile-stat .mobile-tile-label{font-size:12px;padding-right:0}.mobile-stat:after{display:none}.mobile-tile:after{right:8px}.mobile-stat-value{flex-direction:column;align-items:flex-start}.mobile-stat-value strong{font-size:28px}.mobile-stat-value small{font-size:12px}}@media(orientation:landscape)and (max-height:500px){.mobile-app{padding-bottom:calc(64px + var(--safe-bottom))}.mobile-header{padding:calc(10px + var(--safe-top)) 20px 10px}.mobile-header>div{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:16px}.mobile-eyebrow{margin-bottom:0}.mobile-header h1{font-size:24px;letter-spacing:-.5px}.mobile-header p{flex-basis:100%;margin-top:2px}.mobile-nav{min-height:0;padding-top:4px;padding-bottom:calc(4px + var(--safe-bottom))}.mobile-nav>button{flex-direction:row;justify-content:center;gap:10px;min-height:44px;font-size:13px}.mobile-nav b{left:11px;top:-7px}.mobile-main{padding-top:12px}.mobile-app .mobile-main--chart{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.mobile-app .mobile-main--chart>*{flex:1 1 100%;min-width:0;margin:0}.mobile-app .mobile-main--chart>.mobile-chart-tools,.mobile-app .mobile-main--chart>.mobile-filter{flex:none}.mobile-app .mobile-main--chart>.mobile-seg{flex:0 1 260px}.mobile-app .mobile-main--chart>.mobile-search{flex:1 1 220px}}.pwa-update{position:fixed;left:16px;right:16px;bottom:calc(85px + var(--safe-bottom));z-index:50;max-width:440px;margin:auto;background:#252523;color:#fff;border-radius:12px;padding:13px 15px;display:flex;align-items:center;gap:12px;box-shadow:var(--sh-3);font-size:12px}.pwa-update>span{flex:1}.pwa-update>button{min-height:32px;color:#a8d6ff}.pwa-update>button:last-child{color:#bbb;font-size:22px}@media(max-width:767px),(pointer:coarse)and (max-height:500px)and (max-width:1000px){.mobile-detail::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#14161d6b}.mobile-notice-icon{font-size:19px}.mobile-notice strong{font-size:15px}.mobile-notice strong small{font-size:13px}.mobile-notice span span{font-size:14px}.mobile-notice time{font-size:12px}.mobile-detail header{font-size:13px}.mobile-detail h2{font-size:26px}.mobile-status,.mobile-detail-progress{font-size:13px}.mobile-detail dl{font-size:14px}.mobile-detail h3,.mobile-detail p{font-size:15px}.mobile-chain li{font-size:14px}.mobile-archive-toggle{font-size:15px}.mobile-archive-search{font-size:16px}.mobile-dependency{font-size:14px}.mobile-dependency span{font-size:12px}.mobile-dependency b{font-size:22px}.mobile-completion p{font-size:14px}.mobile-primary{font-size:16px}.pwa-update{font-size:14px}.pwa-update>button:last-child{font-size:24px}}.foreman{background:var(--sur);border-bottom:1px solid var(--bd)}.foreman__bar{display:flex;gap:8px;padding:8px 16px;align-items:center;flex-wrap:wrap}.foreman button,.editor button{min-height:34px;padding:6px 12px;border:1px solid var(--bd);border-radius:8px;background:var(--sur)}.foreman button:disabled,.editor button:disabled{opacity:.45;cursor:default}.foreman .primary,.editor .primary{background:var(--tx);color:#fff;border-color:var(--tx)}.foreman__bar small{color:var(--tx-2);margin-left:auto}.foreman__table{max-height:36dvh;overflow:auto;border-top:1px solid var(--bd)}.foreman table{border-collapse:collapse;width:100%;font-size:12px}.foreman th{position:sticky;top:0;background:var(--sur-2);text-align:left;z-index:1}.foreman td,.foreman th{padding:7px 10px;border-bottom:1px solid var(--bd);white-space:nowrap}.foreman td:nth-child(2){white-space:normal;min-width:220px}.foreman tr:hover td{background:var(--sur-2)}.foreman tr[draggable]{cursor:grab}.foreman td button{text-align:left;border:0;padding:0}.foreman__error,.editor__error{color:var(--st-overdue-tx);padding:8px 16px;background:var(--st-overdue-bg)}.editor-backdrop{position:fixed;inset:0;z-index:940;background:#19202d55;display:flex;justify-content:flex-end}.editor{width:min(560px,100%);background:var(--sur);height:100dvh;overflow:auto;padding:24px;box-shadow:var(--sh-2);animation:editor-in .22s ease-out}@keyframes editor-in{0%{transform:translate(36px);opacity:0}}.editor header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.editor h2{font-size:20px}.editor label{display:flex;flex-direction:column;gap:6px;color:var(--tx-2);font-size:12px;margin-bottom:14px}.editor input,.editor select,.editor textarea{width:100%;background:var(--sur);border:1px solid var(--bd-strong);border-radius:8px;padding:10px;font:inherit;color:var(--tx);font-size:14px;min-width:0}.editor textarea{min-height:70px;resize:vertical}.editor__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.editor__danger{color:var(--st-overdue-tx)}.editor__hint{font-size:12px;color:var(--tx-2);margin:10px 0}.editor select{appearance:none;-webkit-appearance:none;padding:10px 40px 10px 14px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%236b6a66' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:12px 8px}.editor input:not([type=date]){padding-left:14px}.links{border:0;padding:0;margin:0 0 14px;min-width:0;display:flex;flex-direction:column;gap:8px}.links legend{color:var(--tx-2);font-size:12px;padding:0;margin-bottom:6px}.links__row{display:grid;grid-template-columns:minmax(0,1fr) 172px 84px 34px;gap:6px;align-items:center}.editor .links__type{padding:10px 28px 10px 10px;background-position:right 10px center;font-size:13px}.editor .links__lag{flex-direction:row;align-items:center;gap:4px;margin:0;position:relative;font-size:13px;color:var(--tx-2)}.editor .links__lag input{padding:10px 6px;text-align:center;-moz-appearance:textfield}.links__lag input::-webkit-inner-spin-button,.links__lag input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.editor .links__remove{min-height:40px;width:34px;padding:0;border-color:transparent;color:var(--tx-2);font-size:18px;line-height:1}.editor .links__remove:hover{background:var(--sur-2);color:var(--tx)}.editor .links__add{color:var(--tx-2);border-style:dashed;background-color:transparent}.editor .links__add:hover{border-color:var(--tx-2);color:var(--tx)}@media(max-width:520px){.links__row{grid-template-columns:minmax(0,1fr) 84px 34px}.links__type{grid-column:1;grid-row:2}}.editor__preview{padding:12px;margin:12px 0;border:1px solid var(--bd);border-radius:8px;font-size:12px}.editor__preview li{margin:5px 0 5px 18px}.editor details{margin-top:12px}.editor summary{cursor:pointer;padding:10px 0}@media(prefers-reduced-motion:reduce){.editor{animation:none}}.editor__done{margin-top:20px;padding:14px 16px;border:1px solid var(--bd);border-radius:var(--r-md);background:var(--sur-2)}.editor__done--on{border-color:var(--st-done);background:var(--st-done-bg)}.editor__done-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--tx-2)}.editor__done-head strong{color:var(--tx);font-size:14px}.editor__done-badge{color:var(--st-done-tx);background:var(--sur);border:1px solid var(--st-done);border-radius:var(--r-pill);padding:2px 12px;font-size:12px;font-weight:600}.editor__done .editor__hint{margin:8px 0 0}.editor__done-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.editor .editor__done-start{margin-top:12px;color:var(--st-done-tx);border-color:var(--st-done)}.editor .editor__go{background:var(--st-done);border-color:var(--st-done);color:var(--tx-inv)}.foreman{position:relative}.foreman__link{position:absolute;top:100%;left:16px;z-index:20;width:min(600px,calc(100% - 32px));background:var(--sur);border:1px solid var(--bd);border-top:0;border-radius:0 0 12px 12px;box-shadow:var(--sh-3);animation:foreman-link-in .18s ease-out}.foreman__link .foreman__bar{padding:10px 16px}.foreman__preview{margin:0 16px 14px;max-height:32dvh;overflow:auto;background:var(--sur);transition:opacity .15s ease}.foreman__preview p{margin:6px 0 0}.foreman__preview ul{margin:6px 0 0;padding:0}.foreman__preview .editor__error{margin:6px 0 0;padding:6px 10px;border-radius:6px}.foreman__preview--stale{opacity:.5}@keyframes foreman-link-in{0%{opacity:0;transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.foreman__link{animation:none}.foreman__preview{transition:none}}.editor__done-note{margin-top:8px;font-size:12px;line-height:1.45;color:var(--tx-2)}.editor__done-note p+p{margin-top:4px}.editor__done-note p:first-child{color:var(--tx);font-size:13px}.editor__leave{position:fixed;right:0;bottom:0;z-index:1;width:min(560px,100%);padding:18px 24px calc(22px + var(--safe-bottom));background:var(--sur);border-top:1px solid var(--bd);box-shadow:0 -14px 28px #14161d1a;animation:editor-leave-in var(--t-med) var(--ease) both}.editor__leave strong{font-size:15px;color:var(--tx)}.editor__leave p+p{margin-top:4px;font-size:13px;color:var(--tx-2)}.editor__leave div{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.editor .editor__leave button{min-height:40px;padding:8px 16px;font-weight:600}@keyframes editor-leave-in{0%{transform:translateY(16px);opacity:0}}@media(prefers-reduced-motion:reduce){.editor__leave{animation:none}}.gantt{--axis-h: 44px;--axis-fs: 11;--axis-fs-top: 12;--axis-pad: 5;--grp-bg: #f6f5f2;--today-d: 0;--final-d: 0;display:flex;min-height:0;flex:1;background:var(--sur);border:1px solid var(--bd);border-radius:var(--r-md);overflow:hidden;position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@property --row-h{syntax: "<number>"; inherits: false; initial-value: 32;}@property --sec-h{syntax: "<number>"; inherits: false; initial-value: 36;}@property --row-font{syntax: "<number>"; inherits: false; initial-value: 12.5;}@property --ppd{syntax: "<number>"; inherits: false; initial-value: 6;}@property --bar-h{syntax: "<length>"; inherits: false; initial-value: 16px;}@property --bar-top{syntax: "<length>"; inherits: false; initial-value: 8px;}@property --rrow-u{syntax: "<number>"; inherits: false; initial-value: 32;}@property --dense{syntax: "<number>"; inherits: false; initial-value: 1;}@property --nodate-sx{syntax: "<number>"; inherits: false; initial-value: 1;}@property --nodate-sy{syntax: "<number>"; inherits: false; initial-value: 1;}.gantt__scroll{flex:1;min-width:0;overflow:auto;position:relative;overscroll-behavior-x:contain;overscroll-behavior-y:none;touch-action:pan-x pan-y;scrollbar-width:thin;overflow-anchor:none;scroll-padding-top:var(--axis-h)}.gantt__scroll--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.gantt__sheet{display:flex;align-items:stretch;width:max-content;min-width:100%;min-height:100%;position:relative}.gantt__left{flex:none;overflow:clip;position:sticky;left:0;display:flex;flex-direction:column;border-right:1px solid var(--bd-strong);z-index:5;background:var(--sur);box-shadow:4px 0 12px -8px #0000002e;--col-num: 48px;--col-ct: 116px;--col-ds: 62px;--col-de: 62px;--col-pr: 0px;--col-su: 0px}.gantt__lhead{height:var(--axis-h);flex:none;display:flex;align-items:flex-end;padding:0 12px 8px;background:var(--sur-2);border-bottom:1px solid var(--bd-strong);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--tx-3);position:sticky;top:0;z-index:4;overflow:hidden}.gantt__left>.gantt__row-layer{flex:none}.gantt{--isle-gap: 8;--isle-gap-k: .375;--isle-pad: 10;--isle-pad-g: 6;--isle-r: 10;--isle-r-g: 7;--isle-bg: #f3f2ee;--isle-g-bg: var(--sur);--isle-bd: rgba(80, 70, 40, .075);--isle-g-bd: rgba(80, 70, 40, .07);--lab-x: 2px;--lab-in: calc(var(--tab-w) + 6px);--grid: rgba(0, 0, 0, .05);--grid-strong: rgba(0, 0, 0, .11)}.gantt__canvas{background:var(--sur)}.gantt__isles{position:absolute;top:var(--axis-h);left:0;right:0;bottom:0;z-index:0;overflow:clip;pointer-events:none}.isle{position:absolute;left:0;top:0;width:0;--r: 10;transform-origin:0 0}.isle>i{position:absolute;left:0;right:0;top:0;display:block;box-sizing:border-box;background:var(--isle-bg);border:1px solid var(--isle-bd)}.isle--group>i{background:var(--isle-g-bg);border-color:var(--isle-g-bd)}.isle>.isle__t{height:calc(var(--r) * 1px);border-bottom-width:0;border-radius:calc(var(--r) * 1px) calc(var(--r) * 1px) 0 0}.isle>.isle__m{top:calc(var(--r) * 1px - 1px);height:calc(var(--isle-u, 1) * 1px);border-top-width:0;border-bottom-width:0;transform-origin:0 0}.isle>.isle__b{height:calc(var(--r) * 1px);border-top-width:0;border-radius:0 0 calc(var(--r) * 1px) calc(var(--r) * 1px)}.isle[data-gone]{visibility:hidden}.isle.isle--move{z-index:1}.gantt--filtering .isle.isle--move,.gantt--filtering .isle.isle--move>:is(.isle__m,.isle__b){will-change:transform}.isle--group.isle--move{z-index:2}.gantt__isles{visibility:hidden}.gantt .zlabel,.gantt .zlane--group .zlabel{background:var(--sur)}.gantt__over{position:absolute;top:var(--axis-h);left:0;right:0;height:0;z-index:3;overflow-x:clip;pointer-events:none}@supports (font: -apple-system-body){.gantt__over{height:auto;bottom:0}}.zlane{--lab-h: 22px;--lab-fs: 13px;--lab-chev: 20px;position:absolute;left:0;top:0;height:var(--lab-h);box-sizing:border-box;padding:0 var(--lab-x);pointer-events:none}@supports (font: -apple-system-body){.zlane{height:calc(var(--lab-h) + 16px);margin-top:-8px;padding:8px var(--lab-x);overflow:clip}.zlane.zlane--move{overflow:visible}}.zlane[data-step=m]{--lab-h: 17px;--lab-fs: 12px;--lab-chev: 18px}.zlane[data-step=s]{--lab-h: 13px;--lab-fs: 11px;--lab-chev: 16px}.zlane[data-step=c24]{--lab-h: 28px;--lab-fs: 24px;--lab-chev: 34px}.zlane[data-step=c22]{--lab-h: 25px;--lab-fs: 22px;--lab-chev: 32px}.zlane[data-step=c20]{--lab-h: 23px;--lab-fs: 20px;--lab-chev: 30px}.zlane[data-step=c18]{--lab-h: 21px;--lab-fs: 18px;--lab-chev: 27px}.zlane[data-step=c16]{--lab-h: 18.5px;--lab-fs: 16px;--lab-chev: 24px}.zlane[data-step=c15]{--lab-h: 17px;--lab-fs: 15px;--lab-chev: 22px}.zlane[data-step=c13]{--lab-h: 15px;--lab-fs: 13px;--lab-chev: 19px}.zlane[data-step=c12]{--lab-h: 12px;--lab-fs: 12px;--lab-chev: 18px}.zlane[data-gone]>.zlabel{opacity:0;visibility:hidden;transition:opacity var(--t-med) var(--ease),visibility 0s linear var(--t-med)}.zlane.zlane--cut>.zlabel{transition:none}.zlabel{position:sticky;left:calc(var(--dl, 0px) + var(--lab-in));transform-origin:0 50%;display:flex;align-items:center;width:max-content;height:100%;padding:0 calc(var(--lab-fs) * .55) 0 0;border-radius:4px;background:var(--isle-bg);font-size:var(--lab-fs);line-height:1;color:var(--tx);white-space:nowrap;pointer-events:auto;transition:opacity var(--t-med) var(--ease),visibility 0s}.zlane--group .zlabel{background:var(--isle-g-bg)}.zlabel__chev{flex:none;position:relative;width:var(--lab-chev);height:100%;display:flex;align-items:center;justify-content:center;color:var(--tx-2);-webkit-tap-highlight-color:transparent}@media(pointer:coarse),(hover:none){.zlabel__chev:before{content:"";position:absolute;inset:-8px -2px -8px -4px}}.zone__chev-i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform var(--t-med) var(--ease)}.zone__chev-i--closed{transform:rotate(-45deg) translate(-1px,1px)}.zlane:is([data-step=s],[data-step=c13],[data-step=c12]) .zone__chev-i{width:5.5px;height:5.5px}.zlabel__name{display:flex;align-items:center;gap:.5em;height:100%;padding:0;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}.zlabel__text{font-weight:600;letter-spacing:-.005em}.zlane--group .zlabel__text{font-weight:500;color:color-mix(in srgb,var(--tx) 82%,var(--tx-2))}.zlabel__num{color:var(--tx-3);font-weight:500;font-variant-numeric:tabular-nums;margin-right:-.2em}@media(hover:hover){.zlabel__name:hover .zlabel__text{text-decoration:underline;text-decoration-color:var(--bd-quiet);text-underline-offset:3px}}.zlabel__name:focus-visible,.zlabel__chev:focus-visible{outline:none}.zlabel:has(:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.zlane.zlane--dim>.zlabel{opacity:.45}.spot{--spot-dim: rgba(40, 39, 35, .3);position:absolute;top:0;left:0;right:0;height:0;z-index:2;display:none;opacity:0;transition:opacity .18s var(--ease),display .18s allow-discrete}.spot.spot--on{display:block;opacity:1;transition:opacity .2s var(--ease),display 0s}@starting-style{.spot.spot--on{opacity:0}}.spot.spot--instant{transition:none}.spot__dim{position:absolute;left:0;right:0;top:0;height:calc(var(--isle-u, 1) * 1px);transform-origin:0 0;background:var(--spot-dim);pointer-events:auto}.gantt--scaling .spot--on .spot__dim{will-change:transform}.spot--left{top:var(--axis-h);z-index:3}.spot--canvas{position:sticky;top:auto;left:0;right:auto;width:100vw}@media(prefers-reduced-motion:reduce){.spot,.spot.spot--on,.zlabel,.zlane[data-gone]>.zlabel,.zone__chev-i,.sbar{transition:none}}.gantt{--strip: 20px}.gantt__resize{position:absolute;top:0;bottom:0;left:0;z-index:7;width:var(--strip);margin-left:calc(var(--strip) / -2);cursor:col-resize;touch-action:none;-webkit-tap-highlight-color:transparent;transition:opacity var(--t-fast) var(--ease),visibility 0s}@media(pointer:coarse),(hover:none){.gantt__resize{pointer-events:none}}.gantt__resize-line{position:absolute;left:calc(50% - 1px);top:0;bottom:0;width:2px;background:var(--focus);opacity:0;transition:opacity var(--t-fast) var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);pointer-events:none}.gantt__resize:focus-visible .gantt__resize-line,.gantt--resizing .gantt__resize-line{opacity:1}@media(hover:hover){.gantt__resize:hover .gantt__resize-line{opacity:1}}.gantt__resize:focus-visible{outline:none}.gantt.gantt--lift .gantt__resize-line{opacity:1;transform:scaleX(1.5);box-shadow:0 0 10px 2px color-mix(in srgb,var(--focus) 45%,transparent);transition:opacity 0s,transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s var(--ease)}.gantt--resizing .grow__ct,.gantt--resizing .grow__date{transition:none}.gantt--resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.grow{height:calc(var(--row-h) * 1px);display:flex;align-items:center;padding:0 calc(var(--row-font) * .89 * 1px);border-bottom:1px solid var(--bd);font-size:calc(var(--row-font) * 1px);white-space:nowrap;transition:background var(--t-fast)}@media(hover:hover){.grow--task:hover{background:#f0efec}}.grow__num{width:var(--col-num);flex:none;font-size:.88em;color:var(--tx-3);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}.grow__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.grow__name--in-group{padding-left:14px}.grow--in-group{position:relative}.grow--in-group:before{content:"";position:absolute;top:0;bottom:0;left:calc(12px + var(--col-num) + 5px);width:1px;background:var(--bd-strong);opacity:.7}.grow__ct,.grow__date{flex:none;overflow:hidden;white-space:nowrap;transition:width var(--t-med) var(--ease),opacity var(--t-fast) var(--ease)}.grow__ct{width:var(--col-ct);opacity:var(--op-ct, 1);text-overflow:ellipsis;font-size:.92em;color:var(--tx-2)}.grow__ct i{color:var(--tx-3);font-style:normal}.grow__date{text-align:right;font-size:.92em;color:var(--tx-2);font-variant-numeric:tabular-nums}.grow__date--start{width:var(--col-ds);opacity:var(--op-ds, 1)}.grow__date--end{width:var(--col-de);opacity:var(--op-de, 1)}.grow__date--overdue{color:var(--st-overdue);font-weight:600}.grow__link{flex:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-left:12px;font-size:.92em;color:var(--tx-2);font-variant-numeric:tabular-nums;transition:width var(--t-med) var(--ease),opacity var(--t-fast) var(--ease)}.grow__link--pred{width:var(--col-pr);opacity:var(--op-pr, 1)}.grow__link--succ{width:var(--col-su);opacity:var(--op-su, 1)}.gantt--resizing .grow__link{transition:none}.grow__date--final{color:var(--tx);font-weight:600}.grow--final{color:var(--tx-2);font-size:calc(var(--row-font) * .963 * 1px)}.grow--final{font-weight:600;color:var(--tx);border-bottom:none}.st-done.grow--task .grow__name{color:var(--tx-3)}.gsec{border-bottom:1px solid var(--bd)}.ghead{width:100%;height:calc(var(--sec-h) * 1px);display:flex;align-items:center;gap:8px;padding:0 calc(var(--row-font) * .89 * 1px);background:var(--sur-2);border-bottom:1px solid var(--bd);text-align:left;font-size:calc(var(--row-font) * 1.04 * 1px);font-weight:600;position:relative;transition:background var(--t-fast)}@media(hover:hover){.ghead:hover{background:#ecebe7}}.ghead.ghead--fold{border-bottom-color:transparent}.ghead.ghead--fold:after{content:"";position:absolute;left:0;right:0;top:100%;height:calc(var(--fold-h, 0) * 1px + 1px);background:inherit;border-bottom:1px solid var(--bd)}.ghead.ghead--fold:not(.ghead--group):before{bottom:calc(var(--fold-h, 0) * -1px)}.ghead:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sec-accent, var(--bd-strong))}.ghead.st-overdue{--sec-accent: var(--st-overdue)}.ghead.st-in-progress{--sec-accent: var(--st-in-progress)}.ghead.st-done{--sec-accent: var(--st-done)}.ghead.st-not-started{--sec-accent: var(--st-not-started)}.ghead__chev{width:7px;height:7px;border-right:1.5px solid var(--tx-2);border-bottom:1.5px solid var(--tx-2);transform:rotate(45deg) translate(-1px,-1px);transition:transform var(--t-med) var(--ease);flex:none}.ghead__chev--closed{transform:rotate(-45deg) translate(-1px,1px)}.ghead__title{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:calc(100% - 20px)}.ghead__meta{font-weight:500;font-size:1em;color:var(--tx-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ghead__n{font-weight:700;color:var(--tx);font-variant-numeric:tabular-nums}.ghead__overdue{color:var(--st-overdue);font-weight:600}.ghead__done{color:var(--st-done-tx)}.ghead--group{background:var(--grp-bg);padding-left:26px;font-size:calc(var(--row-font) * .963 * 1px);gap:6px}@media(hover:hover){.ghead--group:hover{background:#eeede8}}.ghead--group:before{left:13px;top:8px;bottom:8px;width:2px;border-radius:1px}.ghead--group .ghead__chev{width:6px;height:6px;border-width:1.5px}.ghead__num{flex:none;font-size:calc(var(--row-font) * .89 * 1px);color:var(--tx-3);font-variant-numeric:tabular-nums;font-weight:600}.ghead--group .ghead__meta{font-size:calc(var(--row-font) * .963 * 1px)}.gantt__canvas{position:relative;flex:1 0 auto;cursor:grab}.bar,.sbar,.bar-baseline,.bar-planned-end,.ms-diamond--bar,.bar-nodate,.line-today,.line-final{--ppd: 6}.rrow,.bar__warn{--dense: 1}.bar,.sbar,.bar-baseline,.bar-planned-end,.bar-nodate{--bar-h: 16px;--bar-top: 8px}.bar-baseline,.ms-diamond--bar,.bar__warn{--rrow-u: 32}.axis{position:sticky;top:0;z-index:4;height:var(--axis-h);background:var(--sur-2);border-bottom:1px solid var(--bd-strong);overflow:hidden}.axis__tier{position:relative;height:22px}.axis__tick{position:absolute;top:0;left:0;height:22px;line-height:22px;padding-left:calc(var(--axis-pad, 5) * 1px);font-size:calc(var(--axis-fs, 10) * 1px);color:var(--tx-3);border-left:1px solid rgba(0,0,0,.08);overflow:hidden;white-space:nowrap;font-variant-numeric:tabular-nums}.axis__tick--top{font-weight:600;color:var(--tx-2);font-size:calc(var(--axis-fs-top, 11) * 1px);border-left-color:#00000029}.axis__tick--strong{color:var(--tx-2);border-left-color:#00000024}.axis__today{position:absolute;top:24px;left:0;z-index:2;background:var(--today);color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--r-pill);white-space:nowrap;box-shadow:var(--sh-1)}.gantt__body{position:relative}.grid{position:absolute;top:0;left:0;height:100%;width:100%;pointer-events:none;z-index:0;overflow:visible;display:block}.grid__line{stroke:var(--grid);stroke-width:1;shape-rendering:crispEdges}.grid__line--strong{stroke:var(--grid-strong)}.rrow{height:calc(var(--row-h) * 1px);position:relative}.rrow--head,.rrow--group{height:calc(var(--sec-h) * 1px)}.rrow--final{border-bottom:none}.rrow--final:before,.grow--final:before{content:"";position:absolute;inset:3px 0 0;background:var(--sur-2);border-top:1px solid var(--bd-strong);pointer-events:none}.grow--final{position:relative}.grow--final>*{position:relative}.rrow--final,.grow--final{height:max(calc(var(--row-h) * 1px),14px)}.bar{position:absolute;top:var(--bar-top);left:0;height:var(--bar-h);border-radius:min(4px,calc(var(--bar-h) / 2));z-index:2;container-type:size;transform:translate(calc(var(--d) * var(--ppd) * 1px));width:calc(var(--w) * var(--ppd) * 1px);min-width:4px;background:var(--bar-color);color:var(--bar-color);transition:filter var(--t-fast),box-shadow var(--t-fast);cursor:default}@media(hover:hover){.bar:hover{filter:brightness(1.08);box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--bar-color);z-index:5}}.bar.st-not-started{--bar-color: var(--st-not-started)}.bar.st-in-progress{--bar-color: var(--st-in-progress)}.bar.st-done{--bar-color: var(--st-done);opacity:.55}.bar.st-overdue{--bar-color: var(--st-overdue)}.sbar{position:absolute;top:var(--bar-top);left:0;height:var(--bar-h);z-index:2;border-radius:min(4px,calc(var(--bar-h) / 2));container-type:size;transform:translate(calc(var(--d) * var(--ppd) * 1px));width:calc(var(--w) * var(--ppd) * 1px);min-width:6px;background:var(--bar-color);color:var(--bar-color);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility 0s linear .2s}.rrow--closed>.sbar{opacity:1;visibility:visible;transition:opacity var(--t-morph) var(--ease-morph) 80ms,visibility 0s}.sbar.st-not-started{--bar-color: var(--st-not-started)}.sbar.st-in-progress{--bar-color: var(--st-in-progress)}.sbar.st-done{--bar-color: color-mix(in srgb, var(--st-done) 60%, #fff)}.sbar.st-overdue{--bar-color: var(--st-overdue)}.sbar.bar--today{transform:translate(calc((var(--d) + var(--w)) * var(--ppd) * 1px - 100%))}@media(hover:hover){.rrow--closed>.sbar:hover{filter:brightness(1.08);box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--bar-color)}}.bar:before{content:"";position:absolute;left:0;right:0;top:min(0px,calc((100cqh - 11px)/2));bottom:min(0px,calc((100cqh - 11px)/2))}.bar__progress{position:absolute;left:0;top:0;bottom:0;width:calc(var(--w) * 1%);background:var(--progress);border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0;max-width:100%}.bar__warn{--warn-d: min(15px, calc(var(--rrow-u) * .7 * 1px));position:absolute;right:3px;top:calc((100cqh - var(--warn-d)) / 2);width:var(--warn-d);height:var(--warn-d);border-radius:50%;background:#fff;color:var(--st-overdue);border:1.5px solid var(--st-overdue);font-size:calc(var(--warn-d) * .67);font-weight:800;font-style:normal;line-height:calc(var(--warn-d) - 3px);text-align:center;z-index:4;box-shadow:0 0 0 1.5px #fff;opacity:var(--dense)}.bar--warn:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;box-shadow:inset 0 0 0 min(1.5px,12.5cqh) var(--st-overdue),inset 0 0 0 min(3px,20cqh) #fff}.bar.bar--today{transform:translate(calc((var(--d) + var(--w)) * var(--ppd) * 1px - 100%))}.bar--shifted{outline:2px dashed var(--shifted);outline-offset:2px}.bar__tail{position:absolute;right:0;top:0;bottom:0;width:calc(var(--w) * 1%);max-width:100%;border-radius:inherit;border-top-left-radius:0;border-bottom-left-radius:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--bar-color) 92%,#fff) 0 4px,color-mix(in srgb,var(--bar-color) 42%,#fff) 4px 9px);box-shadow:inset 1.5px 0 #ffffffe6}.bar-baseline{position:absolute;top:calc(var(--bar-top) + var(--bar-h) + 1px);height:min(6px,calc(var(--rrow-u) * 1px - var(--bar-top) - var(--bar-h) - 1px));border-radius:3px;left:calc(var(--d) * var(--ppd) * 1px);width:calc(var(--w) * var(--ppd) * 1px);min-width:3px;background:var(--baseline);z-index:1;animation:baseline-in var(--t-med) var(--ease) both}@keyframes baseline-in{0%{opacity:0;transform:translateY(-4px) scaleY(.4)}to{opacity:1;transform:none}}.bar-planned-end{position:absolute;top:calc(var(--bar-top) - 3px);left:calc(var(--d) * var(--ppd) * 1px - 1px);height:calc(var(--bar-h) + 6px);width:2px;background:var(--st-done);opacity:.6;z-index:3}.bar-nodate{position:absolute;top:var(--bar-top);left:0;width:var(--bar-h);height:var(--bar-h);border-radius:50%;z-index:2;transform:translate(calc(var(--d, 0) * var(--ppd) * 1px)) scale(var(--nodate-sx, 1),var(--nodate-sy, 1));transform-origin:0 50%;background:var(--nodate);cursor:default;transition:filter var(--t-fast),box-shadow var(--t-fast)}.bar-nodate:before{content:"";position:absolute;left:50%;top:50%;width:max(100%,24px);height:max(100%,24px);translate:-50% -50%;border-radius:50%}@media(hover:hover){.bar-nodate:hover{filter:brightness(1.15);box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--nodate);z-index:5}}.bar-nodate.bar-nodate--selected{box-shadow:0 0 0 2px var(--sur),0 0 0 3.5px var(--tx);z-index:6}.ms-diamond{display:inline-block;width:9px;height:9px;background:var(--tx-2);transform:rotate(45deg);border-radius:1.5px;margin:0 4px 0 2px;vertical-align:-1px}.ms-diamond--final{background:var(--final)}.ms-diamond--bar{position:absolute;top:-2px;left:0;margin:0;width:11px;height:11px;transform:translate(calc(var(--final-d) * var(--ppd) * 1px - 50%)) rotate(45deg);z-index:2}.line-today,.line-final{position:absolute;top:var(--axis-h);left:0;height:0;z-index:3;pointer-events:none;transform-origin:0 0}.line-today{width:2px;background:var(--today)}.line-final{width:3px;background:var(--final);opacity:.9}.deps{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}.deps path{fill:none;stroke-linejoin:round;stroke-linecap:round}.deps .deps__halo{stroke:var(--dep-halo)}.deps .deps__line--hold{stroke:var(--dep)}.deps .deps__line--slack{stroke:var(--dep-slack)}.deps .deps__line--hot{stroke:var(--dep-hot)}.deps .deps__head--hold{fill:var(--dep)}.deps .deps__head--slack{fill:var(--dep-slack)}.deps .deps__head--hot{fill:var(--dep-hot)}.deps .deps__station{fill:var(--dep-halo)}.deps .deps__station--hold{stroke:var(--dep)}.deps .deps__station--slack{stroke:var(--dep-slack)}.deps .deps__station--hot{stroke:var(--dep-hot)}.deps--chain{z-index:4;animation:deps-in .18s var(--ease) both}@keyframes deps-in{0%{opacity:0}}.gantt__row-layer[data-view=links] .rrow>:is(.bar,.bar-nodate){opacity:.6}.gantt__row-layer[data-view=links] .rrow--nolink>:is(.bar,.bar-nodate){opacity:.2}.gantt__row-layer[data-view=links] .rrow--hot>.bar{opacity:1}.gantt__row-layer[data-view=links][data-chain] .rrow:not(.rrow--chain)>:is(.bar,.bar-nodate){opacity:.14}.gantt__row-layer[data-view=links][data-chain] .rrow--chain>.bar{opacity:1}.gantt__left .gantt__row-layer[data-chain] .grow--task:not(.grow--chain){opacity:.4}.gantt__row-layer{position:relative}.gantt__motion-row{position:absolute;inset:0 0 auto;transform-origin:0 0}.gantt__motion-row.gantt__motion-row--head:not([aria-hidden=true]){z-index:3}.gantt__body{overflow-x:visible;overflow-y:clip}.gantt--warm .gantt__body,.gantt--scaling .gantt__body{will-change:transform;transform-origin:0 0}.gantt--scaling :is(.line-today,.line-final){will-change:transform}.gantt.gantt--scaling :is(.bar__label,.bar__warn,.bar-planned-end,.bar__link-handle,.ms-diamond--bar){opacity:0;transition:opacity .12s var(--ease)}.gantt:not(.gantt--zooming) :is(.bar__label,.bar__warn,.bar-planned-end,.bar__link-handle,.ms-diamond--bar){transition:opacity .15s var(--ease)}.gantt[data-initializing] .gantt__scroll,.gantt--table-off .gantt__left{visibility:hidden}.gantt--drawer :is(.gantt__left,.gantt__expand,.gantt__resize){will-change:transform}.gantt{--tab-w: 36px;--tab-h: 92px}@media(pointer:coarse),(hover:none){.gantt{--tab-w: 48px;--tab-h: 112px}}.gantt__expand{position:absolute;left:0;top:50%;margin-top:calc(var(--tab-h) / -2);z-index:8;width:var(--tab-w);height:var(--tab-h);padding:0;border:0;background:none;color:var(--tx-2);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.gantt__expand-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--bd-strong);border-left:0;border-radius:0 var(--r-lg) var(--r-lg) 0;background:var(--sur);box-shadow:var(--sh-2),1px 0 #00000005;transform-origin:0 50%;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform .2s cubic-bezier(.2,.75,.2,1),box-shadow .2s var(--ease)}.gantt__expand-face:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--bd-strong);border-radius:0 3px 3px 0}.gantt__expand-face svg{width:calc(var(--tab-w) * .5);height:auto;color:var(--tx)}.gantt__expand-face svg{transition:transform .26s cubic-bezier(.35,0,.2,1)}.gantt--table-on .gantt__expand-face svg{transform:rotate(180deg);transition:transform .3s cubic-bezier(.2,.75,.2,1)}@media(prefers-reduced-motion:reduce){.gantt__expand-face svg,.gantt--table-on .gantt__expand-face svg{transition:none}}.gantt__expand-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--tx-2);white-space:nowrap;line-height:1}@media(hover:hover){.gantt__expand:hover .gantt__expand-face{background:var(--sur-2)}}.gantt__expand:focus-visible{outline:none}.gantt__expand:focus-visible .gantt__expand-face{outline:2px solid var(--focus);outline-offset:1px}.gantt__expand:active .gantt__expand-face{transition:none;background:var(--sur-2);transform:translate(3px);box-shadow:var(--sh-3)}.gantt--table-on .gantt__expand:active .gantt__expand-face{transform:translate(-3px)}.gantt.gantt--lift .gantt__expand .gantt__expand-face{transform:scale(1.06);background:var(--sur);box-shadow:0 14px 30px -8px #00000052,0 4px 10px #0000001f;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s var(--ease),background-color var(--t-fast) var(--ease)}.gantt--lift .gantt__expand{cursor:col-resize}@media(prefers-reduced-motion:reduce){.gantt__expand-face,.gantt.gantt--lift .gantt__expand .gantt__expand-face,.gantt__resize-line,.gantt.gantt--lift .gantt__resize-line{transition:none}}.gantt--tab .gantt__resize{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--t-fast) var(--ease),visibility 0s linear var(--t-fast)}.gantt__motion-row--far,.gantt--table-off .gantt__left .gantt__row-layer{content-visibility:hidden}.gantt__motion-row[aria-hidden=true]{z-index:0}.gantt__motion-row:not([aria-hidden=true]){z-index:1}.gantt__motion-row--gone{content-visibility:hidden}.gantt__motion-row.gantt__motion-row--sink{z-index:2}.gantt__motion-row.gantt__motion-row--move{z-index:3}.gantt--filtering .gantt__motion-row:is(.gantt__motion-row--sink,.gantt__motion-row--move){will-change:transform,opacity}.bar__label{display:none;position:absolute;inset:0 6px;font-size:10px;line-height:100cqh;font-weight:600;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.gantt[data-detail=days] .bar__label{display:block}.bar:focus-visible{outline:3px solid var(--tx);outline-offset:4px}.deps{transition:opacity .16s var(--ease) 40ms}.deps--base{transition-duration:.18s}.gantt__row-layer[data-chain]~.deps--base{opacity:.1;transition:opacity .18s var(--ease)}.gantt .deps.deps--muted,.gantt.gantt--morphing .deps,.gantt.gantt--zooming .deps{opacity:0;transition:opacity .11s ease;animation:none}.gantt__today-rail{position:absolute;top:var(--axis-h);left:0;right:0;height:0;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.gantt__today-button{position:sticky;right:10px;bottom:14px;z-index:6;margin-right:10px;flex:none;pointer-events:auto;border:1px solid var(--bd-strong);border-radius:20px;background:var(--sur);padding:9px 13px;box-shadow:var(--sh-1);font-size:12px;font-weight:600}.axis__today{cursor:pointer}@media(prefers-reduced-motion:reduce){.deps,.gantt .deps.deps--muted,.gantt__row-layer[data-chain]~.deps--base{transition:none;animation:none}.bar-baseline{animation:none}}.bar__link-handle{position:absolute;right:-6px;top:calc((100cqh - 10px)/2);width:10px;height:10px;border:2px solid var(--link);border-radius:50%;background:#fff;cursor:crosshair;opacity:0;z-index:5;touch-action:none}.bar:hover .bar__link-handle,.bar:focus-within .bar__link-handle{opacity:1}@media(pointer:coarse){.bar__link-handle{opacity:1;width:16px;height:16px;top:calc((100cqh - 16px)/2)}}.bar.bar--selected{box-shadow:0 0 0 2px var(--sur),0 0 0 3.5px var(--tx);z-index:6}.bar.st-done.bar--selected{opacity:.9}@media(hover:hover){.bar.bar--selected:hover{filter:brightness(1.08)}}.grow--task.grow--selected{background:color-mix(in srgb,var(--focus) 12%,#fff);box-shadow:inset 3px 0 0 var(--tx)}@media(hover:hover){.grow--task.grow--selected:hover{background:color-mix(in srgb,var(--focus) 17%,#fff)}}.grow--task.grow--selected .grow__name{font-weight:600}.gtip{position:fixed;left:0;top:0;z-index:900;min-width:220px;max-width:320px;padding:9px 12px 10px;border-radius:var(--r-md);background:var(--tx);color:#fff;font-size:var(--fs-sm);line-height:1.45;box-shadow:var(--sh-3);opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease)}.gtip--on{opacity:1;pointer-events:auto}.gtip b{font-weight:600}.gtip .tip__muted{color:#ffffffa6}.gtip .tip__row{display:flex;gap:10px;justify-content:space-between}.gtip__actions{display:flex;gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.14)}.gtip__btn{flex:1;padding:5px 9px;border-radius:var(--r-sm);background:#ffffff24;color:#fff;font-size:var(--fs-xs);font-weight:600;transition:background var(--t-fast) var(--ease)}.gtip__btn:hover{background:#ffffff42}.gtip__btn:focus-visible{outline-color:#fff;outline-offset:1px}.gantt.gantt--chief{--axis-h: 56px;--axis-fs: 18;--axis-fs-top: 23;--axis-pad: 5;--axis-fs-tight: 15}.gantt.gantt--chief .axis__tier{height:28px}.gantt.gantt--chief .axis__tick{height:28px;line-height:28px;color:color-mix(in srgb,var(--tx) 70%,var(--tx-2))}.gantt.gantt--chief .axis__tick--top{font-weight:700;color:var(--tx)}.gantt.gantt--chief .axis__tick--tight{font-size:calc(var(--axis-fs-tight) * 1px);padding-left:3px}.gantt.gantt--chief .axis__today{top:29px;font-size:16px;padding:0 12px;line-height:26px}.gantt.gantt--chief .gantt__lhead{padding:0 17px 10px;font-size:13px;letter-spacing:.6px}.gantt.gantt--chief .grow{padding:0 17px}.gantt.gantt--chief .grow__name--in-group{padding-left:20px}.gantt.gantt--chief .grow--in-group:before{left:calc(17px + var(--col-num) + 7px)}.gantt.gantt--chief .grow--final{font-size:calc(var(--row-font) * .945 * 1px)}.gantt.gantt--chief .ghead{gap:11px;padding:0 17px}.gantt.gantt--chief .ghead__chev{width:9px;height:9px;border-width:2px}.gantt.gantt--chief .ghead--group{padding-left:37px;font-size:calc(var(--row-font) * .945 * 1px);gap:9px}.gantt.gantt--chief .ghead--group:before{left:19px;top:21%;bottom:21%;width:3px}.gantt.gantt--chief .ghead--group .ghead__chev{width:8px;height:8px}.gantt.gantt--chief .ghead__num{font-size:calc(var(--row-font) * .835 * 1px)}.gantt.gantt--chief .ghead--group .ghead__meta{font-size:calc(var(--row-font) * .945 * 1px)}.gantt.gantt--chief{--isle-pad: 14;--isle-pad-g: 8;--isle-gap: 10;--lab-x: 4px}.gantt.gantt--chief .zlane:is([data-step=c24],[data-step=c22]) .zone__chev-i{width:10px;height:10px;border-width:2.25px}.gantt.gantt--chief .zlane:is([data-step=c20],[data-step=c18]) .zone__chev-i{width:9px;height:9px;border-width:2px}.gantt.gantt--chief .zlane:is([data-step=c16],[data-step=c15]) .zone__chev-i{width:7px;height:7px;border-width:1.75px}.gantt.gantt--chief[data-detail=days] .bar__label{font-size:15px;inset:0 10px}.gantt.gantt--chief{--tab-h: 104px}@media(pointer:coarse),(hover:none){.gantt.gantt--chief{--tab-h: 128px}}.gantt.gantt--chief .gantt__expand-label{font-size:14px;letter-spacing:.5px}.gantt[data-entrance=waiting] :is(.bar,.bar-baseline,.bar-planned-end,.ms-diamond--bar,.deps){visibility:hidden}@media(prefers-reduced-motion:reduce){.gantt[data-entrance=waiting] :is(.bar,.bar-baseline,.bar-planned-end,.ms-diamond--bar,.deps){visibility:visible}}.acct{position:relative;display:flex}.acct__btn{width:32px;height:32px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--tx-2);transition:background var(--t-fast),color var(--t-fast)}.acct__btn:hover,.acct__btn--on{background:var(--sur-2);color:var(--tx)}.acct__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:900;min-width:190px;padding:6px;background:var(--sur);border:1px solid var(--bd);border-radius:var(--r-md);box-shadow:var(--sh-3);animation:acct-in var(--t-fast) var(--ease);transform-origin:top right}@keyframes acct-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.acct__who{display:flex;flex-direction:column;gap:1px;padding:6px 10px 8px;border-bottom:1px solid var(--bd);margin-bottom:4px}.acct__who b{font-size:var(--fs-md);font-weight:600}.acct__who span{font-size:var(--fs-xs);color:var(--tx-3)}.acct__item{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 10px;border-radius:var(--r-sm);font-size:var(--fs-md);color:var(--tx-2);text-align:left;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.acct__item:hover:not(:disabled){background:var(--sur-2);color:var(--tx)}.acct__item:disabled{color:var(--tx-3)}.acct__err{padding:4px 10px 6px;font-size:var(--fs-xs);color:var(--st-overdue-tx)}.dash{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.dash__msg{padding:40px;color:var(--tx-2);text-align:center}.dash__msg button{margin-left:8px;color:var(--link)}.dash__hdr{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:8px 16px;background:var(--sur);border-bottom:1px solid var(--bd)}.dash__brand{display:flex;align-items:center;gap:10px;min-width:0}.dash__mark{width:32px;height:32px;border-radius:9px;flex:none;display:grid;place-items:center;background:var(--st-in-progress);color:#fff;font-weight:700;font-size:11px}.dash__titles{min-width:0}.dash__trow{display:flex;align-items:center;min-width:0}.dash__title{min-width:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn-badge{flex:none;position:relative;width:32px;height:32px;margin:-6px -6px -6px 0;display:grid;place-items:center;border-radius:50%;color:var(--st-overdue);-webkit-tap-highlight-color:transparent;animation:conn-in .22s var(--ease-spring) backwards;transition:background var(--t-fast),opacity .28s var(--ease) .36s}:root[data-splash] .conn-badge{opacity:0;transition:none}.conn-badge svg{width:15px;height:15px}.conn-badge:active{background:var(--st-overdue-bg)}@media(hover:hover){.conn-badge:hover{background:var(--st-overdue-bg)}}.conn-badge:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.conn-badge--busy svg{animation:conn-turn .8s cubic-bezier(.45,0,.55,1) infinite}.conn-badge--out{pointer-events:none;animation:conn-out .16s var(--ease) both}@keyframes conn-in{0%{opacity:0;transform:scale(.5)}}@keyframes conn-out{to{opacity:0;transform:scale(.6)}}@keyframes conn-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.conn-badge,.conn-badge--out{animation:none}.conn-badge--busy svg{animation:none;opacity:.5}}.dash__sub{font-size:var(--fs-xs);color:var(--tx-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash__hright{display:flex;align-items:center;gap:8px;flex:none}.dash__hdr,.dash__tools{user-select:none;-webkit-user-select:none}.search input{user-select:text;-webkit-user-select:text}.usearch{position:relative;display:flex}.search{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;width:268px;border:1px solid var(--bd-strong);border-radius:var(--r-md);background:var(--sur);color:var(--tx-3);cursor:text;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #378add26;color:var(--tx-2)}.search__ico{flex:none}.search input{flex:1;min-width:40px;border:none;outline:none;background:none;font-size:12.5px;color:var(--tx)}.search input::placeholder{color:var(--tx-3)}.search__clear{color:var(--tx-3);font-size:16px;line-height:1;flex:none}.search__clear:hover{color:var(--tx-2)}.search__tag{display:inline-flex;align-items:center;gap:4px;flex:0 1 auto;min-width:0;max-width:150px;height:22px;padding:0 3px 0 8px;border-radius:var(--r-pill);background:var(--st-in-progress-bg);color:var(--st-in-progress-tx);font-size:11.5px;font-weight:500;animation:tag-in var(--t-fast) var(--ease)}@keyframes tag-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.search__tag-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search__tag-x{flex:none;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:13px;line-height:1;color:var(--st-in-progress-tx);opacity:.65;transition:background var(--t-fast),opacity var(--t-fast)}.search__tag-x:hover{background:#0c447c1f;opacity:1}.sdrop{position:absolute;top:calc(100% + 6px);right:0;z-index:900;width:max(300px,100%);max-height:min(46vh,340px);overflow-y:auto;overscroll-behavior:contain;padding:5px;background:var(--sur);border:1px solid var(--bd);border-radius:var(--r-md);box-shadow:var(--sh-3);animation:sdrop-in var(--t-fast) var(--ease);transform-origin:top right}@keyframes sdrop-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:none}}.sdrop__empty{padding:10px;font-size:var(--fs-sm);color:var(--tx-3);text-align:center}.sdrop__group+.sdrop__group{margin-top:4px;padding-top:4px;border-top:1px solid var(--bd)}.sdrop__title{padding:5px 8px 3px;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--tx-3)}.sitem{display:flex;align-items:baseline;gap:8px;min-height:30px;padding:6px 8px;border-radius:var(--r-sm);font-size:var(--fs-md);color:var(--tx-2);cursor:pointer}.sitem--on{background:var(--sur-2);color:var(--tx)}.sitem__num{flex:none;font-size:var(--fs-sm);color:var(--tx-3);font-variant-numeric:tabular-nums}.sitem--on .sitem__num{color:var(--tx-2)}.sitem__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sitem__meta{flex:none;font-size:var(--fs-xs);color:var(--tx-3)}.sitem mark{background:none;color:var(--link);font-weight:600}.zoom{display:flex;align-items:center;gap:6px}.zoom__title{font-size:var(--fs-sm);color:var(--tx-2);white-space:nowrap;margin-right:2px}.zoom__lbl{font-size:10px;color:var(--tx-3);text-transform:uppercase;letter-spacing:.4px}.zoom__pct{font-size:10px;color:var(--tx-3);font-variant-numeric:tabular-nums;min-width:3.1em;text-align:right;white-space:nowrap}.zoom input[type=range]{width:120px;accent-color:var(--tx)}.switch{position:relative;display:flex;height:30px;border-radius:var(--r-pill);background:var(--sur-2);border:1px solid var(--bd);padding:2px}.switch__opt{position:relative;z-index:1;width:52px;text-align:center;font-size:11.5px;font-weight:500;line-height:24px;color:var(--tx-2);transition:color var(--t-med)}.switch__knob{position:absolute;top:2px;left:2px;width:52px;height:24px;border-radius:var(--r-pill);background:var(--tx);transition:transform var(--t-med) var(--ease-spring)}.switch--on .switch__knob{transform:translate(52px)}.switch .switch__opt:first-child{color:#fff}.switch--on .switch__opt:first-child{color:var(--tx-2)}.switch--on .switch__opt:last-child{color:#fff}.switch.switch--3 .switch__opt{color:var(--tx-2);cursor:pointer;border-radius:var(--r-pill)}.switch.switch--3 .switch__opt[aria-checked=true]{color:#fff}.switch--3[data-pos="1"] .switch__knob{transform:translate(52px)}.switch--3[data-pos="2"] .switch__knob{transform:translate(104px)}.switch__dot{position:absolute;top:1px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--shifted);box-shadow:0 0 0 1.5px var(--sur-2);pointer-events:none}.iconbtn{width:32px;height:32px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--tx-2);transition:background var(--t-fast),color var(--t-fast)}.iconbtn:hover{background:var(--sur-2);color:var(--tx)}.iconbtn--on{color:var(--tx);background:var(--sur-2)}.dash__tools{flex:none;display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--t-slow) var(--ease),opacity var(--t-med)}.dash__tools>div{min-height:0;overflow:hidden}.dash__tools--closed{grid-template-rows:0fr;opacity:0}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:12px 16px 0}.card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px;background:var(--sur);border:1px solid var(--bd);border-radius:var(--r-md);border-left:3px solid var(--card-accent, var(--bd-strong));transition:box-shadow var(--t-fast),transform var(--t-fast),border-color var(--t-fast)}.card:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.card--on{background:var(--card-accent-bg, var(--sur-2));border-color:var(--tx);box-shadow:var(--sh-2),0 0 0 1px var(--tx);transform:translateY(-1px)}.card--on:hover{box-shadow:var(--sh-2),0 0 0 1px var(--tx);transform:translateY(-1px)}.card--on .card__label{color:var(--tx);font-weight:500}.card--neutral{--card-accent: var(--bd-quiet);--card-accent-bg: var(--sur-2)}.card--progress{--card-accent: var(--st-in-progress);--card-accent-bg: var(--st-in-progress-bg)}.card--overdue{--card-accent: var(--st-overdue);--card-accent-bg: var(--st-overdue-bg)}.card--soon{--card-accent: var(--amber);--card-accent-bg: var(--amber-bg)}.card--done{--card-accent: var(--st-done);--card-accent-bg: var(--st-done-bg)}.card__big{font-size:var(--fs-num);font-weight:600;line-height:1.05;letter-spacing:-.5px;color:var(--card-accent)}.card--neutral .card__big{color:var(--tx)}.card__unit{font-size:.6em;font-weight:500;letter-spacing:0}.card__label{margin-top:auto;font-size:var(--fs-sm);color:var(--tx-2)}.card--neutral .card__big{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.16em;row-gap:1px}.card--neutral .card__unit{font-size:.5em;line-height:1.2;white-space:nowrap}.dash__filters{display:flex;align-items:center;gap:10px 20px;padding:10px 16px;flex-wrap:wrap}.pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pills__title{font-size:var(--fs-sm);color:var(--tx-2);margin-right:4px;white-space:nowrap}.pill{height:28px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--bd-strong);background:var(--sur);font-size:12px;font-weight:500;color:var(--tx-2);white-space:nowrap;transition:color var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.pill__t{display:inline-grid}.pill__t:before{content:attr(data-t);grid-area:1 / 1;font-weight:600;visibility:hidden}.pill__t>span{grid-area:1 / 1}.pill:hover{color:var(--tx);border-color:var(--tx-3)}.pill--on,.pill--on:hover{color:var(--tx);font-weight:600;border-color:var(--tx);box-shadow:var(--sh-2),0 0 0 1px var(--tx);transform:translateY(-1px)}.dash__gantt{flex:1;min-height:0;display:flex;padding:0 16px 14px}.dash__shift{margin-left:auto;height:28px;display:inline-flex;align-items:center;gap:4px;padding:0 12px;border-radius:var(--r-pill);background:var(--amber-bg);color:var(--amber-tx);font-size:12.5px;font-weight:600;white-space:nowrap;animation:tag-in var(--t-fast) var(--ease);transition:filter var(--t-fast)}.dash__shift b{font-weight:800}@media(hover:hover){.dash__shift:hover{filter:brightness(.97)}}@media(max-width:1200px){.zoom__title,.zoom__lbl{display:none}.search{width:230px}.zoom input[type=range]{width:108px}.cards{gap:6px}.card{min-width:0;padding:10px}.card__big{font-size:27px}}@media(max-width:1023px){.dash__hdr{flex-wrap:wrap;padding:8px 12px}.dash__brand{flex:1}.dash__hright{gap:6px}.dash__sub{max-width:220px}.search{width:210px}.search__tag{max-width:104px}.zoom input[type=range]{width:90px}.cards{gap:6px;padding:10px 12px 0}.card{padding:8px 10px;gap:1px}.card__big{font-size:22px}.card__label{font-size:11.5px}.card--neutral .card__unit{font-size:12px}.dash__filters{padding:8px 12px}.dash__gantt{padding:0 8px 8px}}@media(min-width:1024px)and (max-width:1200px)and (pointer:coarse){.zoom__lbl{display:block}}.zoom input[type=range]{touch-action:none;min-height:32px;cursor:ew-resize}@media(pointer:coarse){.iconbtn,.pill,.dash__shift{position:relative}.iconbtn:after,.pill:after,.dash__shift:after{content:"";position:absolute;inset:-6px -3px}}.dash.dash--chief>.dash__hdr{--fs-xs: 15px;--fs-sm: 17px;--fs-md: 20px;--fs-lg: 21px;--fs-xl: 25px;--fs-2xl: 30px}.dash.dash--chief>.dash__hdr{gap:16px;row-gap:10px;padding:8px 16px}.dash.dash--chief>.dash__hdr .dash__mark{width:44px;height:44px;border-radius:12px;font-size:14px}.dash.dash--chief>.dash__hdr .dash__title{font-size:26px;font-weight:600;letter-spacing:-.3px}.dash.dash--chief>.dash__hdr .objpick__chev{width:20px;height:20px}.dash.dash--chief>.dash__hdr .conn-badge{width:44px;height:44px;margin:-10px -12px -10px -2px}.dash.dash--chief>.dash__hdr .conn-badge svg{width:20px;height:20px}.dash.dash--chief>.dash__hdr .objpick__opt{min-height:54px}.dash.dash--chief>.dash__hdr .objpick__mark{width:40px;height:40px;border-radius:11px;font-size:14px}.dash.dash--chief>.dash__hdr .search{height:44px;width:256px;gap:8px;padding:0 12px}.dash.dash--chief>.dash__hdr .search__ico{width:18px;height:18px}.dash.dash--chief>.dash__hdr .search input{font-size:18px}.dash.dash--chief>.dash__hdr .search__clear{font-size:22px}.dash.dash--chief>.dash__hdr .search__tag{height:30px;max-width:180px;font-size:15px}.dash.dash--chief>.dash__hdr .search__tag-x{width:20px;height:20px;font-size:16px}.dash.dash--chief>.dash__hdr .sdrop{width:max(460px,100%);max-height:min(56vh,480px)}.dash.dash--chief>.dash__hdr .sdrop__title{font-size:13px}.dash.dash--chief>.dash__hdr .sitem{min-height:46px;padding:10px;align-items:center}.dash.dash--chief>.dash__hdr .zoom{gap:8px}.dash.dash--chief>.dash__hdr .zoom__title{font-size:17px;color:var(--tx-2)}.dash.dash--chief>.dash__hdr .zoom__lbl{font-size:15px;font-weight:500;color:var(--tx-2)}.dash.dash--chief>.dash__hdr .zoom__pct{font-size:13px}.dash.dash--chief>.dash__hdr .zoom input[type=range]{width:132px;min-height:44px}.dash.dash--chief>.dash__hdr .switch{height:44px}.dash.dash--chief>.dash__hdr .switch__opt{width:70px;font-size:18px;line-height:38px}.dash.dash--chief>.dash__hdr .switch__knob{width:70px;height:38px}.dash.dash--chief>.dash__hdr .switch--on .switch__knob{transform:translate(70px)}.dash.dash--chief>.dash__hdr .iconbtn{width:46px;height:46px}.dash.dash--chief>.dash__hdr .iconbtn svg{width:24px;height:24px}@media(max-width:1200px){.dash.dash--chief>.dash__hdr .search{width:240px}.dash.dash--chief>.dash__hdr .zoom input[type=range]{width:116px}}@media(min-width:1024px){.dash.dash--chief>.dash__hdr:has(.conn-badge) .dash__brand{flex-shrink:0}.dash.dash--chief>.dash__hdr:has(.conn-badge) .dash__hright{flex-shrink:1;min-width:0}.dash.dash--chief>.dash__hdr:has(.conn-badge) .dash__hright>*{flex-shrink:0}.dash.dash--chief>.dash__hdr:has(.conn-badge) .dash__hright>.usearch{flex-shrink:1;min-width:160px}.dash.dash--chief>.dash__hdr:has(.conn-badge) .search{min-width:0}}@media(max-width:1023px){.dash.dash--chief>.dash__hdr{padding:8px 12px}.dash.dash--chief>.dash__hdr .dash__brand{flex:1 0 auto}.dash.dash--chief>.dash__hdr .dash__hright{flex:1 1 auto;gap:8px}.dash.dash--chief>.dash__hdr .usearch{flex:1 1 auto}.dash.dash--chief>.dash__hdr .search{width:100%;min-width:180px}.dash.dash--chief>.dash__hdr .zoom input[type=range]{width:120px}.dash.dash--chief>.dash__hdr .sdrop{left:0;right:auto;width:min(max(460px,100%),calc(100vw - 24px))}}.dash.dash--chief>.dash__tools .cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:10px;padding:10px 16px}.dash.dash--chief>.dash__tools .card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;padding:8px 8px 9px 16px;border-left-width:4px}.dash.dash--chief>.dash__tools .card__big{font-size:36px;line-height:1.05;letter-spacing:-.6px}.dash.dash--chief>.dash__tools .card__label{font-size:18px;line-height:1.25;font-weight:500;color:var(--tx)}@media(max-width:1023px){.dash.dash--chief>.dash__tools .cards{gap:6px;padding:10px 12px}.dash.dash--chief>.dash__tools .card{padding:8px 8px 9px 10px}}.dash.dash--chief>.dash__tools .card--neutral .card__big{align-items:last baseline}.dash.dash--chief>.dash__tools .card--neutral .card__unit{display:flex;flex-direction:column;font-size:17px;line-height:1.05}@media(max-width:1200px){.dash.dash--chief>.dash__tools .card--neutral .card__unit{font-size:15px}}@media(max-width:1169px){.dash.dash--chief>.dash__tools .card--neutral .card__unit{display:block;line-height:1.2}}@media(max-width:1023px){.dash.dash--chief>.dash__tools .card--neutral .card__unit{font-size:12.5px}}dialog.mobile-detail.mobile-detail--big{width:min(94vw,600px)}dialog.mobile-detail.mobile-detail--big.mobile-detail--card .mobile-detail-inner{padding:24px 28px 30px}.mobile-detail.mobile-detail--big .mobile-detail-inner>header{font-size:17px}.mobile-detail.mobile-detail--big .mobile-detail-inner>header button{min-height:56px;min-width:56px}.mobile-detail.mobile-detail--big .mobile-detail-inner>header button svg{width:28px;height:28px}.mobile-detail.mobile-detail--big .mobile-detail-inner h2{font-size:33px;line-height:1.2;margin:10px 0 18px}.mobile-detail.mobile-detail--big .mobile-detail-inner .mobile-status{padding:8px 14px;font-size:17px;border-radius:8px}.mobile-detail.mobile-detail--big .mobile-detail-inner .mobile-detail-overdue{font-size:21px}.mobile-detail.mobile-detail--big .mobile-detail-inner dl{gap:18px 16px;padding:26px 0;font-size:20px}.mobile-detail.mobile-detail--big .mobile-detail-inner h3{font-size:21px;margin-bottom:12px}.mobile-detail.mobile-detail--big .mobile-detail-inner p{font-size:20px}.mobile-detail.mobile-detail--big .mobile-detail-inner .mobile-chain li{font-size:18px;padding:6px 0}.mobile-detail.mobile-detail--big .mobile-detail-inner .mobile-chain li:before{top:16px;width:8px;height:8px}.mobile-detail.mobile-detail--big .mobile-detail-inner .mobile-chain li:after{top:24px;bottom:-10px;left:-16.5px}.mobile-detail.mobile-detail--big .mobile-detail-inner .mobile-dependency{font-size:19px;min-height:66px;padding:16px 28px 16px 0}.mobile-detail.mobile-detail--big .mobile-detail-inner .mobile-dependency span{font-size:16px;margin-bottom:4px}.mobile-detail.mobile-detail--big .mobile-detail-inner .mobile-dependency b{font-size:26px;top:24px}:root[data-role=chief] .gtip{min-width:300px;max-width:460px;padding:14px 18px 16px;border-radius:var(--r-lg);font-size:18px;line-height:1.5}:root[data-role=chief] .gtip .tip__row{gap:18px}:root[data-role=chief] .gtip .gtip__actions{margin-top:14px;padding-top:12px}:root[data-role=chief] .gtip .gtip__btn{min-height:50px;padding:10px 14px;border-radius:var(--r-md);font-size:19px}:root[data-role=chief] .tip{max-width:420px;padding:10px 14px;font-size:17px}:root[data-role=chief] .tip.tip--hint{max-width:320px;padding:8px 12px}.dash:not(.dash--chief)>.dash__hdr{--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px}.dash:not(.dash--chief)>.dash__hdr .dash__title{font-size:16px}.dash:not(.dash--chief)>.dash__hdr .search input{font-size:13.5px}.dash:not(.dash--chief)>.dash__hdr .search__tag{font-size:12.5px}.dash:not(.dash--chief)>.dash__hdr .sdrop__title{font-size:11px}.dash:not(.dash--chief)>.dash__hdr .sdrop{width:max(330px,100%)}.dash:not(.dash--chief)>.dash__hdr .zoom__lbl{font-size:11px}.dash:not(.dash--chief)>.dash__hdr .switch__opt{font-size:12.5px}.dash:not(.dash--chief)>.dash__tools{--fs-xs: 12px;--fs-sm: 13px}.dash:not(.dash--chief)>.dash__tools .pill{font-size:13px}@media(max-width:1023px){.dash:not(.dash--chief)>.dash__tools .card__label{font-size:12.5px}}.dash:not(.dash--chief) dialog.mobile-detail.mobile-detail--card{width:min(92vw,500px)}.dash:not(.dash--chief) dialog.mobile-detail.mobile-detail--dock{position:fixed;inset:72px auto 12px;margin:0;z-index:950;width:min(400px,36vw);max-height:none;height:auto;box-shadow:var(--sh-3),0 0 0 1px var(--bd);animation:dock-in .2s var(--ease) both}.dash:not(.dash--chief) dialog.mobile-detail.mobile-detail--dock.mobile-detail--dock-right{right:12px;--dock-dx: 16px}.dash:not(.dash--chief) dialog.mobile-detail.mobile-detail--dock.mobile-detail--dock-left{left:12px;--dock-dx: -16px}@keyframes dock-in{0%{opacity:0;transform:translate(var(--dock-dx, 16px))}}.mobile-detail--dock .mobile-detail-inner{animation:dock-swap .12s var(--ease) both}@keyframes dock-swap{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.dash:not(.dash--chief) dialog.mobile-detail.mobile-detail--dock,.mobile-detail--dock .mobile-detail-inner{animation:none}}.dash:not(.dash--chief) .mobile-detail--card header{font-size:12px}.dash:not(.dash--chief) .mobile-detail--card h2{font-size:25px}.dash:not(.dash--chief) .mobile-detail--card .mobile-status{font-size:12px}.dash:not(.dash--chief) .mobile-detail--card .mobile-detail-progress{font-size:12px}.dash:not(.dash--chief) .mobile-detail--card dl{font-size:13.5px}.dash:not(.dash--chief) .mobile-detail--card h3{font-size:14.5px}.dash:not(.dash--chief) .mobile-detail--card p{font-size:14.5px}.dash:not(.dash--chief) .mobile-detail--card .mobile-chain li{font-size:13.5px}.dash:not(.dash--chief) .mobile-detail--card .mobile-chain li:before{top:12px}.dash:not(.dash--chief) .mobile-detail--card .mobile-chain li:after{top:19px}.dash:not(.dash--chief) .mobile-detail--card .mobile-dependency{font-size:13.5px}.dash:not(.dash--chief) .mobile-detail--card .mobile-dependency span{font-size:11.5px}.dash:not(.dash--chief) .mobile-detail--card .mobile-dependency.link-row .link-row__phrase{font-size:13px}.dash:not(.dash--chief) .mobile-detail--card .mobile-copy-note{font-size:14px}:root[data-role]:not([data-role=chief]) .tip{font-size:13px}:root[data-role]:not([data-role=chief]) .gtip{font-size:13px}:root[data-role]:not([data-role=chief]) .gtip .gtip__btn{font-size:12px}:root{--bg: #f7f7f5;--sur: #ffffff;--sur-2: #f2f1ef;--sur-zebra: #fafaf8;--bd: #e4e3df;--bd-strong: #cccbc6;--bd-quiet: #9e9d97;--tx: #1a1916;--tx-2: #6b6a66;--tx-3: #a09f9a;--tx-inv: #ffffff;--st-not-started: #b8b7b2;--st-not-started-bg: #ecebe8;--st-not-started-tx: #5c5b57;--st-in-progress: #378add;--st-in-progress-bg: #ebf3fb;--st-in-progress-tx: #0c447c;--st-done: #5aa832;--st-done-bg: #ebf5e1;--st-done-tx: #2a5a10;--st-overdue: #e03b3b;--st-overdue-bg: #fdecec;--st-overdue-tx: #8a1f1f;--today: #e03b3b;--final: #1a1916;--baseline: #62615c;--shifted: #c47a14;--dep: #2d323b;--dep-slack: rgba(45, 50, 59, .4);--dep-hot: var(--shifted);--dep-halo: var(--sur);--amber: #c47a14;--amber-bg: #fdf2dc;--amber-tx: #7a4708;--link: #2563eb;--nodate: #1d4ed8;--progress: rgba(0, 0, 0, .42);--focus: #378add;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 14px;--fs-xl: 17px;--fs-2xl: 22px;--fs-num: 28px;--lh: 1.4;--r-sm: 6px;--r-md: 9px;--r-lg: 14px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--row-h: 34px;--bar-h: 18px;--sh-1: 0 1px 2px rgba(0, 0, 0, .05);--sh-2: 0 2px 8px rgba(0, 0, 0, .07);--sh-3: 0 8px 24px rgba(0, 0, 0, .12);--ease: cubic-bezier(.2, 0, 0, 1);--ease-spring: cubic-bezier(.34, 1.3, .64, 1);--t-fast: .12s;--t-med: .22s;--t-slow: .38s;--t-morph: .34s;--ease-morph: cubic-bezier(.22, .8, .25, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light}@media(prefers-reduced-motion:reduce){:root{--t-fast: 0ms;--t-med: 0ms;--t-slow: 0ms;--t-morph: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);color:var(--tx);background:var(--bg);font-feature-settings:"tnum" 1;overscroll-behavior:none}#root{min-height:100dvh}button,input,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--tx-2)}.num{font-variant-numeric:tabular-nums}
