:root{--font-sans:"Geist", "Inter", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:"Geist Mono", "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;--font-display:"Geist", system-ui, sans-serif;--font-body:var(--font-sans);--font-ui:var(--font-mono);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.45}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px}body{min-height:100dvh;font-family:var(--font-body)}#root{min-height:100dvh}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:0;font-weight:600}strong{font-weight:700}button,input,textarea,select{font-family:var(--font-body)}@media (pointer:coarse){button,input,textarea,select{touch-action:manipulation}}:root{--font-sans:"Geist", "Inter", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--pt-bg:oklch(98% .005 95);--pt-panel:oklch(99.5% .003 95);--pt-ink:oklch(20% .01 95);--pt-ink2:oklch(38% .01 95);--pt-ink3:oklch(55% .01 95);--pt-mute:oklch(60% .01 95);--pt-rule:oklch(91% .005 95);--pt-rule-soft:oklch(95% .005 95);--pt-accent:oklch(55% .13 145);--pt-accent-bg:oklch(96% .04 145);--pt-ok:oklch(60% .13 145);--pt-warn:oklch(70% .16 75);--pt-bad:oklch(58% .18 25);--pt-fs-xs:11px;--pt-fs-sm:12px;--pt-fs-base:13px;--pt-fs-md:14px;--pt-fs-lg:18px;--pt-fs-xl:22px;--pt-fs-2xl:28px;--pt-ls-eyebrow:.08em;--pt-r-sm:4px;--pt-r-md:6px;--pt-r-lg:10px;--pt-shadow-pop:0 12px 32px #1416182e, 0 1px 0 #1416180a;--pt-safe-top:env(safe-area-inset-top,0px);--pt-safe-right:env(safe-area-inset-right,0px);--pt-safe-bottom:env(safe-area-inset-bottom,0px);--pt-safe-left:env(safe-area-inset-left,0px)}[data-theme=dark]:root,:root[data-theme=dark]{--pt-bg:oklch(15% .005 250);--pt-panel:oklch(18% .005 250);--pt-ink:oklch(96% .005 95);--pt-ink2:oklch(82% .01 95);--pt-ink3:oklch(65% .01 95);--pt-mute:oklch(55% .01 95);--pt-rule:oklch(28% .005 250);--pt-rule-soft:oklch(22% .005 250);--pt-accent:oklch(72% .13 145);--pt-accent-bg:oklch(28% .05 145)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--pt-bg);color:var(--pt-ink);font-family:var(--font-sans);font-size:var(--pt-fs-base);-webkit-font-smoothing:antialiased;line-height:1.45}h1,h2,h3,h4{letter-spacing:0;margin:0;font-weight:600}button{font-family:inherit}.pt-app{grid-template-rows:auto 1fr;height:100dvh;display:grid;overflow:hidden}.pt-app--loading{place-items:center}.pt-loading{text-align:center;gap:6px;display:grid}.pt-topbar{min-width:0;padding:calc(14px + var(--pt-safe-top)) calc(24px + var(--pt-safe-right)) 14px calc(24px + var(--pt-safe-left));border-bottom:1px solid var(--pt-rule);background:var(--pt-panel);justify-content:space-between;align-items:center;gap:24px;display:flex}.pt-topbar__title{flex:260px;min-width:0}.pt-topbar__title h1{font-size:var(--pt-fs-xl);overflow-wrap:anywhere;margin:2px 0 0}.pt-topbar__title-button{appearance:none;color:inherit;cursor:text;font:inherit;overflow-wrap:anywhere;text-align:left;background:0 0;border:0;max-width:100%;padding:0}.pt-topbar__title-button:hover{color:var(--pt-accent)}.pt-topbar__title-button:focus-visible{outline:2px solid var(--pt-accent);outline-offset:3px}.pt-topbar__title-edit{align-items:center;gap:6px;max-width:100%;margin-top:2px;display:flex}.pt-topbar__title-edit input{font-family:var(--font-sans);font-size:var(--pt-fs-xl);border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);background:var(--pt-bg);color:var(--pt-ink);outline:none;width:min(520px,100%);min-width:0;max-width:100%;padding:4px 6px;font-weight:600}.pt-topbar__meta{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:10px 24px;min-width:0;display:flex}.pt-stat{gap:2px;min-width:0;display:grid}.pt-stat strong{font-size:var(--pt-fs-md);overflow-wrap:anywhere;min-width:0;font-weight:600}.pt-topbar__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.pt-topbar-stack{z-index:10;position:relative}.pt-banner-layer{z-index:3;pointer-events:none;gap:0;display:grid;position:absolute;top:100%;left:0;right:0}.pt-banner{font-size:var(--pt-fs-sm);border-bottom:1px solid var(--pt-rule);font-family:var(--font-mono);overflow-wrap:anywhere;pointer-events:auto;padding:8px 24px;box-shadow:0 8px 20px #14161814}.pt-banner--error{color:var(--pt-bad);background:oklch(96% .04 25)}.pt-banner--ok{background:var(--pt-accent-bg);color:var(--pt-accent)}@media (width<=720px){.pt-topbar{padding:calc(12px + var(--pt-safe-top)) calc(16px + var(--pt-safe-right)) 12px calc(16px + var(--pt-safe-left));flex-wrap:wrap;align-items:flex-start;gap:12px 16px}.pt-topbar__title{flex-basis:100%}.pt-topbar__title-edit{flex-wrap:wrap}.pt-topbar__title-edit input{flex:220px}.pt-topbar__meta{flex:100%;justify-content:space-between}.pt-topbar__actions{justify-content:flex-start}.pt-banner{padding-inline:calc(16px + var(--pt-safe-left)) calc(16px + var(--pt-safe-right))}}@media (width<=520px){.pt-topbar__meta{grid-template-columns:minmax(0,1fr);justify-content:stretch;display:grid}.pt-topbar__actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.pt-topbar__title-edit .pt-btn{flex:calc(50% - 3px)}}@media (width<=380px){.pt-topbar__actions{grid-template-columns:minmax(0,1fr)}}@media (pointer:coarse) and (width<=1100px){.pt-app{grid-template-rows:auto minmax(0,1fr)}.pt-topbar{padding:calc(8px + var(--pt-safe-top)) calc(10px + var(--pt-safe-right)) 8px calc(10px + var(--pt-safe-left));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;display:grid}.pt-topbar__title{flex-basis:auto;min-width:0}.pt-topbar__title .pt-eyebrow,.pt-stat--user{display:none}.pt-topbar__title h1{margin:0;font-size:16px;line-height:1.15}.pt-topbar__title-button{text-overflow:ellipsis;white-space:nowrap;min-height:44px;padding-block:12px;display:block;overflow:hidden}.pt-topbar__meta{display:contents}.pt-stat--overdue{white-space:nowrap;grid-column:2;justify-content:flex-end;align-items:baseline;gap:4px;display:flex}.pt-stat--overdue .pt-eyebrow{font-size:8px}.pt-stat--overdue strong{font-size:13px}.pt-topbar__actions{grid-column:1/-1;gap:6px;width:100%;display:flex}.pt-topbar__actions .pt-btn{flex:1 1 0;min-height:44px;padding:6px 8px;font-size:12px}}.pt-layout{grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.pt-layout--split{grid-template-columns:minmax(0,1fr) clamp(360px,30vw,500px)}@media (width<=1100px){.pt-layout--split{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}}.pt-registry-shell{grid-template-rows:auto 1fr;min-height:0;display:grid;overflow:hidden}.pt-workspace-slot{min-height:0;overflow:hidden}.pt-registry__header{padding:14px calc(24px + var(--pt-safe-right)) 14px calc(24px + var(--pt-safe-left));border-bottom:1px solid var(--pt-rule);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;min-width:0;display:flex}.pt-registry__header>div:first-child{flex:180px;min-width:0}.pt-registry__header p{overflow-wrap:anywhere;margin:2px 0 0}.pt-registry__actions{flex-wrap:wrap;flex:480px;justify-content:flex-end;align-items:end;gap:8px;min-width:0;display:flex}.pt-registry__actions>.pt-btn{flex:none}.pt-registry__view{flex:0 180px;gap:3px;min-width:128px;display:grid}.pt-registry__view select{font-family:var(--font-sans);font-size:var(--pt-fs-sm);border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);background:var(--pt-panel);color:var(--pt-ink);outline:none;width:100%;max-width:100%;padding:5px 8px}.pt-empty{text-align:center;color:var(--pt-mute);place-items:center;gap:6px;padding:48px 24px;display:grid}.pt-history{-webkit-overflow-scrolling:touch;background:var(--pt-panel);min-height:0;overflow:hidden auto}.pt-history__header{z-index:2;padding:14px calc(24px + var(--pt-safe-right)) 14px calc(24px + var(--pt-safe-left));border-bottom:1px solid var(--pt-rule);background:var(--pt-panel);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex;position:sticky;top:0}.pt-history__header>div{flex:220px;min-width:0}.pt-history__header h2{font-size:var(--pt-fs-xl);overflow-wrap:anywhere;margin:2px 0 0}.pt-history__header .pt-btn{flex:none}.pt-history__table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0}.pt-history__table thead th{z-index:1;background:var(--pt-bg);border-bottom:1px solid var(--pt-rule);color:var(--pt-ink3);font-size:var(--pt-fs-xs);letter-spacing:var(--pt-ls-eyebrow);text-align:left;text-transform:uppercase;padding:8px 10px;font-weight:600;position:sticky;top:76px}.pt-history__table th:first-child{width:116px}.pt-history__table th:nth-child(2){width:30%}.pt-history__table th:nth-child(3){width:128px}.pt-history__table td{border-bottom:1px solid var(--pt-rule);color:var(--pt-ink2);font-size:var(--pt-fs-md);vertical-align:middle;padding:9px 10px;overflow:hidden}.pt-history__kind{border-left:3px solid var(--pt-ink3);min-width:78px;color:var(--pt-ink);font-family:var(--font-mono);font-size:var(--pt-fs-xs);letter-spacing:.04em;text-transform:uppercase;padding-left:8px;display:inline-block}.pt-history__kind--water{border-left-color:var(--pt-accent)}.pt-history__kind--soil{border-left-color:#0e7490}.pt-history__kind--fertilizer{border-left-color:#92400e}.pt-history__kind--photo{border-left-color:var(--pt-ink3)}.pt-history__plant{appearance:none;color:var(--pt-ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:8px;min-width:0;max-width:100%;padding:0;font-weight:600;display:inline-flex}.pt-history__plant:hover{color:var(--pt-accent)}.pt-history__plant-thumb{border:1px solid var(--pt-rule);border-radius:var(--pt-r-sm);background:repeating-linear-gradient(135deg,#f4f4f5 0 6px,#e4e4e7 6px 8px);flex:none;width:22px;height:22px;overflow:hidden}.pt-history__plant-thumb img{object-fit:cover;width:100%;height:100%;display:block}.pt-history__plant>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pt-history__when{color:var(--pt-ink3);white-space:nowrap}.pt-history__detail{color:var(--pt-ink2);overflow-wrap:anywhere;word-break:break-word;min-width:0}.pt-history__refreshing{border-top:1px solid var(--pt-rule);color:var(--pt-mute);font-family:var(--font-mono);font-size:var(--pt-fs-xs);text-transform:uppercase;padding:8px 10px}@media (width<=640px){.pt-registry__header,.pt-history__header{padding-inline:calc(16px + var(--pt-safe-left)) calc(16px + var(--pt-safe-right));align-items:flex-start;gap:12px}.pt-registry__actions{flex-basis:100%;justify-content:flex-start}.pt-registry__view{flex:160px}.pt-history__table thead th{position:static;top:auto}}@media (pointer:coarse) and (width<=1100px){.pt-registry__header{padding:5px calc(10px + var(--pt-safe-right)) 5px calc(10px + var(--pt-safe-left));display:block}.pt-registry__header>div:first-child{display:none}.pt-registry__actions{grid-template-columns:minmax(0,1fr) 52px 52px 44px;align-items:center;gap:6px;width:100%;display:grid}.pt-registry__header--history .pt-registry__actions{grid-template-columns:repeat(3,minmax(0,1fr))}.pt-registry__view{min-width:0}.pt-registry__view .pt-eyebrow{display:none}.pt-registry__header .pt-registry__view select{min-height:44px;padding-block:6px}.pt-registry__actions>.pt-btn{min-height:44px;padding:5px 8px;font-size:11px;line-height:1.1}.pt-registry__actions>.pt-btn--primary{white-space:nowrap;min-width:44px;padding-inline:0;font-size:0}.pt-registry__actions>.pt-btn--primary:before{content:"+";font-size:20px;line-height:1}.pt-registry__history-action{text-overflow:ellipsis;overflow:hidden}}@media (width<=700px){.pt-layout--split{grid-template-rows:minmax(180px,44dvh) minmax(0,1fr)}}@media (pointer:coarse) and (width<=1100px){.pt-layout--split{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pt-layout--split .pt-registry-shell{display:none}.pt-layout--split .pt-workspace-slot{min-height:0}}@media (width<=480px){.pt-registry__view{flex-basis:100%}.pt-registry__actions>.pt-btn{flex:calc(50% - 4px)}.pt-registry__actions>.pt-btn--primary,.pt-history__header .pt-btn{flex-basis:100%;width:100%}}@media (width<=360px){.pt-registry__actions>.pt-btn{flex-basis:100%}}@media (pointer:coarse) and (width<=1100px){.pt-registry__actions>.pt-btn,.pt-registry__actions>.pt-btn--primary,.pt-history__header .pt-btn{flex:initial;flex-basis:auto;width:auto}}.pt-btn{font-family:var(--font-sans);font-size:var(--pt-fs-sm);border-radius:var(--pt-r-md);border:1px solid var(--pt-rule);background:var(--pt-panel);color:var(--pt-ink);cursor:pointer;white-space:normal;overflow-wrap:anywhere;text-align:center;min-width:0;max-width:100%;padding:6px 12px;font-weight:500}.pt-btn--primary:disabled:hover{background:var(--pt-accent)}.pt-btn--with-icon{align-items:center;gap:6px;display:inline-flex}.pt-btn__icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;flex:none;width:14px;height:14px}@media (pointer:coarse){.pt-btn{touch-action:manipulation;min-height:44px}.pt-history{padding-bottom:calc(12px + var(--pt-safe-bottom));scroll-padding-bottom:calc(44px + var(--pt-safe-bottom))}.pt-history__table{width:calc(100% - var(--pt-safe-left) - var(--pt-safe-right));margin-inline:var(--pt-safe-left) var(--pt-safe-right)}.pt-topbar__title-edit input,.pt-registry__view select{min-height:44px;font-size:16px}.pt-history__plant{touch-action:manipulation;min-height:44px}}@media (pointer:coarse) and (width<=1100px){.pt-history__table,.pt-history__table tbody{min-width:0;display:block}.pt-history__table thead{display:none}.pt-history__table tr{border-bottom:1px solid var(--pt-rule);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"plant when""kind kind""detail detail";gap:6px 10px;min-width:0;padding:10px 12px;display:grid}.pt-history__table td{white-space:normal;border-bottom:0;min-width:0;padding:0;display:block;overflow:visible}.pt-history__table td:first-child{grid-area:kind}.pt-history__table td:nth-child(2){grid-area:plant}.pt-history__table td:nth-child(3){font-size:var(--pt-fs-sm);text-align:right;grid-area:when;align-self:center}.pt-history__table td:nth-child(4){grid-area:detail}.pt-history__kind{min-width:0;font-size:10px}.pt-history__plant{width:100%;min-height:44px;padding:0}.pt-history__plant>span:last-child{white-space:normal}.pt-history__detail{font-size:var(--pt-fs-sm)}}.pt-moist{gap:2px;display:inline-flex}.pt-moist__seg{border:1px solid var(--pt-rule);background:0 0;border-radius:1px;width:6px;height:14px}.pt-btn{min-width:0;max-width:100%;font-family:var(--font-sans);font-size:var(--pt-fs-sm);text-align:center;white-space:normal;overflow-wrap:anywhere;border-radius:var(--pt-r-md);border:1px solid var(--pt-rule);background:var(--pt-panel);color:var(--pt-ink);cursor:pointer;justify-content:center;align-items:center;padding:7px 14px;font-weight:500;line-height:1.2;display:inline-flex}.pt-btn:hover{background:var(--pt-bg)}.pt-btn:disabled{cursor:not-allowed;opacity:.55}.pt-btn:disabled:hover{background:var(--pt-panel)}.pt-btn--primary{background:var(--pt-accent);border-color:var(--pt-accent);color:#fff}.pt-btn--primary:hover{background:color-mix(in oklab, var(--pt-accent) 85%, black)}.pt-btn--primary:disabled:hover{background:var(--pt-accent);border-color:var(--pt-accent);color:#fff}.pt-btn--active{background:var(--pt-accent-bg);border-color:var(--pt-accent);color:var(--pt-accent)}.pt-btn--active:hover{background:var(--pt-accent-bg)}.pt-btn--danger{border-color:var(--pt-bad);color:var(--pt-bad)}.pt-btn--danger:hover{background:color-mix(in oklab, var(--pt-bad) 8%, white)}.pt-btn--danger:disabled:hover{background:var(--pt-panel);border-color:var(--pt-bad);color:var(--pt-bad)}.pt-btn--link{color:var(--pt-mute);text-underline-offset:3px;font-size:var(--pt-fs-sm);background:0 0;border:none;padding:4px 0;text-decoration:underline}.pt-btn--link:hover{color:var(--pt-ink);background:0 0}.pt-btn--link:disabled:hover{color:var(--pt-mute);background:0 0}.pt-field{gap:4px;display:grid}.pt-field--wide{grid-column:1/-1}.pt-field input,.pt-field textarea,.pt-field select{width:100%;min-width:0;font-family:var(--font-sans);font-size:var(--pt-fs-base);border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);background:var(--pt-panel);color:var(--pt-ink);outline:none;padding:7px 9px}.pt-field input:focus,.pt-field textarea:focus,.pt-field select:focus{border-color:var(--pt-accent)}.pt-field input:focus-visible,.pt-field textarea:focus-visible,.pt-field select:focus-visible{border-color:var(--pt-accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--pt-accent) 18%, transparent)}.pt-field input:disabled,.pt-field textarea:disabled,.pt-field select:disabled{cursor:not-allowed;background:color-mix(in oklab, var(--pt-bg) 72%, var(--pt-panel));color:var(--pt-mute);opacity:.72}.pt-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--pt-r-sm);background:var(--pt-accent-bg);color:var(--pt-accent);padding:1px 6px;font-size:9px;display:inline-block}.pt-auth{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--pt-bg);font-family:var(--font-sans);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.pt-auth__card{background:var(--pt-panel);border:1px solid var(--pt-rule);border-radius:var(--pt-r-lg);width:min(360px,100%);min-width:0;box-shadow:var(--pt-shadow-pop);gap:12px;padding:28px 28px 22px;display:grid}.pt-auth__card>*{min-width:0}.pt-auth__title{font-size:var(--pt-fs-2xl);letter-spacing:0;overflow-wrap:anywhere;margin:4px 0 0;font-weight:600}.pt-auth__error{border:1px solid color-mix(in oklab, var(--pt-bad) 35%, white);border-radius:var(--pt-r-md);background:color-mix(in oklab, var(--pt-bad) 8%, white);color:var(--pt-bad);font-size:var(--pt-fs-sm);overflow-wrap:anywhere;padding:8px 10px}.pt-modal{z-index:1000;font-family:var(--font-sans);background:#0f0f1252;place-items:center;display:grid;position:fixed;inset:0}.pt-modal__card{background:var(--pt-panel);border-radius:var(--pt-r-lg);width:min(640px,92vw);max-height:86vh;box-shadow:var(--pt-shadow-pop);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.pt-modal__header{border-bottom:1px solid var(--pt-rule);padding:16px 56px 12px 20px;position:relative}.pt-modal__title{font-size:var(--pt-fs-xl);letter-spacing:0;overflow-wrap:anywhere;margin:2px 0 0;font-weight:600}.pt-modal__close{border:1px solid var(--pt-rule);border-radius:var(--pt-r-sm);cursor:pointer;width:28px;height:28px;color:var(--pt-mute);background:0 0;font-size:16px;line-height:1;position:absolute;top:10px;right:12px}.pt-modal__close:disabled{cursor:not-allowed;opacity:.55}.pt-modal__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:14px;min-height:0;padding:16px 20px;display:grid;overflow:auto}.pt-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.pt-modal__footer{border-top:1px solid var(--pt-rule);background:var(--pt-bg);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.pt-admin{-webkit-overflow-scrolling:touch;background:var(--pt-bg);width:100%;height:100%;font-family:var(--font-sans);padding:24px 28px;overflow:auto}.pt-admin__header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.pt-admin__header>*{min-width:0}.pt-admin__title{min-width:0;font-size:var(--pt-fs-2xl);letter-spacing:0;overflow-wrap:anywhere;margin:0;font-weight:600}.pt-admin__stats{background:var(--pt-rule);border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:24px;display:grid;overflow:hidden}.pt-admin__stat{background:var(--pt-panel);min-width:0;padding:12px 14px}.pt-admin__stat .pt-eyebrow{overflow-wrap:anywhere;min-width:0;line-height:1.25}.pt-admin__stat .pt-mono{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.pt-admin__users{background:var(--pt-panel);border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto}.pt-admin__table{border-collapse:collapse;width:100%;min-width:760px;font-size:var(--pt-fs-md)}.pt-admin__table th{text-align:left;background:var(--pt-bg);border-bottom:1px solid var(--pt-rule);font-size:var(--pt-fs-xs);text-transform:uppercase;letter-spacing:var(--pt-ls-eyebrow);color:var(--pt-ink3);-webkit-user-select:none;user-select:none;padding:10px 12px}.pt-admin__table th.is-sorted{color:var(--pt-ink)}.pt-admin__sort{width:100%;min-width:0;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-align:left;text-overflow:ellipsis;text-transform:inherit;white-space:nowrap;background:0 0;border:0;padding:0;display:block;overflow:hidden}.pt-admin-edit{z-index:1000;-webkit-overflow-scrolling:touch;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.pt-admin-edit__card{-webkit-overflow-scrolling:touch;background:var(--pt-panel);border-radius:var(--pt-r-lg);width:min(420px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--pt-shadow-pop);padding:16px;overflow:auto}.pt-admin-edit__card input,.pt-admin-edit__card textarea,.pt-admin-edit__card select{border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);background:var(--pt-panel);min-width:0;color:var(--pt-ink);font:inherit;padding:7px 9px}.pt-admin__table td,.pt-admin__row-header{border-bottom:1px solid var(--pt-rule-soft);color:var(--pt-ink2);padding:9px 12px}.pt-admin__row-header{background:var(--pt-panel);font-size:var(--pt-fs-md);letter-spacing:0;text-transform:none}.pt-admin__table th,.pt-admin__table td{white-space:nowrap}.pt-admin__table th:first-child,.pt-admin__row-header{box-shadow:1px 0 0 var(--pt-rule-soft);position:sticky;left:0}.pt-admin__table th:first-child{z-index:2}.pt-admin__row-header{z-index:1}.pt-viewer{z-index:1000;color:#fafafa;font-family:var(--font-sans);background:#0f0f12;grid-template-columns:1fr 280px;display:grid;position:fixed;inset:0}.pt-viewer__main{place-items:center;min-width:0;min-height:0;padding:24px;display:grid;overflow:hidden}.pt-viewer__image-button{cursor:zoom-in;touch-action:manipulation;background:0 0;border:0;place-items:center;min-width:0;max-width:100%;min-height:0;max-height:100%;padding:0;display:grid}.pt-viewer__image-button:focus-visible{outline-offset:4px;outline:2px solid #ffffffb8}.pt-viewer__main img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 48px);transform-origin:var(--pt-viewer-zoom-origin,50% 50%);transition:transform .18s,box-shadow .18s;display:block}@media (hover:hover){.pt-viewer__image-button:hover img{transform:scale(1.01)}}.pt-viewer__main.is-zoomed{place-items:center}.pt-viewer__main.is-zoomed .pt-viewer__image-button{cursor:zoom-out}.pt-viewer__main.is-zoomed img{transform:scale(1.65);box-shadow:0 18px 60px #00000059}.pt-viewer__meta{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-left:1px solid #ffffff14;align-content:start;gap:14px;min-width:0;padding:18px;display:grid;overflow:auto}.pt-viewer__meta>*{overflow-wrap:anywhere;min-width:0}.pt-viewer__close,.pt-viewer__nav{z-index:2;color:#fff;cursor:pointer;touch-action:manipulation;background:#ffffff14;border:1px solid #ffffff2e;border-radius:22px;width:44px;height:44px;font-size:22px;position:absolute;top:50%;transform:translateY(-50%)}.pt-viewer__close:focus-visible,.pt-viewer__nav:focus-visible{outline-offset:4px;outline:2px solid #ffffffb8}.pt-viewer__close{font-size:18px;top:16px;right:296px;transform:none}.pt-viewer__nav--prev{left:16px}.pt-viewer__nav--next{left:auto;right:296px}.pt-viewer__close:disabled,.pt-viewer__nav:disabled{cursor:not-allowed;opacity:.3}.pt-viewer__close:disabled:hover,.pt-viewer__nav:disabled:hover{background:#ffffff14;border-color:#ffffff2e}.pt-viewer__empty{color:#fff9;grid-column:1/-1;place-items:center;width:100%;height:100%;display:grid}@media (prefers-reduced-motion:reduce){.pt-viewer__main img{transition:none}.pt-viewer__image-button:hover img{transform:none}.pt-viewer__main.is-zoomed img{transform:scale(1.65)}}@media (pointer:coarse){.pt-btn{touch-action:manipulation;min-height:44px}.pt-auth{padding:calc(16px + var(--pt-safe-top)) calc(16px + var(--pt-safe-right)) calc(16px + var(--pt-safe-bottom)) calc(16px + var(--pt-safe-left))}.pt-field input,.pt-field textarea,.pt-field select{min-height:44px;font-size:16px}.pt-modal__close{border-radius:var(--pt-r-md);touch-action:manipulation;width:44px;height:44px;top:10px;right:12px}.pt-modal{padding:calc(10px + var(--pt-safe-top)) calc(10px + var(--pt-safe-right)) calc(10px + var(--pt-safe-bottom)) calc(10px + var(--pt-safe-left))}.pt-modal__card{max-height:calc(100dvh - 20px - var(--pt-safe-top) - var(--pt-safe-bottom))}.pt-modal__footer{padding-bottom:calc(12px + var(--pt-safe-bottom))}.pt-admin{padding:calc(24px + var(--pt-safe-top)) calc(28px + var(--pt-safe-right)) calc(24px + var(--pt-safe-bottom)) calc(28px + var(--pt-safe-left))}.pt-admin__sort{touch-action:manipulation;min-height:44px;padding-block:8px}.pt-admin-edit{padding:calc(12px + var(--pt-safe-top)) calc(12px + var(--pt-safe-right)) calc(12px + var(--pt-safe-bottom)) calc(12px + var(--pt-safe-left));place-items:start center}.pt-admin-edit__card{max-height:calc(100dvh - 24px - var(--pt-safe-top) - var(--pt-safe-bottom))}.pt-admin-edit__card input,.pt-admin-edit__card textarea,.pt-admin-edit__card select{min-height:44px;font-size:16px}.pt-viewer__close,.pt-viewer__nav{border-radius:24px;width:48px;height:48px}.pt-viewer__close{top:calc(16px + var(--pt-safe-top));right:calc(296px + var(--pt-safe-right))}.pt-viewer__nav--prev{left:calc(16px + var(--pt-safe-left))}.pt-viewer__nav--next{right:calc(296px + var(--pt-safe-right))}}@media (width<=700px){.pt-auth{padding:calc(18px + var(--pt-safe-top)) calc(12px + var(--pt-safe-right)) calc(18px + var(--pt-safe-bottom)) calc(12px + var(--pt-safe-left));align-items:start}.pt-auth__card{padding:22px 18px 18px}.pt-modal{padding:calc(10px + var(--pt-safe-top)) calc(10px + var(--pt-safe-right)) calc(10px + var(--pt-safe-bottom)) calc(10px + var(--pt-safe-left))}.pt-modal__card{width:100%;max-height:calc(100dvh - 20px);max-height:calc(100dvh - 20px - var(--pt-safe-top) - var(--pt-safe-bottom))}.pt-modal__header{padding:14px 52px 10px 16px}.pt-modal__body{padding:14px 16px}.pt-form-grid{grid-template-columns:1fr}.pt-modal__footer{padding:10px 16px calc(10px + var(--pt-safe-bottom));grid-template-columns:repeat(auto-fit,minmax(94px,1fr));display:grid}.pt-modal__footer .pt-btn{width:100%}.pt-modal__footer .pt-btn--danger{grid-column:1/-1}.pt-admin{padding:calc(18px + var(--pt-safe-top)) calc(14px + var(--pt-safe-right)) calc(18px + var(--pt-safe-bottom)) calc(14px + var(--pt-safe-left))}.pt-admin__header{flex-wrap:wrap;gap:10px}.pt-admin__stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.pt-admin__stat{min-width:0}.pt-viewer{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.pt-viewer__main{padding:calc(50px + var(--pt-safe-top)) calc(12px + var(--pt-safe-right)) calc(14px + var(--pt-safe-bottom)) calc(12px + var(--pt-safe-left))}.pt-viewer__image-button{width:100%;height:100%;min-height:0}.pt-viewer__main img{max-height:100%}.pt-viewer__meta{max-height:34dvh;padding:12px calc(14px + var(--pt-safe-right)) calc(12px + var(--pt-safe-bottom)) calc(14px + var(--pt-safe-left));border-top:1px solid #ffffff14;border-left:0}.pt-viewer__close{top:calc(12px + var(--pt-safe-top));right:calc(12px + var(--pt-safe-right))}.pt-viewer__nav--prev{left:calc(12px + var(--pt-safe-left))}.pt-viewer__nav--next{right:calc(12px + var(--pt-safe-right))}}@media (pointer:coarse) and (width<=1100px){.pt-viewer{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.pt-viewer__main{padding:calc(50px + var(--pt-safe-top)) calc(12px + var(--pt-safe-right)) calc(14px + var(--pt-safe-bottom)) calc(12px + var(--pt-safe-left))}.pt-viewer__image-button{width:100%;height:100%;min-height:0}.pt-viewer__main img{max-height:100%}.pt-viewer__meta{max-height:34dvh;padding:12px calc(14px + var(--pt-safe-right)) calc(12px + var(--pt-safe-bottom)) calc(14px + var(--pt-safe-left));border-top:1px solid #ffffff14;border-left:0}.pt-viewer__close{top:calc(12px + var(--pt-safe-top));right:calc(12px + var(--pt-safe-right))}.pt-viewer__nav--prev{left:calc(12px + var(--pt-safe-left))}.pt-viewer__nav--next{right:calc(12px + var(--pt-safe-right))}}@media (width<=420px){.pt-auth__title,.pt-modal__title{overflow-wrap:anywhere}.pt-modal__footer{grid-template-columns:1fr}.pt-modal__footer .pt-btn--danger{order:2}.pt-admin__stats{grid-template-columns:1fr}.pt-admin__table{min-width:700px}}.pt-registry{-webkit-overflow-scrolling:touch;background:var(--pt-panel);width:100%;height:100%;font-family:var(--font-sans);font-size:var(--pt-fs-base);color:var(--pt-ink);overscroll-behavior:contain;scroll-padding-block:44px;scroll-padding-inline:var(--pt-safe-left) var(--pt-safe-right);scrollbar-gutter:stable;touch-action:pan-x pan-y;overflow:auto;container-type:inline-size}.pt-registry__table{border-collapse:collapse;table-layout:fixed;max-width:none}.pt-registry--fit .pt-registry__table{width:100%}.pt-registry--fit .pt-registry__table td{overflow:hidden}.pt-registry--compressed .pt-registry__table thead th,.pt-registry--compressed .pt-registry__table td{padding-left:clamp(5px,.9cqi,10px);padding-right:clamp(5px,.9cqi,10px)}.pt-registry__table thead th{box-sizing:border-box;z-index:20;background:var(--pt-bg);text-align:left;border-bottom:1px solid var(--pt-rule);color:var(--pt-ink3);font-weight:600;font-size:var(--pt-fs-xs);text-transform:uppercase;letter-spacing:var(--pt-ls-eyebrow);padding:8px 14px 8px 10px;position:sticky;top:0;container-type:inline-size}.pt-registry__table thead th.pt-registry__column-header:before{z-index:2;content:"";background:color-mix(in oklab, var(--pt-rule) 72%, var(--pt-ink3));opacity:.72;pointer-events:none;width:1px;position:absolute;top:7px;bottom:7px;right:0}.pt-registry__table thead th.pt-registry__column-header:last-child:before{content:none}.pt-registry__column-header.is-resizing:before,.pt-registry__column-header:focus-within:before{background:var(--pt-accent);opacity:1}.pt-column-resize-handle{z-index:3;cursor:col-resize;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:22px;margin:0;padding:0;transition:background-color .12s;position:absolute;top:0;bottom:0;right:-11px}.pt-column-resize-handle:after{content:"";background:var(--pt-ink3);width:2px;height:26px;box-shadow:4px 0 0 color-mix(in oklab, var(--pt-ink3) 72%, transparent);opacity:0;border-radius:999px;transition:background-color .12s,opacity .12s,transform .12s;position:absolute;top:50%;right:8px;transform:translateY(-50%)scaleY(.68)}.pt-registry__column-header.is-resizing .pt-column-resize-handle:after{opacity:.5;transform:translateY(-50%)scaleY(1)}.pt-column-resize-handle:focus-visible:after{background:var(--pt-accent);box-shadow:4px 0 0 var(--pt-accent);opacity:1;transform:translateY(-50%)scaleY(1)}.pt-registry__column-header.is-resizing .pt-column-resize-handle:after{background:var(--pt-accent);box-shadow:4px 0 0 var(--pt-accent);opacity:1;transform:translateY(-50%)scaleY(1.08)}.pt-registry__column-header.is-resizing{background:color-mix(in oklab, var(--pt-bg) 82%, var(--pt-accent-bg))}.pt-registry__table.is-resizing-column,.pt-registry__table.is-resizing-column *{cursor:col-resize}.pt-column-resize-handle:focus-visible{outline:2px solid var(--pt-accent);outline-offset:-2px}.pt-registry__column-header-inner{align-items:center;gap:10px;min-width:0;display:flex}.pt-registry__column-header--right .pt-registry__column-header-inner{justify-content:flex-end}.pt-registry__column-header--with-tools .pt-registry__column-header-inner{justify-content:space-between;gap:6px}.pt-registry__table thead th.pt-registry__column-header--with-tools{z-index:80}.pt-registry__column-header--with-tools .pt-column-menu__button{justify-content:center;width:32px;padding-inline:8px}.pt-registry__column-header--with-tools .pt-column-menu__button span{display:none}.pt-registry__column-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.pt-registry__table thead th.pt-registry__column-header--right{text-align:right}.pt-registry__column-header--hideable{cursor:context-menu}.pt-registry__column-header--hideable:hover{color:var(--pt-ink);background:color-mix(in oklab, var(--pt-bg) 80%, var(--pt-accent-bg))}.pt-column-context-menu{z-index:120;box-sizing:border-box;border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);background:var(--pt-panel);min-width:176px;max-width:calc(100vw - 16px);box-shadow:var(--pt-shadow-pop);padding:5px;display:grid;position:fixed}.pt-column-context-menu button{appearance:none;border-radius:var(--pt-r-sm);color:var(--pt-ink);cursor:pointer;font:inherit;font-size:var(--pt-fs-sm);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:7px 8px}.pt-column-context-menu button:hover{background:var(--pt-bg)}.pt-column-context-menu button:focus-visible,.pt-column-menu__button:focus-visible{outline:2px solid var(--pt-accent);outline-offset:2px}.pt-column-context-menu__hint{color:var(--pt-mute);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px 5px;font-size:9px}.pt-column-menu{letter-spacing:0;text-transform:none;flex:none;min-width:0;position:relative}.pt-column-menu__button{border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);background:var(--pt-panel);max-width:100%;min-height:30px;color:var(--pt-ink);cursor:pointer;font-family:var(--font-sans);font-size:var(--pt-fs-sm);white-space:nowrap;align-items:center;gap:6px;padding:5px 9px;font-weight:500;line-height:1;display:inline-flex}.pt-column-menu__button span{text-overflow:ellipsis;overflow:hidden}.pt-column-menu__button:hover{background:var(--pt-bg)}.pt-column-menu__button.is-active{border-color:var(--pt-rule);background:var(--pt-bg);color:var(--pt-ink2);box-shadow:inset 0 0 0 1px var(--pt-rule-soft)}.pt-column-menu__icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;flex:none;width:14px;height:14px}.pt-column-menu__icon--dots{color:var(--pt-ink3);fill:currentColor;stroke:none}.pt-column-menu__popover{z-index:100;box-sizing:border-box;border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);background:var(--pt-panel);width:250px;max-width:calc(100vw - 24px);max-height:min(70vh,440px);box-shadow:var(--pt-shadow-pop);isolation:isolate;opacity:1;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.pt-column-menu__heading{padding:4px 6px 6px}.pt-column-menu__option{border-radius:var(--pt-r-sm);min-height:32px;color:var(--pt-ink);cursor:pointer;font-size:var(--pt-fs-sm);grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 6px;display:grid}.pt-column-menu__option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pt-column-menu__option:hover{background:var(--pt-bg)}.pt-column-menu__option:focus-within{background:var(--pt-bg);box-shadow:inset 0 0 0 1px var(--pt-accent)}.pt-column-menu__option.is-locked{color:var(--pt-ink3);cursor:default}.pt-column-menu__option input{width:14px;height:14px;accent-color:var(--pt-accent);margin:0}.pt-column-menu__state{color:var(--pt-mute);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:9px}@container (width<=76px){.pt-registry__column-title{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@container (width<=138px){.pt-column-menu__button{justify-content:center;width:32px;padding-inline:8px}.pt-column-menu__button span{display:none}}.pt-registry__table td{box-sizing:border-box;border-bottom:1px solid var(--pt-rule);font-size:var(--pt-fs-md);color:var(--pt-ink2);overflow-wrap:anywhere;vertical-align:middle;min-width:0;padding:8px 10px}.pt-photo-cell{text-align:center}.pt-registry__table tr{cursor:pointer;outline:none;transition:background-color 80ms}.pt-registry__table tbody tr:focus-visible{box-shadow:inset 0 0 0 2px var(--pt-accent)}.pt-registry__table tbody tr:hover{background:var(--pt-bg)}.pt-registry__table tr.is-selected{background:var(--pt-accent-bg);box-shadow:inset 3px 0 0 var(--pt-accent)}.pt-registry__table tr.is-selected:focus-visible{box-shadow:inset 3px 0 0 var(--pt-accent), inset 0 0 0 2px var(--pt-accent)}.pt-mobile-registry{display:none}@media (pointer:coarse) and (width<=1100px){.pt-registry{touch-action:pan-y;overflow-x:hidden}.pt-registry .pt-registry__table{display:none!important}.pt-mobile-registry{padding-bottom:calc(14px + var(--pt-safe-bottom));background:var(--pt-panel);display:block}.pt-mobile-registry__toolbar{border-bottom:1px solid var(--pt-rule);justify-content:flex-end;min-height:0;padding:4px 10px;display:flex}.pt-mobile-registry__toolbar .pt-column-menu__button{width:44px;min-height:44px;padding-inline:8px}.pt-mobile-registry__toolbar .pt-column-menu__button span{display:none}.pt-mobile-registry__list,.pt-mobile-location{min-width:0;display:grid}.pt-mobile-location__header{z-index:4;border-bottom:1px solid var(--pt-rule);background:color-mix(in oklab, var(--pt-bg) 90%, var(--pt-accent-bg));min-width:0;box-shadow:inset 4px 0 0 var(--pt-accent);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex;position:sticky;top:0}.pt-mobile-location__name{min-width:0;color:var(--pt-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.pt-mobile-location__meta{color:var(--pt-ink3);font-family:var(--font-mono);font-size:var(--pt-fs-xs);white-space:nowrap;flex:none}.pt-mobile-card{border-bottom:1px solid var(--pt-rule);background:var(--pt-panel);outline:none;grid-template-columns:54px minmax(0,1fr);grid-template-areas:"media main""actions actions";gap:8px 10px;min-width:0;padding:10px 12px;display:grid}.pt-mobile-card--no-photo{grid-template-columns:minmax(0,1fr);grid-template-areas:"main""actions"}.pt-mobile-card.is-selected{background:var(--pt-accent-bg);box-shadow:inset 3px 0 0 var(--pt-accent)}.pt-mobile-card:focus-visible{box-shadow:inset 0 0 0 2px var(--pt-accent)}.pt-mobile-card__media{grid-area:media;min-width:0}.pt-mobile-card__photo{border:1px solid var(--pt-rule);border-radius:var(--pt-r-sm);background:repeating-linear-gradient(135deg,#f4f4f5 0 6px,#e4e4e7 6px 8px);width:54px;height:54px;padding:0;display:block;overflow:hidden}.pt-mobile-card__photo img{object-fit:cover;width:100%;height:100%;display:block}.pt-mobile-card__main{grid-area:main;gap:5px;min-width:0;display:grid}.pt-mobile-card__topline{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.pt-mobile-card__identity{gap:1px;min-width:0;display:grid}.pt-mobile-card__title{min-width:0;color:var(--pt-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px;font-weight:700;line-height:1.14;display:-webkit-box;overflow:hidden}.pt-mobile-card__species{min-width:0;color:var(--pt-mute);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.pt-mobile-card__due{color:var(--pt-ink);font-family:var(--font-mono);white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:15px;line-height:1;display:inline-flex}.pt-mobile-card__meta{min-width:0;color:var(--pt-ink3);flex-wrap:wrap;gap:4px 8px;font-size:12px;line-height:1.25;display:flex}.pt-mobile-card__meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.pt-mobile-card__moisture{min-width:0;color:var(--pt-ink3);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.pt-mobile-card__moisture .pt-moist{flex:0 auto}.pt-mobile-card__moisture>span{white-space:nowrap;flex:none}.pt-mobile-card__actions{grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.pt-mobile-card__actions .pt-action{block-size:44px;min-block-size:44px;inline-size:100%;min-inline-size:0;max-inline-size:none}.pt-mobile-card__actions .pt-action span:not(.pt-sr-only){font-size:10px;display:inline}}.pt-location-group{cursor:default;--pt-location-bg:color-mix(in oklab, var(--pt-bg) 90%, var(--pt-accent-bg));--pt-location-accent:var(--pt-accent)}.pt-location-group--tone-0{--pt-location-bg:oklch(97% .025 150);--pt-location-accent:oklch(58% .13 145)}.pt-location-group--tone-1{--pt-location-bg:oklch(97% .022 225);--pt-location-accent:oklch(58% .1 220)}.pt-location-group--tone-2{--pt-location-bg:oklch(97% .024 78);--pt-location-accent:oklch(64% .12 75)}.pt-location-group--tone-3{--pt-location-bg:oklch(97% .022 300);--pt-location-accent:oklch(62% .09 300)}.pt-location-group--tone-4{--pt-location-bg:oklch(97% .022 25);--pt-location-accent:oklch(62% .12 28)}.pt-location-group--tone-5{--pt-location-bg:oklch(96.8% .014 185);--pt-location-accent:oklch(57% .08 185)}.pt-location-group th{z-index:10;border-top:1px solid var(--pt-rule);border-bottom:1px solid var(--pt-rule);background:var(--pt-location-bg);box-shadow:inset 4px 0 0 var(--pt-location-accent);text-align:left;padding:9px 10px;position:sticky;top:32px}.pt-location-group:hover{background:0 0}.pt-location-group__content{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.pt-location-group__name{min-width:0;color:var(--pt-ink);font-size:var(--pt-fs-md);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.pt-location-group__meta{color:var(--pt-ink3);font-family:var(--font-mono);font-size:var(--pt-fs-xs);letter-spacing:.04em;text-transform:uppercase;flex:none;font-weight:500}.pt-row-photo__thumb{width:var(--pt-photo-size);height:var(--pt-photo-size);border-radius:var(--pt-r-sm);border:1px solid var(--pt-rule);background:repeating-linear-gradient(135deg,#f4f4f5 0 6px,#e4e4e7 6px 8px);max-width:100%;margin:0 auto;padding:0;display:block;overflow:hidden}button.pt-row-photo__thumb{cursor:zoom-in}button.pt-row-photo__thumb:focus-visible{outline:2px solid var(--pt-accent);outline-offset:1px}.pt-row-photo__thumb img{object-fit:cover;width:100%;height:100%;transition:transform .16s;display:block}.pt-row-plant{align-items:center;gap:8px;display:flex}.pt-row-plant__thumb{border-radius:var(--pt-r-sm);border:1px solid var(--pt-rule);background:repeating-linear-gradient(135deg,#f4f4f5 0 6px,#e4e4e7 6px 8px);flex:none;width:28px;height:28px;padding:0;overflow:hidden}button.pt-row-plant__thumb{cursor:zoom-in}button.pt-row-plant__thumb:focus-visible{outline:2px solid var(--pt-accent);outline-offset:1px}.pt-row-plant__thumb img{object-fit:cover;width:100%;height:100%;transition:transform .16s;display:block}.pt-row-plant__name{gap:1px;min-width:0;line-height:1.25;display:grid}.pt-row-plant__title{color:var(--pt-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.pt-row-plant__species{font-size:var(--pt-fs-xs);color:var(--pt-mute);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.pt-row-light{color:var(--pt-ink3);font-size:var(--pt-fs-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pt-right{text-align:right}.pt-placeholder{color:var(--pt-mute)}.pt-dot{vertical-align:middle;border-radius:6px;width:6px;height:6px;margin-right:6px;display:inline-block}.pt-dot--ok{background:var(--pt-ok)}.pt-dot--soon{background:var(--pt-warn)}.pt-dot--overdue{background:var(--pt-bad)}.pt-row-moist{align-items:center;gap:8px;min-width:0;display:flex}.pt-moist{flex:none;align-items:center;gap:1px;display:inline-flex}.pt-cadence{gap:3px;inline-size:100%;min-inline-size:0;display:grid}.pt-cadence__track{background:var(--pt-rule);border-radius:2px;height:6px;position:relative;overflow:hidden}.pt-cadence__fill{width:100%;transform:scaleX(var(--pt-cadence-scale,0));transform-origin:0;transition:transform .2s;position:absolute;inset:0 auto 0 0}.pt-cadence__due-tick{background:var(--pt-ink2);opacity:.5;width:1px;position:absolute;top:-1px;bottom:-1px}.pt-cadence__labels{font-family:var(--font-mono);font-size:var(--pt-fs-xs);color:var(--pt-mute);justify-content:space-between;gap:6px;min-width:0;display:flex}.pt-cadence__labels span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pt-row-actions{--pt-action-button-width:76px;--pt-action-button-gap:4px;align-items:stretch;gap:var(--pt-action-button-gap);min-inline-size:calc((var(--pt-action-button-width) * 2) + var(--pt-action-button-gap));flex-wrap:nowrap;inline-size:max-content;max-inline-size:none;display:flex}.pt-registry--compressed .pt-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));inline-size:100%;min-inline-size:0;max-inline-size:100%;display:grid}.pt-action{box-sizing:border-box;flex:0 0 var(--pt-action-button-width);inline-size:var(--pt-action-button-width);min-inline-size:var(--pt-action-button-width);max-inline-size:var(--pt-action-button-width);border-radius:var(--pt-r-md);cursor:pointer;background:var(--pt-panel);border:1px solid var(--pt-rule);block-size:42px;min-block-size:42px;color:var(--pt-ink2);grid-template-rows:13px auto;align-content:center;justify-items:center;gap:3px;padding:5px 8px 4px;font-family:inherit;transition:background-color .16s,border-color .16s,color .16s;display:grid;position:relative;overflow:hidden}.pt-registry--compressed .pt-action{flex-basis:auto;inline-size:100%;min-inline-size:0;max-inline-size:100%;padding-inline:4px}.pt-action:hover{background:var(--pt-bg)}.pt-action:focus-visible{outline:2px solid var(--pt-accent);outline-offset:2px}.pt-action:disabled{cursor:default}.pt-action>svg,.pt-action>span:not(.pt-sr-only){z-index:1;position:relative}.pt-action>svg{width:13px;height:13px;display:block}.pt-action span:not(.pt-sr-only){max-width:100%;font-family:var(--font-mono);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;overflow:hidden}.pt-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pt-action .pt-sr-only{letter-spacing:0;text-transform:none}.pt-action--primary{background:var(--pt-accent);border-color:var(--pt-accent);color:#fff}.pt-action--primary:hover{background:color-mix(in oklab, var(--pt-accent) 85%, black)}.pt-action--water{--pt-water-blue:oklch(57% .105 232);--pt-water-blue-deep:oklch(48% .11 238);--pt-water-blue-soft:oklch(70% .075 225);isolation:isolate}.pt-action--watering{background:color-mix(in oklab, var(--pt-accent) 76%, var(--pt-water-blue));border-color:color-mix(in oklab, var(--pt-accent) 55%, var(--pt-water-blue));color:#fff}.pt-action--watered{background:var(--pt-water-blue);border-color:color-mix(in oklab, var(--pt-water-blue) 78%, white);color:#fff}.pt-action--watered:hover{background:var(--pt-water-blue-deep)}.pt-action--watered-recent{background:color-mix(in oklab, var(--pt-accent) 68%, var(--pt-water-blue));border-color:var(--pt-water-blue);box-shadow:inset 0 0 0 1px #ffffff52}.pt-action--watered-recent:before{z-index:0;content:"";background:linear-gradient(180deg, color-mix(in oklab, var(--pt-water-blue-soft) 68%, white) 0%, var(--pt-water-blue) 62%, var(--pt-water-blue-deep) 100%);animation:1.25s cubic-bezier(.24,.82,.28,1) forwards pt-water-button-fill;position:absolute;inset:0;transform:translateY(105%)}.pt-action--watering.pt-action--watered-recent:before{background:linear-gradient(180deg, color-mix(in oklab, var(--pt-water-blue-soft) 74%, white) 0%, color-mix(in oklab, var(--pt-water-blue) 82%, white) 58%, var(--pt-water-blue) 100%);animation:.95s cubic-bezier(.24,.82,.28,1) infinite pt-water-button-pour}.pt-action--watered-recent:after{z-index:0;content:"";opacity:0;background:#ffffffb8;border-radius:999px;width:3px;height:3px;animation:1.4s ease-out .12s forwards pt-water-button-bubbles;position:absolute;bottom:7px;right:7px;box-shadow:-9px -7px #ffffff2e,-4px -12px #ffffff42,-14px -1px #ffffff2e}.pt-action--watering.pt-action--watered-recent:after{animation:.9s ease-out infinite pt-water-button-bubbles}@keyframes pt-water-button-fill{0%{transform:translateY(105%)}50%{transform:translateY(18%)}74%{transform:translateY(30%)}to{transform:translateY(0)}}@keyframes pt-water-button-pour{0%{transform:translateY(105%)}70%{transform:translateY(18%)}to{transform:translateY(10%)}}@keyframes pt-water-button-bubbles{0%{opacity:0;transform:translateY(5px)}35%{opacity:.85}to{opacity:0;transform:translateY(-8px)}}@media (hover:hover){.pt-registry__column-header:hover .pt-column-resize-handle:after{opacity:.5;transform:translateY(-50%)scaleY(1)}.pt-column-resize-handle:hover{background-color:color-mix(in oklab, var(--pt-accent-bg) 58%, transparent)}.pt-column-resize-handle:hover:after{background:var(--pt-accent);box-shadow:4px 0 0 var(--pt-accent);opacity:1;transform:translateY(-50%)scaleY(1)}button.pt-row-photo__thumb:hover img{transform:scale(1.05)}button.pt-row-plant__thumb:hover img{transform:scale(1.06)}}@container (width<=760px){.pt-registry--compressed .pt-action{grid-template-rows:13px;block-size:34px;min-block-size:34px}.pt-registry--compressed .pt-action span:not(.pt-sr-only){display:none}.pt-registry--compressed .pt-row-moist{gap:5px}.pt-registry--compressed .pt-row-moist .pt-placeholder{display:none}.pt-registry--compressed .pt-moist__seg{width:5px}}@media (width<=560px){.pt-column-menu__popover{width:auto;max-width:none;max-height:calc(100dvh - 72px - var(--pt-safe-top) - var(--pt-safe-bottom));position:fixed;inset-block-start:calc(56px + var(--pt-safe-top));inset-inline:12px}.pt-location-group th{position:static;top:auto}.pt-location-group__content{flex-direction:column;align-items:flex-start;gap:3px}.pt-location-group__meta{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pt-row-actions{--pt-action-button-width:72px}}@media (pointer:coarse) and (width<=1100px){.pt-mobile-registry__toolbar .pt-column-menu__popover{top:calc(100% + 6px);left:auto;right:0;width:min(250px,100vw - 24px);max-width:calc(100vw - 24px);max-height:min(60dvh,420px);position:absolute;inset-block-start:calc(100% + 6px);inset-inline:auto 0}}@media (pointer:coarse){.pt-registry{padding-inline:var(--pt-safe-left) var(--pt-safe-right);padding-bottom:calc(12px + var(--pt-safe-bottom))}.pt-registry__table td{padding-block:10px}.pt-column-resize-handle{width:44px;right:-22px}.pt-column-resize-handle:after{right:19px}.pt-column-menu__button,.pt-column-menu__option{min-height:44px}.pt-column-menu__option input{width:18px;height:18px}button.pt-row-photo__thumb,button.pt-row-plant__thumb{min-width:min(44px,100%);min-height:44px}.pt-action{block-size:44px;min-block-size:44px}}@media (prefers-reduced-motion:reduce){.pt-column-resize-handle,.pt-column-resize-handle:after,.pt-registry__table tr,.pt-row-photo__thumb img,.pt-row-plant__thumb img,.pt-cadence__fill,.pt-action{transition:none}.pt-registry__column-header:hover .pt-column-resize-handle:after,.pt-registry__column-header.is-resizing .pt-column-resize-handle:after,.pt-column-resize-handle:hover:after,.pt-column-resize-handle:focus-visible:after{transform:translateY(-50%)}button.pt-row-photo__thumb:hover img,button.pt-row-plant__thumb:hover img{transform:none}.pt-action--watered-recent:before,.pt-action--watered-recent:after,.pt-action--watering.pt-action--watered-recent:before,.pt-action--watering.pt-action--watered-recent:after{animation:none}.pt-action--watered-recent:before{transform:translateY(0)}.pt-action--watered-recent:after{opacity:0}}.pt-workspace{box-sizing:border-box;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100%;min-width:0;height:100%;scroll-padding-bottom:calc(16px + var(--pt-safe-bottom));scrollbar-gutter:stable;background:var(--pt-panel);border-left:1px solid var(--pt-rule);font-family:var(--font-sans);color:var(--pt-ink);padding:clamp(12px,5%,20px);overflow:hidden auto;container:workspace-panel/inline-size}.pt-workspace *{box-sizing:border-box}.pt-workspace>*+*{margin-top:18px}.pt-eyebrow{font-family:var(--font-mono);letter-spacing:var(--pt-ls-eyebrow);text-transform:uppercase;color:var(--pt-ink3);font-size:9px;display:block}.pt-mono{font-family:var(--font-mono)}.pt-mute{color:var(--pt-mute)}.pt-ink{color:var(--pt-ink)}.pt-ink2{color:var(--pt-ink2)}.pt-ink3{color:var(--pt-ink3)}.pt-fs-xs{font-size:var(--pt-fs-xs)}.pt-fs-sm{font-size:var(--pt-fs-sm)}.pt-fs-md{font-size:var(--pt-fs-md)}.pt-fs-2xl{font-size:var(--pt-fs-2xl)}.pt-row-between{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;min-width:0;display:flex}.pt-row-between>*{min-width:0}.pt-link{color:var(--pt-accent);font-size:var(--pt-fs-sm);overflow-wrap:anywhere;text-decoration:none}.pt-link:hover{text-decoration:underline}.pt-link:focus-visible{outline:2px solid var(--pt-accent);outline-offset:3px;border-radius:3px}.pt-workspace__header{gap:12px;min-width:0;display:grid}.pt-workspace__heading{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.pt-workspace__heading-text{flex:auto;min-width:0}.pt-workspace__actions{flex:none;align-items:center;gap:6px;display:flex}.pt-workspace__title{font-size:var(--pt-fs-xl);letter-spacing:0;overflow-wrap:anywhere;margin:2px 0 0;font-weight:600}.pt-workspace__title em{color:var(--pt-mute);font-style:italic;font-weight:400}.pt-workspace__tabs{background:var(--pt-bg);border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);flex-wrap:wrap;align-self:flex-start;align-items:center;gap:2px;min-width:0;max-width:100%;padding:3px;display:inline-flex}.pt-workspace__tabs a,.pt-workspace__tabs button{min-width:0;max-width:100%;min-height:28px;font:inherit;font-size:var(--pt-fs-sm);color:var(--pt-mute);cursor:pointer;border-radius:var(--pt-r-sm);overflow-wrap:anywhere;text-align:center;white-space:normal;background:0 0;border:1px solid #0000;flex:0 auto;justify-content:center;align-items:center;padding:4px 10px;line-height:1.2;text-decoration:none;display:inline-flex}.pt-workspace__tabs a:hover,.pt-workspace__tabs button:hover{background:var(--pt-surface,#fff);color:var(--pt-ink)}.pt-workspace__tabs a.is-active,.pt-workspace__tabs button.is-active{color:var(--pt-ink);background:var(--pt-surface,#fff);box-shadow:0 1px 2px #0000000f}.pt-workspace__tabs a:focus-visible,.pt-workspace__tabs button:focus-visible{outline:2px solid var(--pt-accent);outline-offset:2px}.pt-workspace__tabs button:disabled{cursor:not-allowed;opacity:.5}@media (pointer:coarse){.pt-workspace{padding:clamp(12px, 5%, 20px) calc(clamp(12px, 5%, 20px) + var(--pt-safe-right)) calc(clamp(12px, 5%, 20px) + var(--pt-safe-bottom)) calc(clamp(12px, 5%, 20px) + var(--pt-safe-left))}.pt-workspace__tabs a,.pt-workspace__tabs button{touch-action:manipulation;min-height:44px}}.pt-workspace__edit{appearance:none;min-height:28px;font:inherit;font-size:var(--pt-fs-sm);color:var(--pt-ink);border:1px solid var(--pt-rule);border-radius:var(--pt-r-sm);cursor:pointer;white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:4px 12px;display:inline-flex}.pt-workspace__edit:hover{background:var(--pt-bg)}.pt-workspace__edit:focus-visible{outline:2px solid var(--pt-accent);outline-offset:2px}@media (pointer:coarse){.pt-workspace__edit{touch-action:manipulation;min-height:44px}}.pt-workspace__close{appearance:none;width:28px;min-width:28px;max-width:28px;height:28px;color:var(--pt-ink2);border-radius:var(--pt-r-md);box-shadow:none;cursor:pointer;background:0 0;border:1px solid #0000;flex:0 0 28px;place-items:center;margin:0;line-height:0;display:inline-grid;padding:0!important}.pt-workspace__close:hover{color:var(--pt-ink);background:var(--pt-bg);border-color:var(--pt-rule)}.pt-workspace__close:focus-visible{outline:2px solid var(--pt-accent);outline-offset:2px}.pt-workspace__close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:13px;height:13px}@media (pointer:coarse){.pt-workspace__close{touch-action:manipulation;flex-basis:44px;width:44px;min-width:44px;max-width:44px;height:44px}}.pt-workspace__hero{aspect-ratio:4/3;border-radius:var(--pt-r-md);background:var(--pt-bg);width:100%;min-width:0;height:clamp(210px,32vh,320px);min-height:180px;overflow:hidden}@supports (height:1cqi){.pt-workspace__hero{height:clamp(180px,68cqi,320px)}}.pt-workspace__hero-button{border-radius:inherit;cursor:zoom-in;touch-action:manipulation;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;overflow:hidden}.pt-workspace__hero-button:focus-visible{outline:2px solid var(--pt-accent);outline-offset:-2px}.pt-workspace__hero img{object-fit:cover;width:100%;height:100%;display:block}.pt-workspace__hero-button img{transition:transform .18s}@media (hover:hover){.pt-workspace__hero-button:hover img{transform:scale(1.015)}}.pt-workspace__hero-placeholder{background:repeating-linear-gradient(135deg,#d6e5dc 0 12px,#c5d8cd 12px 16px);width:100%;height:100%}.pt-workspace__moisture{gap:8px;min-width:0;display:grid}.pt-workspace__moisture-row{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.pt-moist{align-items:center;gap:1px;max-width:100%;display:inline-flex}.pt-moist__seg{border-radius:1px;width:6px;height:14px;display:inline-block}.pt-moist--lg .pt-moist__seg{width:10px;height:26px}.pt-workspace__stats{background:var(--pt-rule);border:1px solid var(--pt-rule);border-radius:var(--pt-r-md);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.pt-workspace__stats>div{background:var(--pt-panel);overflow-wrap:anywhere;min-width:0;padding:10px 12px;line-height:1.25}.pt-workspace__stats .pt-fs-2xl{max-width:100%;line-height:1.08;display:block}.pt-workspace__ledger{gap:4px;min-width:0;display:grid}.pt-ledger__row{border-bottom:1px solid var(--pt-rule-soft);font-size:var(--pt-fs-sm);grid-template-columns:minmax(76px,.85fr) minmax(48px,.5fr) minmax(0,2fr) minmax(0,.8fr);align-items:start;gap:8px;min-width:0;padding:5px 0;line-height:1.35;display:grid}.pt-ledger__row>*{overflow-wrap:anywhere;word-break:break-word;min-width:0}.pt-ledger__row>:nth-child(4){text-align:right;justify-self:end}.pt-ledger__row:last-child{border-bottom:none}.pt-workspace__archive{gap:8px;min-width:0;display:grid}.pt-workspace__archive-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:6px;min-width:0;display:grid}.pt-workspace__thumb{aspect-ratio:1;border:1px solid var(--pt-rule);border-radius:var(--pt-r-sm);background:var(--pt-bg);cursor:pointer;touch-action:manipulation;width:100%;min-width:0;padding:0;transition:border-color .14s,transform .14s;overflow:hidden}.pt-workspace__thumb--static{cursor:default}.pt-workspace__thumb img{object-fit:cover;width:100%;height:100%;display:block}.pt-workspace__thumb:focus-visible{outline:2px solid var(--pt-accent);outline-offset:2px}@media (hover:hover){.pt-workspace__thumb:not(.pt-workspace__thumb--static):hover{border-color:var(--pt-accent);transform:translateY(-1px)}}@media (width<=560px){.pt-workspace{padding:clamp(12px, 5%, 16px) calc(clamp(12px, 5%, 16px) + var(--pt-safe-right)) calc(clamp(12px, 5%, 16px) + var(--pt-safe-bottom)) calc(clamp(12px, 5%, 16px) + var(--pt-safe-left))}.pt-workspace__hero{height:clamp(170px,58vw,260px);min-height:160px}.pt-workspace__tabs{align-items:stretch;width:100%}.pt-workspace__tabs a{flex:min(130px,100%)}.pt-workspace__stats{grid-template-columns:1fr}.pt-workspace__archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-ledger__row{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:7px 0}.pt-ledger__row>:nth-child(3){grid-column:1/-1}.pt-ledger__row>:last-child{text-align:left;justify-self:start}}@media (width<=1100px){.pt-workspace{border-left:0;border-top:1px solid var(--pt-rule)}}@media (width<=360px){.pt-workspace__tabs a{flex-basis:100%}.pt-ledger__row{grid-template-columns:1fr}.pt-ledger__row>*{grid-column:1}.pt-ledger__row>:nth-child(4){text-align:left;justify-self:start}.pt-workspace__archive-grid{grid-template-columns:1fr}}@container workspace-panel (width<=560px){.pt-workspace__hero{height:clamp(170px,68cqi,280px);min-height:160px}.pt-workspace__tabs{align-items:stretch;width:100%}.pt-workspace__tabs a{flex:min(130px,100%)}.pt-workspace__stats{grid-template-columns:1fr}.pt-workspace__archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-ledger__row{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:7px 0}.pt-ledger__row>:nth-child(3){grid-column:1/-1}.pt-ledger__row>:last-child{text-align:left;justify-self:start}}@container workspace-panel (width<=320px){.pt-workspace__hero{height:clamp(160px,64cqi,205px);min-height:0}.pt-workspace__tabs a{flex-basis:100%}.pt-ledger__row{grid-template-columns:1fr}.pt-ledger__row>*{grid-column:1}.pt-ledger__row>:nth-child(4){text-align:left;justify-self:start}.pt-workspace__archive-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.pt-workspace__hero-button img,.pt-workspace__thumb{transition:none}.pt-workspace__hero-button:hover img,.pt-workspace__thumb:hover{transform:none}}
