:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f2f2f7;--cell:#fff;--label:#000;--label-2:#6c6c70;--sep:#c6c6c8;--fill:#7676801f;--fill-2:#76768033;--tint:#0064d8;--tint-fill:#0064d8;--on-tint:#fff;--alert:#c93400;--glass:#ffffffa8;--glass-edge:inset 0 1px 0 #ffffffd9, 0 0 0 .5px #0000000f, 0 6px 18px #0000001a;--sheet-shadow:0 0 0 .5px #0000000d, 0 10px 40px #0000002e;--plate:#fff;--mark-necrosis:#e8186a;--mark-chlorosis:#1f63e8;--mark-glare:#e5e5ea;--mark-edge:#fff;--mark-dim:#0b0b0f;--r-group:26px;--ease:cubic-bezier(.2, .8, .2, 1);--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--cell:#1c1c1e;--label:#fff;--label-2:#aeaeb2;--sep:#38383a;--fill:#7676803d;--fill-2:#7676805c;--tint:#0a84ff;--tint-fill:#0071e3;--alert:#ff9f0a;--glass:#2c2c2ea8;--glass-edge:inset 0 1px 0 #ffffff1f, 0 0 0 .5px #ffffff14, 0 6px 18px #0006;--sheet-shadow:0 0 0 .5px #ffffff14, 0 10px 40px #0009;--plate:#1c1c1e}}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--label);font:400 1.0625rem/1.3 var(--font);letter-spacing:-.01em;caret-color:var(--tint);-webkit-tap-highlight-color:transparent;margin:0}::selection{background:color-mix(in srgb, var(--tint) 25%, transparent)}:focus-visible{outline:3px solid color-mix(in srgb, var(--tint) 60%, transparent);outline-offset:2px}button,input,output{font:inherit;color:inherit;letter-spacing:inherit}h1,h2,h3,p,figure{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{flex:none;width:20px;height:20px}.fine-only{display:none!important}@media (hover:hover) and (pointer:fine){.fine-only{display:revert!important}}.masthead{max-width:640px;padding:calc(env(safe-area-inset-top) + 12px) max(20px, env(safe-area-inset-left)) 8px;margin:0 auto}.wordmark{letter-spacing:.01em;font-size:2.125rem;font-weight:700;line-height:1.2}.spread{max-width:640px;min-height:calc(100dvh - 60px - env(safe-area-inset-top));padding:0 max(16px, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}.notes{flex-direction:column;flex:1;gap:22px;min-width:0;padding-top:22px;display:flex}.sec-h{color:var(--label-2);text-transform:uppercase;letter-spacing:0;padding:0 16px 7px;font-size:.8125rem;font-weight:400;line-height:1.3}.list,.ruled,.settings{background:var(--cell);border-radius:var(--r-group);overflow:hidden}.aside,.facts{color:var(--label-2);letter-spacing:0;padding:7px 16px 0;font-size:.8125rem;line-height:1.35}.aside+.aside{padding-top:4px}.specimen{aspect-ratio:4/5;border-radius:var(--r-group);background:var(--cell);width:100%;max-height:60dvh;position:relative;overflow:hidden}body[data-screen=empty] .specimen{aspect-ratio:4/3}.specimen.has-photo{background:var(--plate);touch-action:none;aspect-ratio:var(--ar);width:min(100%, calc(60dvh * var(--arn)));margin-inline:auto}.specimen:focus-visible{outline-offset:3px}.specimen.drag{outline:3px dashed var(--tint);outline-offset:3px}.specimen[data-tool=pan]{cursor:grab}.specimen[data-tool=seed]{cursor:crosshair}.specimen[data-tool=add],.specimen[data-tool=remove]{cursor:none}.specimen.busy{cursor:progress}.sketch{flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}.sketch svg{width:min(40%,200px);height:auto;overflow:visible}.sketch-leaf{fill:var(--cell);stroke:var(--label);stroke-width:2px;stroke-linejoin:round}.sketch-vein{fill:none;stroke:var(--label);stroke-width:1.3px;stroke-linecap:round;opacity:.4}.sketch-nec{fill:url(#p-hatch);stroke:var(--mark-necrosis);stroke-width:1.8px}.sketch-chl{fill:url(#p-dots);stroke:var(--mark-chlorosis);stroke-width:1.6px}.sketch figcaption{text-align:center;text-wrap:balance;color:var(--label-2);font-size:.9375rem;line-height:1.35}.stack{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.stack canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stack.crisp canvas{image-rendering:pixelated}.specimen.busy:after,.specimen.searching:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(105deg,#0000 30%,#fff3 50%,#0000 70%);animation:1.6s cubic-bezier(.45,0,.25,1) infinite scan;position:absolute;inset:0;transform:translate(-100%)}@keyframes scan{to{transform:translate(100%)}}#leaf,#pins{opacity:0;transition:opacity .3s var(--ease)}.stack.mounted #leaf,.stack.mounted #pins{opacity:1}.stack.mounted.sweep #leaf{transition:opacity .6s var(--ease) .35s}.stack.original #leaf,.stack.original #pins{opacity:0;transition:none}#glow{opacity:0;--band:linear-gradient(115deg, #00000059 0 36%, #000 46% 54%, #00000059 64% 100%);-webkit-mask-image:var(--band);-webkit-mask-image:var(--band);mask-image:var(--band);-webkit-mask-size:300% 300%;mask-size:300% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.stack.sweep #glow{animation:1.3s cubic-bezier(.3,.1,.2,1) forwards trace}@keyframes trace{0%{opacity:0;-webkit-mask-position:100% 100%;mask-position:100% 100%}12%{opacity:1}72%{opacity:1}to{opacity:0;-webkit-mask-position:0 0;mask-position:0 0}}.stack.original #glow{visibility:hidden}.codes{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .3s var(--ease);position:absolute;inset:0;overflow:visible}.stack.mounted .codes{opacity:1}.stack.original .codes{opacity:0;transition:none}.codes *{vector-effect:non-scaling-stroke;stroke-linejoin:round}.codes .sheet{fill:none;stroke:var(--tint);stroke-width:2px;opacity:.4}.codes .code{fill:color-mix(in srgb, var(--tint) 24%, transparent);stroke:var(--tint);stroke-width:2.5px;transform-box:fill-box;transform-origin:50%}.codes .covered{fill:none;stroke:var(--tint);stroke-width:1.5px;stroke-dasharray:5 4;opacity:.75}.codes.in .sheet{animation:sheet-in .9s var(--ease) both}.codes.in .code,.codes.in .covered{animation:.42s cubic-bezier(.3,1.35,.5,1) both code-in;animation-delay:calc(.15s + var(--i) * 90ms)}@keyframes sheet-in{0%{opacity:0}35%{opacity:.95}to{opacity:.4}}@keyframes code-in{0%{opacity:0;transform:scale(.4)}}.brush-ring{pointer-events:none;border:2px solid var(--mark-edge);border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 0 1.5px #000000b3,inset 0 0 0 1px #000000b3}.brush-ring.remove{border-style:dashed}.chip{z-index:2;-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);color:#000;cursor:pointer;touch-action:manipulation;height:44px;transition:transform .15s var(--ease), background-color .15s var(--ease);background:#fff9;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:.9375rem;font-weight:600;display:inline-flex;position:absolute;box-shadow:inset 0 1px #fffc,0 0 0 .5px #ffffff80,0 4px 16px #0000002e}.chip:active{transform:scale(.95)}.chip[aria-pressed=true]{color:#fff;background:#0064d8}.chip.original{top:12px;right:12px}.zoom{z-index:2;gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.zoom .chip{position:static}@media (max-width:899px){body[data-editing] .zoom{inset:12px auto auto 12px}body[data-editing] .zoom .fine-only{display:none!important}body[data-editing] .dock{background:0 0}}.zoom .chip[aria-label]{justify-content:center;width:44px;padding:0}.status{color:var(--label-2);letter-spacing:0;padding:8px 16px 0;font-size:.9375rem;line-height:1.35}.status:empty{display:none}.status.error{color:var(--alert);font-weight:600}.ruled{margin:0;padding:0;list-style:none}.ruled li{padding:13px 16px;position:relative}.ruled li+li:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:16px;right:0}.tally{flex-direction:column;display:flex}.tally:focus{outline:none}.row{text-align:left;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-height:56px;padding:0 16px;display:grid;position:relative}.row+.row:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:54px;right:0}button.row{cursor:pointer;transition:background-color .12s var(--ease)}button.row:active{background:var(--fill-2)}@media (hover:hover){button.row:hover{background:var(--fill)}}.val{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:0;font-size:1.375rem;font-weight:600;line-height:1}.tally.working .val,.row[aria-pressed=false] .name{color:var(--label-2)}.mark{display:block}.row .mark{border:2px solid;border-radius:7px;width:24px;height:24px}.mark.necrosis{border-color:var(--mark-necrosis);background:repeating-linear-gradient(135deg, var(--mark-necrosis) 0 2px, transparent 2px 5.5px), color-mix(in srgb, var(--mark-necrosis) 14%, var(--cell))}.mark.chlorosis{border-color:var(--mark-chlorosis);background:radial-gradient(circle, var(--mark-chlorosis) 1.4px, transparent 1.9px) 0 0 / 33.333% 33.333%, color-mix(in srgb, var(--mark-chlorosis) 12%, var(--cell))}.mark.unaffected{background:var(--fill-2);border-color:#0000}.row[aria-pressed=false] .mark{background:var(--cell);border-style:dashed}.bar{border-radius:999px;gap:2px;height:8px;margin:4px 16px 16px;display:flex;position:relative;overflow:hidden}.bar .mark{width:0;min-width:0;height:100%}.bar .mark.chlorosis{background:radial-gradient(circle, var(--mark-chlorosis) 1.2px, transparent 1.7px) 0 0 / 5px 100%, color-mix(in srgb, var(--mark-chlorosis) 22%, var(--cell))}.bar .mark.unaffected{background:var(--fill-2);flex:1}.facts{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.facts:empty{display:none}.settings summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;list-style:none;display:flex}.settings summary::-webkit-details-marker{display:none}.settings summary svg{width:18px;height:18px;color:var(--tint);transition:transform .2s var(--ease)}.settings[open] summary svg{transform:rotate(90deg)}.settings-body>*,#sliders>*{position:relative}.settings-body>:before,#sliders>:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:16px;right:0}#sliders>.range{padding:10px 16px 12px}.method{padding:12px 16px 16px}.method h3{color:var(--label-2);text-transform:uppercase;letter-spacing:0;margin-bottom:4px;font-size:.8125rem;font-weight:400}.method p{color:var(--label-2);-webkit-user-select:text;user-select:text;font-variant-numeric:tabular-nums;letter-spacing:0;font-size:.8125rem;line-height:1.4}.settings-body>.btn{width:100%;min-height:48px;box-shadow:none;color:var(--tint);background:0 0;border-radius:0;justify-content:flex-start;padding:0 16px;font-weight:400}.btn{background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);min-height:50px;box-shadow:var(--glass-edge);color:var(--label);cursor:pointer;white-space:nowrap;transition:transform .15s var(--ease), filter .15s var(--ease);-webkit-user-select:none;user-select:none;touch-action:manipulation;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:1.0625rem;font-weight:600;display:inline-flex;position:relative}.btn:active:not(:disabled){transform:scale(.96)}@media (hover:hover){.btn:hover:not(:disabled){filter:brightness(.97)}}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--tint-fill);color:var(--on-tint);box-shadow:inset 0 1px #ffffff4d,0 6px 18px #0000001f}.btn:has(.file-input:focus-visible){outline:3px solid color-mix(in srgb, var(--tint) 60%, transparent);outline-offset:2px}.file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.range{flex-direction:column;gap:2px;display:flex}.range-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.range-head output{color:var(--label-2);font-variant-numeric:tabular-nums;white-space:nowrap}.range input{appearance:none;cursor:pointer;--rail:linear-gradient(90deg, var(--tint-fill) var(--p,50%), var(--fill-2) var(--p,50%));background:0 0;width:100%;height:44px;margin:0}.range.hue input{--rail:var(--track)}.range input::-webkit-slider-runnable-track{background:var(--rail);border-radius:999px;height:4px}.range input::-moz-range-track{background:var(--rail);border-radius:999px;height:4px}.range.hue input::-webkit-slider-runnable-track{height:6px}.range.hue input::-moz-range-track{height:6px}.range input::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:0;border-radius:50%;width:28px;height:28px;margin-top:-12px;box-shadow:0 0 0 .5px #0000000a,0 3px 8px #00000026,0 3px 1px #0000000f}.range.hue input::-webkit-slider-thumb{margin-top:-11px}.range input::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:28px;height:28px;box-shadow:0 3px 8px #00000026}.range .sub{color:var(--label-2);letter-spacing:0;font-size:.8125rem;line-height:1.35}.check{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:6px 16px;display:flex}.check input{appearance:none;background:var(--fill-2);cursor:pointer;width:51px;height:31px;transition:background-color .2s var(--ease);border-radius:999px;flex:none;order:2;margin:0;position:relative}.check input:after{content:"";width:27px;height:27px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 3px 1px #0000000f}.check input:checked{background:var(--tint-fill)}.check input:checked:after{transform:translate(20px)}.dock{z-index:5;margin:0 calc(-1 * max(16px, env(safe-area-inset-left)));padding:24px max(16px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to bottom, transparent, var(--bg) 28px);position:sticky;bottom:0}.dock-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.edit{background:var(--cell);min-width:0;box-shadow:var(--sheet-shadow);transition:transform .3s var(--ease);touch-action:none;border:0;border-radius:34px;flex-direction:column;gap:12px;margin:0;padding:18px 16px 16px;display:flex;position:relative}.edit:before{content:"";background:var(--fill-2);border-radius:999px;width:36px;height:5px;margin-left:-18px;position:absolute;top:6px;left:50%}.edit-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;padding:0 4px;font-weight:600;display:flex}.edit-head>*{white-space:nowrap}.edit output{color:var(--label-2);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:.9375rem;font-weight:400}.edit[disabled] .seg,.edit[disabled] .range{opacity:.5}.seg{background:var(--fill);border-radius:999px;grid-template-columns:1.35fr 1fr 1fr 1.1fr;gap:0;padding:2px;display:grid}.seg label{min-width:0;position:relative}.seg input{opacity:0;pointer-events:none;position:absolute}.seg span{cursor:pointer;white-space:nowrap;letter-spacing:0;height:44px;transition:background-color .18s var(--ease);border-radius:999px;justify-content:center;align-items:center;font-size:.8125rem;font-weight:500;display:flex}.seg input:checked+span{background:var(--cell);font-weight:600;box-shadow:0 0 0 .5px #0000000a,0 3px 8px #0000001f,0 3px 1px #0000000a}@media (prefers-color-scheme:dark){.seg input:checked+span{background:#636366}}.seg input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--tint) 60%, transparent);outline-offset:1px}.seg input:disabled+span{opacity:.4;cursor:default}.edit .range{padding:0 4px}.hint{color:var(--label-2);letter-spacing:0;padding:0 4px;font-size:.9375rem;line-height:1.35}.edit-actions{grid-template-columns:auto 1fr auto;gap:8px;display:grid}.edit-actions .btn{background:var(--fill);min-height:48px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 14px;font-size:.9375rem}.edit-actions .btn.primary{background:var(--tint-fill)}@media (min-width:900px){:root{--photo-w:calc(clamp(420px, calc(100dvh - 160px), 860px) * var(--arn,1.333));--notes-w:clamp(340px, 30vw, 400px);--page-w:min(1240px, calc(var(--photo-w) + var(--notes-w) + 24px + 64px))}.masthead{max-width:var(--page-w);padding:calc(env(safe-area-inset-top) + 20px) 32px 12px}.spread{max-width:var(--page-w);grid-template-columns:minmax(0, var(--photo-w)) var(--notes-w);grid-template-rows:1fr auto;grid-template-areas:"plate notes""plate dock";gap:16px 24px;min-height:0;padding:0 32px 32px;display:grid}.plate{grid-area:plate;position:relative}.status{width:100%;position:absolute;top:100%;left:0}.specimen{aspect-ratio:auto;height:clamp(420px,100dvh - 160px,860px);max-height:none}.specimen.has-photo{aspect-ratio:auto;width:min(100%, calc(clamp(420px, calc(100dvh - 160px), 860px) * var(--arn)));margin-inline:0}body[data-screen=empty] .specimen{aspect-ratio:4/3;height:auto}body[data-screen=empty] .spread{grid-template-columns:minmax(0, 1fr) var(--notes-w)}body[data-screen=empty] :is(.masthead,.spread){max-width:1240px}.notes{grid-area:notes;padding-top:0}.dock{background:0 0;grid-area:dock;margin:0;padding:0;position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}.specimen.busy:after,.specimen.searching:after{display:none}.stack.sweep #glow,.codes.in .sheet,.codes.in .code,.codes.in .covered{animation:none}.stack.mounted #leaf{transition:opacity .3s linear!important}}@media (prefers-reduced-transparency:reduce){.btn,.chip{-webkit-backdrop-filter:none;backdrop-filter:none}.chip{background:#fff}.btn:not(.primary){background:var(--cell)}}@media (prefers-contrast:more){:root{--label-2:var(--label);--sep:var(--label-2)}}
