:root{color-scheme:dark;--bg: #1e1e20;--bar: #252528;--pane: #2a2a2e;--pane-2: #303035;--line: #3a3a40;--text: #f2f2f4;--text-2: #9a9aa2;--text-3: #8a8a93;--accent: #2f6fe4;--ok: #34c273;--warn: #e0a33b;--bad: #ef5350;--ease-out: cubic-bezier(.23, 1, .32, 1);--flag-issue: #ff8b8b;--flag-sensitive: #ffb765;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--t-micro: 11px;--t-label: 11px;--t-body: 13px;--t-lead: 15px;--t-title: 18px;--t-fig: 22px;--t-mono: 12px;--t-roll: 14px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--r-sm: 4px;--r-md: 6px;--wclips: 62px;--wgb: 82px;--wdur: 86px;--wmag: 92px;--wshut: 132px;--wnote: 58px;--tickcol: 50px;--rowpad: 38px;--tickw: 96px;--col1: 148px;--cardw: 794px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 var(--t-body)/1.5 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,[role=button],[role=separator]{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.skip{position:absolute;left:var(--s-3);top:-100px;z-index:100;padding:var(--s-2) var(--s-3);background:var(--pane-2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm)}.skip:focus-visible{top:var(--s-3)}.app{display:flex;height:100%;overflow:hidden}.sidebar{flex:0 0 216px;background:var(--bar);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:calc(var(--s-4) + env(safe-area-inset-top)) 0 var(--s-4);overflow-y:auto;overscroll-behavior:contain}.brand{font-size:var(--t-title);font-weight:600;letter-spacing:-.02em;padding:0 var(--s-4) var(--s-4)}.snav{display:flex;flex-direction:column;gap:2px;padding:0 var(--s-2)}.snav button{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2) var(--s-3);background:none;border:0;border-radius:var(--r-sm);color:var(--text-2);text-align:left;cursor:pointer}.snav button.on{background:var(--pane);color:var(--text);font-weight:600}.useg{display:flex;gap:var(--s-1);padding:var(--s-4) var(--s-3) var(--s-2)}.useg button{flex:1;padding:var(--s-2);border:1px solid var(--line);border-radius:var(--r-sm);background:none;color:var(--text-2);cursor:pointer;font-size:var(--t-label);white-space:nowrap}.sidebar .useg button{min-width:0;overflow:hidden;text-overflow:ellipsis}.useg button.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.sfoot{margin-top:auto;padding:var(--s-4) var(--s-4) 0;color:var(--text-3);font-size:var(--t-label)}.sfoot .sacts{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-1);margin-top:var(--s-1)}.sfoot button{background:none;border:0;color:var(--text-2);cursor:pointer;padding:0;text-decoration:underline;text-align:left}@media (hover: hover) and (pointer: fine){.snav button:hover{background:var(--pane);color:var(--text)}.useg button:hover{color:var(--text);border-color:var(--text-3)}.useg button.on:hover{border-color:var(--accent)}.sfoot button:hover{color:var(--text)}}.pane{flex:1;display:flex;flex-direction:column;overflow:hidden}.phead{display:flex;align-items:center;gap:var(--s-3);padding:calc(var(--s-3) + env(safe-area-inset-top)) var(--s-5) var(--s-3);border-bottom:1px solid var(--line);background:var(--bar)}.phead h1{font-size:var(--t-roll);font-weight:600;margin:0;letter-spacing:-.01em}.phead .spacer{flex:1}.pbody{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--s-4) var(--s-5) 64px;max-width:calc(var(--cardw) + 40px);position:relative}.btn{padding:5px var(--s-3);background:var(--pane);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);cursor:pointer;transition:transform .12s var(--ease-out)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.quiet{background:none}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn:disabled{opacity:.45;cursor:default}@media (hover: hover) and (pointer: fine){.btn:hover:not(:disabled){background:var(--pane-2);border-color:var(--text-3)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#fff);border-color:transparent}.btn.quiet:hover:not(:disabled){background:var(--pane-2);border-color:var(--line)}.btn.quiet.on:hover:not(:disabled){border-color:var(--warn)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 12%,transparent);border-color:var(--bad)}}.btn:active:not(:disabled){transform:scale(.97)}.day{background:var(--pane);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--s-3);width:var(--cardw);min-width:var(--cardw);max-width:100%}.day.editing{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--pane))}.dayhead{display:flex;align-items:baseline;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line)}.dayhead .code{font:600 var(--t-lead)/1.3 var(--sans)}.dayhead .date{color:var(--text-2);font-size:var(--t-label)}.dayhead .spacer{flex:1}.dayhead .sum,.dayrate{color:var(--text-2);font-size:var(--t-label);font-variant-numeric:tabular-nums}.dayrate .u{color:var(--text-3)}.dayrate.read{border-bottom:1px dotted var(--line);cursor:pointer}.dayrate.editing .editfield{width:5.5em;text-align:right}.sechead{display:flex;align-items:center;padding:5px var(--s-4);background:var(--pane-2);color:var(--text-2);font:500 var(--t-micro)/1.4 var(--sans)}.hd,.cell.hd,.rname.hd{position:relative;font:500 var(--t-micro)/1.4 var(--sans);color:var(--text-2);letter-spacing:0;text-transform:none;overflow:visible;text-overflow:clip}.rname.total{font-family:var(--sans);font-size:var(--t-label);font-weight:600;color:var(--text-2)}.rname.card{font-size:var(--t-mono);font-weight:400}.roll{display:flex;align-items:center;min-height:34px;padding:0 var(--s-4);gap:0}.roll+.roll{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.rname{width:var(--col1);flex:none;font:600 var(--t-roll)/1.25 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rname.flag-issue{color:var(--flag-issue)}.rname.flag-sensitive{color:var(--flag-sensitive)}.rbody{flex:1;min-width:0;display:flex}.rmeta{display:flex;flex:1;min-width:0}.cell{flex:none;text-align:center;font-variant-numeric:tabular-nums;font-size:var(--t-body);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell.muted{color:var(--text-2)}.c-clips{width:var(--wclips)}.c-gb{width:var(--wgb)}.c-dur{width:var(--wdur)}.c-mag{width:var(--wmag)}.c-shut{width:var(--wshut);font-size:var(--t-label);color:var(--text-2)}.c-note{width:var(--wnote);flex:none;text-align:center}.tickgroup{width:var(--tickw);flex:none;display:flex;justify-content:center;gap:0}.ring{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);background:none;cursor:pointer;display:grid;place-items:center;padding:0;position:relative;transition:transform .12s var(--ease-out)}.ring:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.ring:active:not([data-on]){transform:scale(.9)}@media (hover: hover) and (pointer: fine){.ring:not([data-on]):hover{border-color:var(--text-2)}.ring[aria-pressed=true]:hover{border-color:var(--ok)}}.ring[aria-pressed=true],.ring[data-on=true]{background:var(--ok);border-color:var(--ok)}.ring[aria-pressed=true]:after,.ring[data-on=true]:after{content:"";width:9px;height:5px;border:2px solid #10241a;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}.ring[data-on]{cursor:default}.tickcell{width:var(--tickcol);display:grid;place-items:center}.colsep{position:absolute;top:0;bottom:0;right:-4px;width:8px;cursor:col-resize;z-index:1;touch-action:none}.colsep:after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:var(--line);transition:background .12s ease}@media (hover: hover) and (pointer: fine){.colsep:hover:after{background:var(--text-3)}}.colsep:focus-visible{outline:none}.colsep:focus-visible:after{background:var(--accent);width:2px;left:3px}body.colresizing{-webkit-user-select:none;user-select:none;cursor:col-resize}body.colresizing *{cursor:col-resize!important}.colnote{display:flex;justify-content:flex-end;margin-bottom:var(--s-2)}.colnote .btn{font-size:var(--t-label);padding:3px var(--s-2);color:var(--text-2)}.measure{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;display:flex;flex-wrap:wrap;white-space:nowrap}.measure>*{display:inline-block!important;width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;padding:0!important;overflow:visible!important;text-overflow:clip!important}.totals{display:flex;align-items:center;min-height:32px;padding:0 var(--s-4);background:var(--pane-2);border-top:1px solid var(--line);font-weight:600}.editfield{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:2px 4px;text-align:center;font-variant-numeric:tabular-nums}.editfield.saving{border-color:var(--accent)}.editfield.bad{border-color:var(--bad)}.gapbar{background:color-mix(in srgb,var(--warn) 14%,var(--pane));border:1px solid var(--warn);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-3);font-size:var(--t-body)}.gapbar h3{margin:0 0 var(--s-1);font-size:var(--t-body);font-weight:600;text-wrap:balance}.gapctx{color:var(--text-2)}.gapfolder{font-family:var(--mono);font-size:var(--t-mono);color:var(--text)}.gapwhy{margin:var(--s-3) 0 0;color:var(--text-2)}.pathrow{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-top:var(--s-2)}.pathrow>span{min-width:0;max-width:100%}.pathsep{color:var(--text-3);padding:0 2px}.pathend{padding:2px var(--s-2);font-family:var(--mono);font-size:var(--t-mono);color:var(--text-3)}.pathseg{display:inline-block;padding:2px var(--s-2);margin:2px 0;background:var(--pane-2);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--mono);font-size:var(--t-mono);cursor:pointer;color:inherit;max-width:100%;overflow-wrap:anywhere;text-align:left}.pathseg.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--pane-2))}.pathseg:disabled{cursor:default;opacity:.55}.pathrow.choose .pathseg{border-style:dashed}@media (hover: hover) and (pointer: fine){.pathrow.choose .pathseg:hover:not(:disabled){border-color:var(--accent);border-style:solid}}.empty{color:var(--text-2);padding:var(--s-6) 0;text-align:center}.err{color:var(--bad)}.ovback{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:40;overflow-y:auto;overscroll-behavior:contain}.ovpanel{width:min(620px,100% - 32px);margin:5vh auto 0;max-height:88vh;margin-top:5dvh;max-height:88dvh;background:var(--pane);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 48px #00000073;display:flex;flex-direction:column;overflow:hidden;animation:settle .16s var(--ease-out)}@keyframes settle{0%{opacity:0;transform:scale(.985)}}.flowtop{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:var(--s-3) var(--s-4);background:var(--bar);border-bottom:1px solid var(--line)}.flowtop h2{grid-column:2;margin:0;font-size:var(--t-body);font-weight:600}.flowtop .l{justify-self:start}.flowtop .r{justify-self:end}.ovbody{padding:var(--s-4);overflow:auto;overscroll-behavior:contain}.ovfoot{padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);display:flex;gap:var(--s-2);justify-content:flex-end}.drop{border:1.5px dashed var(--line);border-radius:var(--r-md);padding:var(--s-6);text-align:center;color:var(--text-2);cursor:pointer}.drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}.planrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line)}.planrow .n{flex:1;min-width:0;font-family:var(--mono);font-size:var(--t-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planrow .d{font-weight:600}.tag{font-size:var(--t-micro);color:var(--text-3);font-variant-numeric:tabular-nums}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:center;font-size:var(--t-micro);color:var(--text-2);font-weight:500;padding:var(--s-2) var(--s-1)}.tbl th:first-child,.tbl td:first-child{text-align:left}.tbl td{padding:var(--s-2) var(--s-1);border-top:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl td.name{font-family:var(--mono);font-size:var(--t-mono)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:min(560px,100% - 32px);overflow-wrap:anywhere;background:var(--pane-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-2) var(--s-4);z-index:60;box-shadow:0 6px 20px #00000059;opacity:1;transition:opacity .15s var(--ease-out)}@starting-style{.toast{opacity:0}}.toast.bad{border-color:var(--bad)}fieldset.scope{border:0;padding:0;margin:0;min-width:0}fieldset.scope:disabled{opacity:.72}fieldset.scope:disabled .btn:disabled{opacity:1}fieldset.scope:disabled button,fieldset.scope:disabled input,fieldset.scope:disabled select{cursor:not-allowed}.signin{display:grid;place-items:center;height:100%;padding:var(--s-4)}.signin-box{width:min(340px,100%);display:flex;flex-direction:column;gap:var(--s-3)}.signin h1{font-size:28px;margin:0 0 var(--s-2);letter-spacing:-.02em}.signin p{color:var(--text-2);margin:0 0 var(--s-4)}.signin .err{color:var(--bad)}.pbody[data-narrow=true] .day{width:auto;min-width:0}.pbody[data-narrow=true] .roll{flex-wrap:wrap;padding-top:var(--s-2);padding-bottom:var(--s-2)}.pbody[data-narrow=true] .rname{width:auto;flex:1 1 0;min-width:0}.pbody[data-narrow=true] .rbody{order:10}.pbody[data-narrow=true] .sechead{flex-wrap:wrap}.pbody[data-narrow=true] .rbody{flex:1 0 100%;min-width:0}.pbody[data-narrow=true] .rbody,.pbody[data-narrow=true] .rmeta{flex-wrap:wrap}.pbody[data-narrow=true] .totals{flex-wrap:wrap;padding-top:var(--s-2);padding-bottom:var(--s-2)}.pbody[data-narrow=true] .cell{width:auto!important;min-width:64px;text-align:left;padding-right:var(--s-3)}.pbody[data-narrow=true] .sechead .rmeta{display:none}.pbody[data-narrow=true] .cell .u{display:inline;color:var(--text-3)}.pbody[data-narrow=true] .tickgroup{width:auto}.pbody[data-narrow=true] .colsep{display:none}.pbody:not([data-narrow=true]) .cell .u{display:none}.phonetop,.phoneacts{display:none}@media (max-width: 767px){.sidebar{display:none}.app{flex-direction:column}.phonetop{display:flex;align-items:center;gap:var(--s-2);flex:none;padding:var(--s-2) var(--s-3);background:var(--bar);border-bottom:1px solid var(--line);padding-top:calc(var(--s-2) + env(safe-area-inset-top))}.phonetop .pswitch{flex:1;min-width:0;padding:0}.phonetop .useg{padding:0;flex:none}.phonetop .useg button{min-width:max-content}.dayhead{gap:var(--s-2)}.dayhead .btn{padding:4px var(--s-2)}.phoneacts{display:flex;flex-wrap:wrap;gap:var(--s-4);padding:var(--s-4) var(--s-3) var(--s-6)}.phoneacts button{background:none;border:0;color:var(--text-2);cursor:pointer;padding:0;text-decoration:underline;font-size:var(--t-label)}.dayhead{flex-wrap:wrap}.dayhead .spacer{display:none}.dayhead .sum{order:10;width:100%}.dayhead .dayrate{order:11}:root{--tickcol: 76px}.roll{min-height:62px}.rname{font-size:18px}.ring{width:29px;height:29px}.pbody{padding:var(--s-3) var(--s-3) calc(88px + env(safe-area-inset-bottom))}.tbl.hist td.hw,.tbl.hist td.ht{white-space:normal;overflow-wrap:anywhere}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--bar);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.tabbar button{flex:1;padding:var(--s-3) 0;background:none;border:0;color:var(--text-2);font-size:var(--t-label);cursor:pointer;transition:transform .12s var(--ease-out)}.tabbar button:active{transform:scale(.96)}.tabbar button.on{color:var(--text);font-weight:600}}@media (min-width: 768px){.tabbar{display:none}}.pswitch{position:relative;padding:0 var(--s-3) var(--s-2)}.pswitch-now{display:flex;align-items:center;gap:var(--s-2);width:100%;background:none;border:0;padding:var(--s-2);border-radius:var(--r-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer}@media (hover: hover) and (pointer: fine){.pswitch-now:hover{background:var(--pane)}}.pswitch-now .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pswitch-now .chev{color:var(--text-3);font-size:var(--t-micro)}.pswitch-away{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.pswitch-list{position:absolute;z-index:31;left:var(--s-3);right:var(--s-3);top:100%;background:var(--pane);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-1);max-height:60vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 8px 24px #0006}.pswitch-list button{display:flex;align-items:center;gap:var(--s-2);width:100%;background:none;border:0;padding:var(--s-2);border-radius:var(--r-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer}@media (hover: hover) and (pointer: fine){.pswitch-list button:hover{background:var(--pane-2)}}.pswitch-list button.on{background:var(--pane-2)}.pswitch-list button .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pswitch-list .start{border-top:1px solid var(--line);color:var(--text-2)}@media (hover: hover) and (pointer: fine){.pswitch-list .start:hover{color:var(--text)}}.pswitch-list button.wrapped .n{color:var(--text-2)}.histcell{cursor:pointer}@media (hover: hover) and (pointer: fine){.histcell:hover{text-decoration:underline dotted;text-underline-offset:3px}}.tbl.hist td{vertical-align:top;padding:var(--s-1) var(--s-2)}.tbl.hist .hf{color:var(--text-2);white-space:nowrap}.tbl.hist .hv{font-family:var(--mono);font-size:var(--t-mono);white-space:normal;overflow-wrap:anywhere}.tbl.hist .hv .was,.tbl.hist .hv .arrow{color:var(--text-3)}.tbl.hist .hw{color:var(--text-2);white-space:nowrap}.tbl.hist .ht{color:var(--text-3);white-space:nowrap;font-variant-numeric:tabular-nums}.planrow.clipout .n{color:var(--text-3);text-decoration:line-through}.planrow.clipout .tag{color:var(--text-3)}.btn.quiet.on{border-color:var(--warn);color:var(--warn)}.clipoutn,.cell.corrected{color:var(--warn)}.ovpanel.report{width:min(760px,100% - 32px)}.rmeta-line{display:flex;gap:var(--s-3);align-items:baseline;padding:2px 0}.rmeta-line .v{flex:1;min-width:0;overflow-wrap:anywhere}.rmessage{display:block;width:100%;margin:var(--s-4) 0;background:none;border:1px solid transparent;border-radius:var(--r-sm);padding:var(--s-3);color:var(--text);font:400 var(--t-mono)/1.6 var(--mono);resize:none;overflow-y:auto;field-sizing:content}@media (hover: hover) and (pointer: fine){.rmessage:hover{background:color-mix(in srgb,var(--pane-2) 60%,transparent)}}.rmessage:focus{background:var(--bg);border-color:var(--line);outline:none}.rmessage:focus-visible{border-color:var(--accent)}.ratts{border-top:1px solid var(--line);padding-top:var(--s-3)}.ratts-head{display:flex;align-items:center;gap:var(--s-3)}.ratts-head .spacer{flex:1}.ratts.over{outline:1px dashed var(--accent);outline-offset:var(--s-2);border-radius:var(--r-sm)}.signin-legal{margin:var(--s-5) 0 0;text-align:center;font-size:var(--t-micro);color:var(--text-3)}.signin-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}@media (hover: hover) and (pointer: fine){.signin-legal a:hover{color:var(--text-2)}}.pbody[data-settled=true] .roll{transition:background-color 1.2s ease}@starting-style{.pbody[data-settled=true] .roll{background-color:color-mix(in srgb,var(--accent) 22%,transparent)}}@media (prefers-reduced-motion: reduce){.ovpanel{animation:fade .12s ease}.btn,.ring,.tabbar button{transition:none}.btn:active:not(:disabled),.ring:active:not([data-on]),.tabbar button:active{transform:none}}@keyframes fade{0%{opacity:0}}
