:root{--deep:#070707;--deep-2:#0d0d0e;--deep-3:#141416;--line:#ececee1f;--line-strong:#ececee47;--text:#dcdcdf;--muted:#a1a1a7;--platinum:#f0f0f2;--water:#2b3d45;--water-2:#46646c;--water-3:#8fb6c0;--sand:#ebe4d7;--sand-2:#dcd1bd;--sand-ink:#1c1a16;--sand-muted:#575146;--danger:#ff8a7a;--serif:"Cormorant Garamond", "Times New Roman", serif;--sans:"Jost", "Helvetica Neue", Arial, sans-serif;--gutter:16px;--rail:168px;--tap:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--deep);color:var(--text);font:400 17px/1.45 var(--sans);margin:0}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);color:var(--platinum);font-weight:500;line-height:1.1}h1{font-size:2.25rem}h2{font-size:1.5rem}a{color:var(--water-3)}img{max-width:100%;display:block}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--platinum);outline-offset:2px}.muted{color:var(--muted)}.block{display:block}.shell{min-height:100dvh}.main{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.rail{z-index:10;background:var(--deep-2);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.rail a{min-height:60px;color:var(--muted);place-items:center;font-size:.9rem;text-decoration:none;display:grid}.rail a.active{color:var(--platinum);box-shadow:inset 0 2px 0 var(--water-3)}.rail-brand{display:none!important}@media (width>=800px){.rail{width:var(--rail);border-top:0;border-right:1px solid var(--line);flex-direction:column;padding:16px 0;display:flex;inset:0 auto 0 0}.rail a{min-height:var(--tap);justify-items:start;padding:0 20px;font-size:1rem}.rail a.active{box-shadow:inset 2px 0 0 var(--water-3)}.rail-brand{padding-bottom:20px!important;display:block!important}.main{margin-left:var(--rail);padding-bottom:32px}}.page{max-width:960px;padding:20px var(--gutter);margin:0 auto}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-actions{gap:8px;display:flex}.section{margin-top:28px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.btn{min-height:var(--tap);color:var(--text);font:inherit;border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--platinum)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--sand);color:var(--sand-ink);border-color:var(--sand);font-weight:500}.btn-primary:hover{background:var(--sand-2);border-color:var(--sand-2)}.btn-danger{color:var(--danger);border-color:var(--danger)}.field{gap:4px;margin-bottom:14px;display:grid}.field label{color:var(--muted);font-size:.95rem}.field input,.field select,.field textarea,.search{width:100%;min-height:var(--tap);background:var(--deep-3);color:var(--platinum);font:inherit;border:1px solid var(--line-strong);border-radius:6px;padding:8px 12px}.search{margin-bottom:12px}.check{min-height:var(--tap);align-items:center;gap:10px;margin-bottom:6px;display:flex}.check input{width:22px;height:22px;accent-color:var(--water-3)}.form-actions{align-items:center;gap:16px;margin-top:8px;display:flex}.error{color:var(--danger);border-left:2px solid var(--danger);margin:10px 0;padding:10px 12px}.error ul{margin-top:4px;font-size:.95rem}.upload-row{align-items:flex-end;gap:10px;margin-top:12px;display:flex}.upload-row .field{flex:1;margin:0}.badge{border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.85rem;display:inline-block}.badge-water{background:var(--water);border-color:var(--water-2);color:var(--platinum)}.badge-sand{background:var(--sand);border-color:var(--sand);color:var(--sand-ink)}.badge-danger{border-color:var(--danger);color:var(--danger)}.rows li{border-bottom:1px solid var(--line)}.rows li>a,.rows li>div:only-child{min-height:56px;color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;text-decoration:none;display:flex}.rows strong{color:var(--platinum);font-weight:500}.rows.compact li{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.rows.compact li>a,.rows.compact li>div:only-child{min-height:0;padding:0;display:block}.empty{color:var(--muted);justify-items:start;gap:12px;padding:32px 0;display:grid}.sheet-backdrop{z-index:20;background:#0009;align-items:end;display:grid;position:fixed;inset:0}.sheet{max-height:92dvh;padding:16px var(--gutter) calc(20px + env(safe-area-inset-bottom));background:var(--deep-2);border-top:1px solid var(--line-strong);border-radius:12px 12px 0 0;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}@media (width>=800px){.sheet-backdrop{place-items:center}.sheet{border:1px solid var(--line-strong);border-radius:12px;width:520px;padding:20px 24px}}.auth{max-width:380px;padding:12dvh var(--gutter) 40px;gap:16px;margin:0 auto;display:grid}.profile{padding-bottom:32px}.profile-head{max-width:960px;padding:20px var(--gutter) 12px;gap:12px;margin:0 auto;display:grid}.profile-head h1{font-size:clamp(2.5rem,9vw,3.5rem)}.profile-contact{flex-wrap:wrap;gap:8px;display:flex}.profile-contact .btn{flex:1 1 0}.profile-badges{flex-wrap:wrap;gap:6px;display:flex}.profile-badges:empty{display:none}@media (width>=800px){.profile-contact .btn{flex:none;min-width:96px}}.pool-hero{background:linear-gradient(180deg, var(--water-2), var(--deep));height:clamp(240px,52vw,460px);position:relative;overflow:hidden}.pool-hero img{object-fit:cover;width:100%;height:100%;-webkit-mask-image:linear-gradient(#000 62%,#0000);mask-image:linear-gradient(#000 62%,#0000)}.pool-hero-empty{background:linear-gradient(180deg, var(--water), var(--deep));height:72px}.pool-body{max-width:960px;padding:0 var(--gutter);margin:-48px auto 0;position:relative}.pool-hero-empty+.pool-body{margin-top:-16px}.pool-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:20px;display:flex}.access-tag{background:var(--sand);color:var(--sand-ink);border-radius:4px;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:14px 16px;display:grid}.access-tag p+p{margin-top:4px}.access-tag small{color:var(--sand-muted);font-size:.85rem;display:block}.access-tag .gate strong{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:2rem;font-weight:600;line-height:1.1;display:block}.specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:16px 0 0;display:grid}.specs dt{color:var(--muted);font-size:.9rem}.specs dd{color:var(--platinum);margin:0}@media (width>=800px){.specs{grid-template-columns:repeat(4,minmax(0,1fr))}}.profile-rest{max-width:960px;padding:0 var(--gutter);margin:0 auto}.profile-more{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}@media (prefers-reduced-motion:no-preference){.sheet{animation:.18s cubic-bezier(.16,1,.3,1) rise}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}}.prewrap{white-space:pre-wrap}.quick-log{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}@media (width>=800px){.quick-log{grid-template-columns:repeat(4,max-content)}}.timeline li{border-bottom:1px solid var(--line);padding:10px 0}.timeline-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;font-size:.9rem;display:flex}.rows.compact li>.btn{flex:none}.board{grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.board h2{margin-bottom:8px;font-size:1.2rem}.board-card{background:var(--deep-3);border:1px solid var(--line);color:inherit;border-radius:6px;gap:2px;margin-bottom:8px;padding:10px 12px;text-decoration:none;display:grid}.board-card strong{color:var(--platinum);font-weight:500}.inbox-card{background:var(--deep-2);border:1px solid var(--line);border-radius:6px;margin-bottom:20px;overflow:hidden}.inbox-card img{object-fit:cover;width:100%;max-height:260px}.inbox-body{gap:6px;padding:14px 16px;display:grid}.inbox-message{border-left:2px solid var(--water-2);white-space:pre-wrap;padding-left:10px}.inbox-choices{gap:8px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 12px 10px 0}th{color:var(--muted);font-weight:400}.readings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;display:grid}@media (width>=800px){.readings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.photo-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;display:grid}.photo-grid img{aspect-ratio:1;object-fit:cover;width:100%}.sticky-action{bottom:calc(68px + env(safe-area-inset-bottom));background:var(--deep);padding:12px 0;position:sticky}.sticky-action .btn{width:100%}@media (width>=800px){.sticky-action{bottom:0}.sticky-action .btn{width:auto}}.chart{margin:8px 0 0}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart-line{fill:none;stroke:var(--water-3);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--water-3);stroke:var(--deep);stroke-width:2px}.chart-target{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:4 4}.chart-label{fill:var(--platinum);font-size:14px}.chart figcaption{margin-top:4px;font-size:.9rem}.chart details{color:var(--muted);margin-top:6px;font-size:.95rem}.chart summary{min-height:var(--tap);cursor:pointer;align-items:center;display:flex}.q-title{width:100%;min-height:var(--tap);border:0;border-bottom:1px solid var(--line-strong);color:var(--platinum);font:500 1.6rem var(--serif);background:0 0}.q-section{margin-top:24px}.q-section-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.q-section-title{min-height:var(--tap);border:0;border-bottom:1px solid var(--line);color:var(--platinum);font:500 1.25rem var(--serif);background:0 0;flex:1}.q-line{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:6px;padding:10px 0;display:grid}.q-line input:not([type=checkbox]),.q-milestone input,.q-milestone select,.q-add select,.q-rates input,.q-actions input{width:100%;min-height:var(--tap);background:var(--deep-3);color:var(--platinum);font:inherit;border:1px solid var(--line-strong);border-radius:6px;padding:6px 10px}.q-desc{grid-column:1/-1}.q-flags{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:4px 14px;display:flex}.q-flags .check{margin:0}.q-add{grid-template-columns:auto 1fr;gap:8px;margin-top:10px;display:grid}.q-rates{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.q-totals{background:var(--deep-2);border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr auto;gap:4px 16px;margin:16px 0 0;padding:14px 16px;display:grid}.q-totals dd{text-align:right;color:var(--platinum);font-variant-numeric:tabular-nums;margin:0}.q-total{font:500 1.8rem var(--serif);color:var(--platinum)}.q-milestone{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:6px;padding:8px 0;display:grid}.q-terms{background:var(--deep-3);width:100%;color:var(--platinum);font:inherit;border:1px solid var(--line-strong);border-radius:6px;padding:8px 12px}.q-actions{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}@media (width>=800px){.q-line{grid-template-columns:1fr 72px 88px 110px}.q-desc{grid-column:auto}.q-milestone{grid-template-columns:1fr 1fr 80px 110px auto}}.notice{background:var(--water);border:1px solid var(--water-2);color:var(--platinum);border-radius:6px;padding:12px 14px;text-decoration:none;display:block}.shell-search{top:14px;right:var(--gutter);z-index:5;min-height:44px;color:var(--muted);align-items:center;text-decoration:none;display:flex;position:absolute}.main{position:relative}.page-head{padding-right:64px}.rows.compact li>a{flex:1}html,body{overflow-x:clip}.page-head{flex-wrap:wrap}.page-actions{flex-wrap:wrap;align-items:center}.page-head h1{overflow-wrap:anywhere;min-width:0}.badge{flex:none}.q-section-title,.q-desc,.q-line input{min-width:0}.q-section-head .btn{flex:none;padding:0 10px;font-size:.9rem}.q-add{grid-template-columns:auto minmax(0,1fr)}.q-add select,.q-milestone>*{min-width:0}.q-line{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width>=800px){.q-line{grid-template-columns:minmax(0,1fr) 72px 88px 110px}}
