:root{--ink: #14181c;--ink-soft: #5a6470;--paper: #ffffff;--surface: #eef0ed;--rule: rgba(20, 24, 28, .18);--rule-firm: rgba(20, 24, 28, .42);--band-measured: #d7e5f2;--band-written: #dee8d4;--pine: #1f4438;--pine-deep: #15302750;--gold: #b8832a;--alert: #8c2f22;--tap: 3rem;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior:none}html{touch-action:manipulation;-webkit-text-size-adjust:100%}body{user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}input,textarea,select,.notebody,.card-refusal{user-select:text;-webkit-user-select:text}html{scrollbar-gutter:stable}body{padding-bottom:env(safe-area-inset-bottom)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.label{font-size:.6875rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft)}.band{display:flex;align-items:center;gap:.75rem;background:var(--band-measured);border-top:1px solid var(--rule-firm);border-bottom:1px solid var(--rule-firm);padding:0 0 0 1rem;min-height:2.75rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.band--written{background:var(--band-written)}.bandbtn{margin-left:auto;align-self:stretch;padding:0 1rem;min-width:5.5rem;background:var(--pine);border:none;color:#f4f7f3;cursor:pointer;font:inherit;letter-spacing:.1em}.bandbtn:hover{background:#163328}.band-note{margin-left:auto;padding-right:1rem;font-size:.6875rem;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--ink-soft);text-align:right}.block{margin-bottom:1.25rem}.block:last-child{margin-bottom:2rem}.emptyline{margin:0;padding:.625rem 1rem;font-size:.8125rem;color:var(--ink-soft)}.value{font-family:var(--mono);font-variant-numeric:tabular-nums}.shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top));background:var(--pine);color:#f3f6f2;border-bottom:1px solid rgba(0,0,0,.3)}.topbar-inner{display:flex;align-items:center;gap:.75rem;width:100%;max-width:34rem;margin:0 auto}.topbar h1{margin:0;font-size:.9375rem;font-weight:650;letter-spacing:.01em}.topbar .sub{font-size:.75rem;opacity:.72}.topbar .spacer{margin-left:auto}.iconbtn{min-height:var(--tap);min-width:var(--tap);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.28);color:inherit;border-radius:2px;cursor:pointer;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:0 .75rem}.iconbtn:hover{background:#ffffff1a}main{flex:1}.wrap{max-width:36rem;margin:0 auto;padding:1rem}.wrap--narrow{max-width:26rem}.btn{min-height:var(--tap);width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1rem;background:var(--pine);color:#f4f7f3;border:none;border-radius:2px;font-weight:650;letter-spacing:.02em;cursor:pointer}.btn:hover{background:#17342b}.btn:active:not(:disabled){background:#102620}.btn:disabled{opacity:.5;cursor:default}.btn--quiet{background:var(--paper);color:var(--ink);border:1px solid var(--rule-firm)}.btn--quiet:hover{background:#f7f8f6}.btn--quiet:active:not(:disabled){background:var(--surface)}.field{display:block;margin-bottom:.875rem}.field[hidden]{display:none}.field>.label{display:block;margin-bottom:.375rem}.field input,.field select,.field textarea{width:100%;min-height:var(--tap);padding:.625rem .75rem;background:var(--paper);border:1px solid var(--rule-firm);border-radius:2px;font-size:1rem}.field textarea{min-height:6rem;resize:vertical;font-family:var(--sans)}.field input[inputmode=decimal],.field input[inputmode=numeric]{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.125rem}.note{font-size:.8125rem;color:var(--ink-soft);line-height:1.5}.err[hidden]{display:none}.err{margin:0 0 1rem;padding:.75rem;background:#f6e6e3;border-left:3px solid var(--alert);color:#5e2018;font-size:.875rem}.signin{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.signin-card{width:100%;max-width:22rem}.signin-mark{font-size:.6875rem;letter-spacing:.28em;text-transform:uppercase;color:var(--pine);font-weight:700;margin-bottom:.5rem}.signin h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:640;letter-spacing:-.015em}.signin .note{margin-bottom:1.5rem}.signin form{background:var(--paper);border:1px solid var(--rule-firm);padding:1.25rem}.stack{display:grid;gap:.625rem}.card{display:flex;align-items:center;gap:.875rem;width:100%;text-align:left;min-height:4.5rem;padding:.875rem 1rem;background:var(--paper);border:1px solid var(--rule-firm);border-radius:2px;cursor:pointer}.card:hover{border-color:var(--pine)}.card:active:not(.card--locked){background:var(--surface)}.card-name{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.card-meta{font-size:.8125rem;color:var(--ink-soft);margin-top:.125rem}.card-chev{margin-left:auto;color:var(--ink-soft)}.card--locked{background:none;border-color:var(--rule);cursor:default;align-items:flex-start}.card--locked:hover{border-color:var(--rule)}.card--locked .card-name{color:var(--ink-soft);font-weight:560}.card-mark{margin-left:auto;flex:none;margin-top:.125rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.card-refusal[hidden]{display:none}.card-refusal{margin:.5rem 0 0;padding:.4375rem .625rem;background:#f6e6e3;border-left:3px solid var(--alert);color:#5e2018;font-size:.8125rem;line-height:1.4}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;object-fit:cover;object-position:center 22%;background:var(--band-measured);border:1px solid var(--rule-firm);color:var(--pine);font-weight:700;letter-spacing:.02em}.avatar--md{width:3.25rem;height:3.25rem;font-size:.9375rem}.avatar--sm{width:2.125rem;height:2.125rem;font-size:.75rem}.avatar--none{background:var(--surface);color:var(--ink-soft)}.topbar .avatar{border-color:#ffffff4d}.room{font-family:var(--mono);font-size:.75rem;padding:.25rem .4375rem;border:1px solid var(--rule);background:var(--surface)}.section-title{display:flex;align-items:baseline;gap:.625rem;margin:1.5rem 0 .75rem}.section-title h2{margin:0;font-size:1.125rem;font-weight:640;letter-spacing:-.01em}.empty{background:var(--paper);border:1px dashed var(--rule-firm);padding:2rem 1.25rem;text-align:center}.empty p{margin:0 0 1rem;color:var(--ink-soft)}.weekstrip{position:sticky;top:var(--topbar-h, 0px);z-index:10;display:grid;grid-template-columns:repeat(7,1fr);background:var(--paper);border-top:1px solid var(--rule-firm);border-bottom:1px solid var(--rule-firm);margin:-1rem 0 0}.daycell{position:relative;min-height:3.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;background:transparent;border:none;border-right:1px solid var(--rule);cursor:pointer;padding:.5rem 0}.daycell:last-child{border-right:none}.daycell .dow{font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.daycell .dnum{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.0625rem;line-height:1}.daycell[aria-pressed=true]{background:var(--band-measured)}.daycell[aria-pressed=true] .dow{color:var(--ink)}.daycell[data-today=true] .dnum{text-decoration:underline;text-underline-offset:3px}.daycell .dot{width:5px;height:5px;border-radius:50%;background:var(--pine);margin-top:.125rem}.daycell .dot[hidden]{visibility:hidden;display:block}.daybar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem 0;flex-wrap:wrap}.daybar-date{display:flex;flex-direction:column;align-items:flex-start;gap:.1875rem;font-size:1rem;font-weight:650;letter-spacing:-.01em}.dayaway{font-family:var(--mono);font-size:.625rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.125rem .375rem;border-radius:2px;border:1px solid var(--rule-firm);color:var(--ink-soft);white-space:nowrap}.daybar-nav{display:flex;border:1px solid var(--rule-firm);border-radius:2px;overflow:hidden}.navbtn{min-width:2.25rem;min-height:2.5rem;padding:0 .375rem;background:var(--paper);border:none;border-left:1px solid var(--rule);color:var(--ink);cursor:pointer;font-size:.9375rem;font-weight:600;line-height:1;white-space:nowrap}.navbtn:first-child{border-left:none}.navbtn:hover{background:var(--surface)}.navbtn--today{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pine);padding:0 .5rem}.navbtn[aria-current=true]{background:var(--pine);color:#f4f7f3;cursor:default}.rows{background:var(--paper);border:1px solid var(--rule-firm);border-top:none}.row{display:flex;align-items:baseline;gap:.75rem;padding:.5rem 1rem;min-height:2.5rem;border-bottom:1px solid var(--rule)}.row:last-child{border-bottom:none}.row .rtype{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);min-width:3.25rem}.row .rval{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600}.row .runit{font-size:.75rem;color:var(--ink-soft)}.row--retracted,.notecard--retracted{opacity:.5}.rowbar--retracted span:not(.tag),.notewithdrawn-why{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.notewithdrawn{opacity:.65}.rowbar{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;padding:.375rem 1rem .5rem;background:var(--paper);border-bottom:1px solid var(--rule);font-size:.75rem;color:var(--ink-soft)}.rowbar--retracted{background:#f6f2ea}.rowbar--pending{background:#f6e6e3}.rowbar-actions{margin-left:auto;display:flex;gap:.75rem}.tag{font-size:.625rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.125rem .375rem;border-radius:2px}.tag--retracted{background:var(--gold);color:#fff}.tag--pending{background:var(--alert);color:#fff}.tag--differs{background:var(--gold);color:#fff}.rowbar--differs{background:#f8f3e8}.rowbar-review{flex-basis:100%}.tag--elsewhere{background:var(--pine);color:#f4f7f3}.daynote{background:#eef1ee;border:1px solid var(--rule-firm);border-bottom:1px solid var(--rule-firm);margin-bottom:.75rem;padding:.5rem .75rem}.row .rmeta .mark{font-family:var(--mono)}.row .rmeta .mark--none{font-family:inherit;font-style:italic;opacity:.75}.linkbtn{background:none;border:none;padding:0;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--pine);text-decoration:underline;text-underline-offset:2px}.linkbtn--quiet{margin-left:.875rem;min-height:2rem;padding:0 .375rem;font-weight:500;color:var(--ink-soft);text-decoration:none}.linkbtn--quiet:hover,.linkbtn--quiet:focus-visible{color:var(--pine);text-decoration:underline}.row .rmeta+.linkbtn--quiet{margin-left:.875rem}.vgroup+.vgroup .vhead{border-top:1px solid var(--rule-firm)}.vhead{display:flex;align-items:baseline;gap:.5rem;background:var(--surface);border-left:1px solid var(--rule-firm);border-right:1px solid var(--rule-firm);padding:.3125rem 1rem;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.vgroup:last-child .rows{border-bottom:1px solid var(--rule-firm)}.vhead .vunit{font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--ink-soft)}.row .rtime{font-size:.6875rem;color:var(--ink-soft);min-width:4.25rem;font-variant-numeric:tabular-nums}.row .rmeta{margin-left:auto;text-align:right;font-size:.6875rem;color:var(--ink-soft);line-height:1.4}.row .rmeta .who{display:block}.notecard{background:var(--paper);border:1px solid var(--rule-firm);border-top:none;padding:.875rem 1rem}.notecard p{margin:0 0 .5rem;line-height:1.55;white-space:pre-wrap}.rows--week{display:grid;grid-template-columns:repeat(7,1fr)}.wcell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:3rem;padding:.4375rem .125rem;border-right:1px solid var(--rule)}.wcell:last-child{border-right:none}.cv{position:relative;display:flex;flex-direction:column;align-items:center;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1.15;font-weight:600}.cv--bp b+b{border-top:1px solid var(--rule-firm);padding-top:.0625rem;margin-top:.0625rem;font-weight:500}.cv--bm b{font-family:var(--sans);font-size:.75rem;font-weight:650}.cv--bm i{font-family:var(--sans);font-style:normal;font-weight:500;font-size:.5625rem;color:var(--ink-soft)}.cv+.cv{border-top:1px dotted var(--rule);padding-top:.25rem}.tapnote{margin:0 0 .625rem;font-size:.75rem;color:var(--ink-soft)}.differs{color:var(--gold);font-weight:700}sup.differs{position:absolute;top:-.125rem;right:-.0625rem;font-size:.625rem;line-height:1}.gridnote{margin:.625rem 0 0;font-size:.75rem;color:var(--ink-soft);line-height:1.5}.wnote{display:flex;gap:.75rem;align-items:baseline;padding:.625rem 1rem;border-bottom:1px solid var(--rule)}.wnote:last-child{border-bottom:none}.wnote-day{flex:none;min-width:3.25rem;font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.wnote p{margin:0;font-size:.875rem;line-height:1.5;white-space:pre-wrap}.navbtn--week{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pine);padding:0 .625rem}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:#0f141273;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:34rem;background:var(--surface);border-top:2px solid var(--pine);max-height:92dvh;overflow-y:auto;padding-bottom:calc(1rem + env(safe-area-inset-bottom));animation:rise .18s ease-out}@keyframes rise{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.sheet-head{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--paper);border-bottom:1px solid var(--rule-firm)}.sheet-head h2{margin:0;font-size:1rem;font-weight:640}.sheet-body{padding:1rem}.chipset{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.875rem}.chip{min-height:var(--tap);padding:0 .9375rem;background:var(--paper);border:1px solid var(--rule-firm);border-radius:2px;cursor:pointer;font-weight:600;font-size:.9375rem}.chip[aria-pressed=true]{background:var(--pine);color:#f4f7f3;border-color:var(--pine)}.chip:active:not([aria-pressed=true]){background:var(--surface)}.pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:.5rem}.pair .slash{font-family:var(--mono);font-size:1.5rem;color:var(--ink-soft);padding-bottom:.625rem}@media(min-width:45rem){.btn{width:auto;min-width:11rem}.signin form{padding:1.5rem}}.fruit{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:3px}.fruit-mark{display:block}.guide{margin:0 0 .875rem;border:1px solid var(--rule);border-left:3px solid var(--pine);background:var(--paper)}.guide-rungs{display:flex;align-items:stretch;justify-content:flex-start;gap:1.5rem;padding:.75rem .75rem 0}.rung{flex:0 0 auto;min-width:3.25rem;min-height:6.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4375rem;padding-bottom:.5rem;opacity:.38}.rung .fruit{margin-top:auto;margin-bottom:auto}.rung.is-pick{opacity:1}.rung-code{font-family:var(--mono);font-size:.8125rem;font-weight:700;letter-spacing:.04em;color:var(--ink-soft)}.rung.is-pick .rung-code{color:var(--pine)}.guide-say{margin:0;padding:.5rem .75rem;border-top:1px solid var(--rule);font-size:.9375rem;font-weight:600;color:var(--ink)}.faq-q{font-family:var(--mono);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:1.5rem 0 .5rem;padding-top:1rem;border-top:1px solid var(--rule-firm)}.faq-q:first-child{margin-top:0;padding-top:0;border-top:none}.faq-list{display:flex;flex-direction:column}.faq-row{display:flex;align-items:center;gap:.875rem;padding:.625rem 0;border-bottom:1px solid var(--rule)}.faq-row:last-child{border-bottom:none}.faq-row .rung-code{width:2.25rem;flex-shrink:0;color:var(--pine)}.faq-mark{width:7rem;flex-shrink:0;display:flex;justify-content:flex-start}.faq-say{font-size:.9375rem;color:var(--ink)}.faq-tail{display:block;font-size:.8125rem;color:var(--ink-soft)}.guide-rungs--desc{padding-bottom:.5rem}.guide-rungs--desc .rung{min-height:0}.form-mark{display:block}.guide-say--desc{font-weight:500;line-height:1.45}.faq-row--desc{align-items:flex-start}.faq-row--desc .rung-code,.faq-row--desc .faq-mark{padding-top:.125rem}
