@font-face{font-family:Space Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2")}:root{color-scheme:light;--kl-bg:#f2ede6;--kl-text:#0d0d0d;--kl-accent:#7c3aed;--kl-accent2:#dc2626;--kl-squat:#b45309;--kl-muted:#5c5c5c;--kl-rule:#0d0d0d;--kl-inv-bg:#0d0d0d;--kl-inv-text:#f2ede6;--radius:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--background:var(--kl-bg);--foreground:var(--kl-text);--kl-dock-h:3rem;--font-sans:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"Courier New",monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--rule:2px solid var(--kl-rule);--rule-hair:1px solid var(--kl-rule)}[data-theme=dark]{color-scheme:dark;--kl-bg:#050505;--kl-text:#e4d9f5;--kl-accent:#cc44ff;--kl-accent2:#ff2d78;--kl-squat:#ffb454;--kl-muted:#9575aa;--kl-rule:#050505;--kl-inv-bg:#2d0f47;--kl-inv-text:#f0eaff;--background:var(--kl-bg);--foreground:var(--kl-text);--rule:2px solid var(--kl-text);--rule-hair:1px solid var(--kl-text)}[data-theme=dark] body{background-image:repeating-linear-gradient(-45deg,transparent,transparent 28px,rgba(180,0,255,.055) 0,rgba(180,0,255,.055) 29px,transparent 0,transparent 56px,rgba(140,0,220,.03) 0,rgba(140,0,220,.03) 57px),repeating-linear-gradient(45deg,transparent,transparent 42px,rgba(100,0,160,.04) 0,rgba(100,0,160,.04) 43px);background-attachment:fixed}*{box-sizing:border-box}*,:after,:before{border-radius:0!important}html{scroll-behavior:smooth}body,html{margin:0;padding:0;color:var(--kl-text);text-size-adjust:100%;font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--kl-bg);min-height:100vh}::selection{background:var(--kl-accent);color:var(--kl-inv-text)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--kl-bg)}::-webkit-scrollbar-thumb{background:var(--kl-text)}[data-theme=dark] ::-webkit-scrollbar-track{background:#050505}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--kl-muted)}.app-bg{position:relative;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}a{color:inherit;text-decoration:none}a:hover{color:var(--kl-accent)}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em}h1,h2{font-size:24px;line-height:1.1}h3{font-size:16px}h3,h4{letter-spacing:-.01em}h4{font-size:14px}p{margin:0}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--kl-accent);outline-offset:2px}.dayhead .label,.eyebrow,.field label,.grouphead,.inputlabel,.navgroup,.popover-cap,.summary-cap,th{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted)}.barlabel{display:block;background:var(--kl-inv-bg);color:var(--kl-inv-text);padding:var(--sp-1) var(--sp-3);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.dim,.muted{color:var(--kl-muted)}.tiny{font-size:12px}.msr{font-family:var(--font-mono);font-weight:700;font-style:normal;font-size:16px;line-height:1;letter-spacing:normal;text-transform:uppercase;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;flex:none}.msr.accent{color:var(--kl-accent)}.msr.faint{color:var(--kl-muted)}.msr.lg{font-size:60px;font-weight:400}.msr.flip{transform:rotate(180deg)}.msr.word{font-size:11px;letter-spacing:.1em}input,select,textarea{font:inherit;font-family:var(--font-mono);font-size:14px;color:var(--kl-text);background:var(--kl-bg);border:var(--rule);width:100%}input{height:44px;padding:0 var(--sp-3)}textarea{padding:var(--sp-3);min-height:76px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--kl-muted)}input:focus,select:focus,textarea:focus{outline:2px solid var(--kl-accent);outline-offset:-2px;border-color:var(--kl-accent)}.wordmark{font-family:var(--font-mono);font-size:20px;font-weight:700;letter-spacing:-.02em;text-transform:uppercase}.wordmark .o{color:var(--kl-accent)}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-6);padding:var(--sp-6)}.auth-inner{width:100%;max-width:400px}.auth-mark{font-size:30px;text-align:center;margin-bottom:var(--sp-6)}.auth-card{background:var(--kl-bg);border:var(--rule);padding:var(--sp-6)}.auth-card h1{font-size:24px}.card-sub{margin-top:var(--sp-1)}.card-foot,.card-sub{color:var(--kl-muted);font-size:12px}.card-foot{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:var(--rule-hair);text-align:center}.card-foot a{color:var(--kl-accent);font-weight:700}.field{margin-top:var(--sp-5)}.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.field-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--kl-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.field-link:hover{color:var(--kl-accent)}.field-hint{margin-top:var(--sp-2);font-size:12px;color:var(--kl-muted)}.with-affix{position:relative}.with-affix input{padding-right:68px}.affix{position:absolute;right:0;top:0;bottom:0;min-width:60px;padding:0 var(--sp-2);display:grid;place-items:center;color:var(--kl-muted);border-left:var(--rule)}.affix:hover,.submit{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.submit{margin-top:var(--sp-6);width:100%;height:44px;padding:0 var(--sp-4);border:var(--rule);font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.submit:hover:enabled{background:var(--kl-accent);border-color:var(--kl-accent);color:var(--kl-inv-text)}.submit:disabled{background:var(--kl-bg);color:var(--kl-muted);border-color:var(--kl-muted)}.alert,.notice{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--kl-bg);font-size:12px;display:flex;align-items:flex-start;gap:var(--sp-2);font-family:var(--font-mono)}.alert{border:2px solid var(--kl-squat)}.alert,.alert .msr{color:var(--kl-squat)}.alert .msr{font-size:16px}.notice{border:2px solid var(--kl-accent)}.notice,.notice .msr{color:var(--kl-accent)}.notice .msr{font-size:16px}.shell{display:grid;grid-template-columns:256px 1fr;height:100vh;overflow:hidden;position:relative}.shell>.content{overflow-y:auto}.sidebar{border-right:var(--rule);padding:var(--sp-5) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1);background:var(--kl-bg)}.sidebar .brand{padding:0 var(--sp-2) var(--sp-5)}.navgroup{padding:var(--sp-4) var(--sp-2) var(--sp-2)}.navlink{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-2);color:var(--kl-text);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.navlink .msr{font-size:12px;color:var(--kl-muted)}.navlink:hover,.navlink:hover .msr{color:var(--kl-accent)}.navlink[aria-current=page]{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.navlink[aria-current=page] .msr{color:var(--kl-inv-text)}.sidebar-foot{margin-top:auto;border-top:var(--rule);padding-top:var(--sp-3);display:flex;align-items:center;gap:var(--sp-2)}.sidebar-foot .who{min-width:0;flex:1 1 auto;overflow:hidden}.sidebar-foot .who>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar,.sidebar-foot .signout{flex:none}.avatar{width:32px;height:32px;background:var(--kl-inv-bg);color:var(--kl-inv-text);border:var(--rule);display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;font-weight:700}.drawer-close,.drawer-overlay,.drawer-toggle{display:none}.content{padding:var(--sp-6) var(--sp-6) var(--sp-12);max-width:1210px}.pagehead{margin-bottom:var(--sp-5)}.panel{background:var(--kl-bg);border:var(--rule);padding:var(--sp-4) var(--sp-5)}.panel+.panel{margin-top:var(--sp-3)}.panel h2{font-size:16px;margin-bottom:var(--sp-1)}.row{align-items:center;justify-content:space-between;gap:var(--sp-4)}.row,.stack{display:flex}.stack{flex-direction:column}.grid3,.stack{gap:var(--sp-3)}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:var(--sp-3)}.chip{display:inline-block;padding:var(--sp-1) var(--sp-2);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:var(--rule);color:var(--kl-muted)}.chip.ok{background:var(--kl-inv-bg);color:var(--kl-inv-text);border-color:var(--kl-rule)}[data-theme=dark] .chip.ok{border-color:var(--kl-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border:var(--rule);background:var(--kl-bg);color:var(--kl-text);font-family:var(--font-mono);font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.btn,.btn .msr{font-size:12px}.btn.primary,.btn:hover:enabled,a.btn:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.btn.primary:hover:enabled{background:var(--kl-accent);border-color:var(--kl-accent)}.btn.lg{min-height:48px;padding:0 var(--sp-6);font-size:14px}.btn:disabled{background:var(--kl-bg);color:var(--kl-muted);border-color:var(--kl-muted)}.btn.quiet{border-color:transparent;color:var(--kl-muted)}.btn.quiet:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text);border-color:var(--kl-rule)}.danger{color:var(--kl-accent2);background:var(--kl-bg)}.danger,.danger:hover{border-color:var(--kl-accent2)}.danger:hover{background:var(--kl-accent2);color:var(--kl-inv-text)}.danger-zone{border-color:var(--kl-accent2);background:var(--kl-bg)}table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}th{text-align:left;background:var(--kl-inv-bg);color:var(--kl-inv-text);border-bottom:var(--rule)}td,th{padding:var(--sp-2) var(--sp-3)}td{border-bottom:var(--rule-hair)}tbody tr:last-child td{border-bottom:none}.today{max-width:none;padding:var(--sp-5) var(--sp-5) var(--sp-12)}.today-inner{width:100%;max-width:480px;margin:0 auto}.today-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:44px;margin-bottom:var(--sp-6)}.today h1{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--sp-3)}.navcard{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--kl-bg);border:var(--rule);margin-bottom:var(--sp-2);font-size:16px}.navcard .label{font-weight:700}.navcard .chev{margin-left:auto;color:var(--kl-muted)}.navcard:hover{background:var(--kl-inv-bg)}.navcard:hover,.navcard:hover .chev,.navcard:hover .msr{color:var(--kl-inv-text)}.blockname{margin:var(--sp-6) 0 var(--sp-2);font-size:20px;font-weight:700;letter-spacing:-.02em}.weekbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center}.weekbar .weeknum{font-weight:700;font-size:16px}.weekbar .logged{font-family:var(--font-mono);font-size:12px;color:var(--kl-muted)}.weekbar .arrow{color:var(--kl-text);display:grid;place-items:center;height:44px;border:var(--rule)}.weekbar .arrow:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.nodates{text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--kl-muted);margin:var(--sp-2) 0 var(--sp-4)}.daystrip{display:flex;justify-content:space-between;gap:var(--sp-1);margin-bottom:var(--sp-5)}.daystrip button{flex:1 1;min-width:0;height:48px;display:grid;place-items:center}.daystrip .pill{width:100%;height:44px;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--kl-muted);border:2px solid transparent}.daystrip button.has .pill{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.daystrip button[aria-pressed=true] .pill{border-color:var(--kl-accent);color:var(--kl-text);background:none}.daystrip button.has[aria-pressed=true] .pill{background:var(--kl-inv-bg);color:var(--kl-inv-text);border-color:var(--kl-accent)}.dayname{font-weight:700;font-size:20px;margin-bottom:var(--sp-3);letter-spacing:-.02em}.lift{border-left:2px solid var(--kl-accent);padding:0 0 var(--sp-5) var(--sp-4);position:relative}.lift:before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border:2px solid var(--kl-accent);background:var(--kl-bg)}.lift:last-of-type{border-left-color:transparent}.lift-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.lift-name{font-weight:700;font-size:16px}.lift-target{font-family:var(--font-mono);font-size:12px;color:var(--kl-muted);margin-top:var(--sp-1)}.lift-target b{color:var(--kl-text);font-weight:700}.lift-note{font-size:12px;color:var(--kl-muted);margin-top:var(--sp-2)}.lift-body{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.lift-toggle{color:var(--kl-muted);display:grid;place-items:center;width:44px;height:44px}.lift-toggle:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.inputlabel{display:block;margin-bottom:var(--sp-2)}.logfield{position:relative}.logfield input,.logfield textarea{height:52px;font-size:18px;font-weight:700;background:var(--kl-bg);padding:0 var(--sp-3)}.logfield textarea{height:auto;min-height:76px;padding:var(--sp-3);font-size:16px;font-weight:400}.logfield.has-affix input{padding-right:76px}.unit-affix{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;gap:var(--sp-1);min-width:68px;padding:0 var(--sp-2);justify-content:center;border-left:var(--rule);font-family:var(--font-mono);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted)}.unit-affix,.unit-affix .msr{font-size:12px}.unit-affix:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.effortrow{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--sp-2);gap:var(--sp-2)}.unit-toggle{display:inline-flex;border:var(--rule);overflow:hidden;height:52px}.unit-toggle button{padding:0 var(--sp-3);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted)}.unit-toggle button[aria-pressed=true]{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.lift-actions{display:flex;justify-content:flex-end}.share-lift{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-3);font-family:var(--font-mono);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted)}.share-lift,.share-lift .msr{font-size:12px}.share-lift:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.share-session{width:100%;margin-top:var(--sp-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;border:var(--rule);background:var(--kl-bg);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.share-session:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.modal-backdrop{position:fixed;inset:0;background:rgba(13,13,13,.7);display:grid;place-items:center;padding:var(--sp-5);z-index:40}.modal{width:100%;max-width:380px;background:var(--kl-bg);border:var(--rule);padding:var(--sp-5)}.modal h2{font-size:20px;margin-bottom:var(--sp-2)}.weektabs{display:flex;gap:var(--sp-5);border-bottom:var(--rule);margin:var(--sp-4) 0 var(--sp-5)}.weektabs a{padding:var(--sp-2) 0;min-height:44px;display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted);border-bottom:2px solid transparent}.weektabs a[aria-current=page]{color:var(--kl-accent);border-bottom-color:var(--kl-accent)}.crumbs{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;background:var(--kl-bg);border:var(--rule);padding:0 var(--sp-2) 0 var(--sp-3);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.crumbs .sep{color:var(--kl-muted)}.crumbrow{display:flex;align-items:center;gap:var(--sp-2);position:relative}.crumbrow .step{display:grid;place-items:center;width:44px;height:44px;border:var(--rule);color:var(--kl-text)}.crumbrow .step:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}button.crumbs{cursor:pointer}button.crumbs:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.weektabs-end{margin-left:auto;position:relative;display:inline-flex;align-items:center}.popover{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:220px;max-width:calc(100vw - 32px);background:var(--kl-bg);border:var(--rule);padding:var(--sp-2)}.popover-right{left:auto;right:0}.popover-cap{display:block;margin-bottom:var(--sp-2)}.popover-check,.popover-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-2);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted)}.popover-check{justify-content:flex-start;cursor:pointer}.popover-check:hover,.popover-item:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.popover-item[aria-current=true]{color:var(--kl-text)}.popover-check input{width:16px;height:16px;accent-color:var(--kl-accent);flex:none}.gridcols.hide-athletenotes .daysection :is(th,td):nth-child(10),.gridcols.hide-coachnotes .daysection :is(th,td):nth-child(7),.gridcols.hide-performed .daysection :is(th,td):nth-child(9),.gridcols.hide-weight .daysection :is(th,td):nth-child(8){display:none}.daysection{margin-bottom:var(--sp-4)}.dayhead{display:flex;align-items:baseline;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.dayhead .name{font-weight:700;font-size:14px}.restrow{padding:var(--sp-2) var(--sp-3);border:2px dashed var(--kl-rule);color:var(--kl-muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.grouptag{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:12px}.dot{width:8px;height:8px;display:inline-block}.dot.Deadlift{background:var(--kl-accent)}.dot.Bench{background:var(--kl-accent2)}.dot.Squat{background:var(--kl-squat)}.dot.Accessory,.dot.General{background:var(--kl-muted)}.tabs{display:flex;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-4)}.tabs a,.tabs button{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-3);border:var(--rule);background:var(--kl-bg);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted)}.tabs .msr{font-size:12px}.tabs a:hover,.tabs a[aria-current=page],.tabs button:hover,.tabs button[aria-pressed=true]{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.controlrow{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin:var(--sp-4) 0 var(--sp-4)}.controlrow .tabs{margin:0}.rangepill{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-2) 0 var(--sp-3);background:var(--kl-bg);border:var(--rule);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.rangemenu{position:absolute;left:0;top:48px;z-index:20;min-width:180px;max-width:calc(100vw - 32px)}.rangemenu-item{display:flex;align-items:center;width:100%;text-align:left;min-height:44px;padding:0 var(--sp-2);white-space:nowrap;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted)}.rangemenu-item:hover{background:var(--kl-inv-bg);color:var(--kl-inv-text)}.empty{text-align:center;padding:var(--sp-12) var(--sp-5);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.empty .msr.lg{color:var(--kl-accent)}.empty h2{font-size:24px;font-weight:700;letter-spacing:-.02em}.empty p{font-size:14px;color:var(--kl-muted);max-width:46ch}.empty .btn{margin-top:var(--sp-2)}.section-label{font-size:14px;font-weight:700;letter-spacing:-.01em}.detail-head{margin-bottom:var(--sp-2)}.detail-head .who{font-size:18px;font-weight:700}.editor-meta{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-3)}.editor-meta label{display:block}.editor-meta input{min-width:120px}.grouphead.target{color:var(--kl-accent)}.grouphead.actual{color:var(--kl-squat)}th.grouphead{background:var(--kl-inv-bg)}input.cell{height:44px;padding:0 var(--sp-2);background:transparent;border:2px solid transparent;min-width:84px;font-size:12px}input.cell:hover{border-color:var(--kl-rule)}input.cell:focus{background:var(--kl-bg);border-color:var(--kl-accent)}input.cell.narrow{min-width:54px}input.cell.wide{min-width:150px}td select{height:44px;padding:0 var(--sp-2);background:var(--kl-bg);border:var(--rule);font-size:12px;color:var(--kl-text)}.actual-cell,.rowdel{color:var(--kl-muted)}.rowdel{display:inline-grid;place-items:center;width:44px;height:44px}.rowdel:hover{background:var(--kl-accent2);color:var(--kl-inv-text)}.invite-box{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--kl-bg);border:var(--rule)}.invite-box code{display:block;font-size:11px;word-break:break-all;margin:var(--sp-2) 0;color:var(--kl-text)}.invite-box code,.stat{font-family:var(--font-mono)}.stat{font-size:24px;font-weight:700;margin-top:var(--sp-2);letter-spacing:-.02em}.chart{margin:var(--sp-2) 0 0}.chart svg{width:100%;height:64px;display:block}.chart-single{font-size:18px;margin-top:var(--sp-2)}.chart-single,.plan-amount{font-weight:700;font-family:var(--font-mono)}.plan-amount{font-size:48px;letter-spacing:-.02em}.plan-name{font-size:18px;font-weight:700}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.shell>*{min-width:0}.drawer-toggle{display:grid;place-items:center;position:fixed;top:var(--sp-2);left:var(--sp-2);z-index:60;width:44px;height:44px;background:var(--kl-bg);border:var(--rule);color:var(--kl-text)}.drawer-toggle .msr{font-size:10px}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:70;width:300px;max-width:86vw;transform:translateX(-100%);visibility:hidden;transition:transform .18s ease,visibility 0s linear .18s;border-right:var(--rule);border-bottom:none;overflow-y:auto}.drawer-open .sidebar{transform:translateX(0);visibility:visible;transition:transform .18s ease,visibility 0s}.drawer-close{display:grid;place-items:center;position:absolute;top:var(--sp-3);right:var(--sp-3);width:44px;height:44px;background:var(--kl-bg);border:var(--rule);color:var(--kl-text)}.drawer-overlay{display:block;position:fixed;inset:0;z-index:65;background:rgba(13,13,13,.6)}.content{padding:0 var(--sp-4) var(--sp-12);max-width:none}.today{padding:var(--sp-5) var(--sp-5) var(--sp-12)}.pagehead{margin-left:48px;min-height:68px;display:flex;align-items:flex-start;padding-top:var(--sp-5)}.grid3{grid-template-columns:1fr}.weektabs{gap:var(--sp-3);overflow-x:auto}.row,.tabs{flex-wrap:wrap}.controlrow{align-items:stretch}table{display:block;font-size:12px}thead{display:none}tbody,td,tr{display:block}tr{border:var(--rule);margin-bottom:var(--sp-3)}tr:last-child{margin-bottom:0}td{display:grid;grid-template-columns:minmax(0,11ch) minmax(0,1fr);align-items:baseline;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:var(--rule-hair);overflow-wrap:anywhere}tbody tr td:last-child{border-bottom:none}td:before{content:attr(data-label);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted)}td[data-label=""]{grid-template-columns:minmax(0,1fr)}td[data-label=""]:before{content:none}input.cell,td select{min-width:0;width:100%}.empty{padding:var(--sp-8) var(--sp-3)}.empty h2{font-size:20px}.daysection{overflow-x:visible}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (pointer:coarse){input,input.cell,select,td select,textarea{font-size:16px}}.theme-toggle{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--kl-accent)}.theme-toggle:hover{opacity:.7}.theme-toggle-word{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:2px}.top-controls{display:inline-flex;align-items:center;gap:var(--sp-3)}.sidebar-controls{align-items:center;padding:0 var(--sp-2);border-top:var(--rule)}.auth-foot,.sidebar-controls{display:flex;margin-top:var(--sp-4)}.auth-foot{justify-content:center}.role-choice{border:1px solid var(--line,#d7d7d7);border-radius:10px;padding:12px}.role-choice legend{padding:0 6px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.role-choice label{display:grid;grid-template-columns:auto 1fr;align-items:baseline;grid-gap:4px 10px;gap:4px 10px;padding:8px 4px;cursor:pointer}.role-choice label+label{border-top:1px solid var(--line,#d7d7d7)}.role-choice label span{font-weight:700}.role-choice label small{grid-column:2;opacity:.72;font-size:12px}