:root{--bg:#f6f1e9;--card:#fffdf9;--text:#2e2a24;--muted:#7d7468;--accent:#b5652b;--ok:#3f8a4e;--bad:#b23b3b;--border:#e4dacb;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:720px;margin:0 auto;padding:16px}main.narrow{max-width:380px;padding-top:15vh}h1,h2,h3{margin:0}h2{font-size:1.2rem}p{margin:0}a{color:inherit}.topbar{background:var(--card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.topbar nav{align-items:center;gap:16px;display:flex}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a.active{color:var(--accent);font-weight:600}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}label{color:var(--muted);flex-direction:column;gap:4px;font-size:.9rem;display:flex}label.row{flex-direction:row}fieldset{border:1px solid var(--border);border-radius:8px;padding:12px}legend{color:var(--muted);font-size:.9rem}input,select{font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:16px}input.short{flex:0 0 90px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}button.danger{background:var(--bad)}button.link{color:var(--muted);background:0 0;padding:0}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--bad)}.pill{color:#fff;border-radius:99px;padding:2px 10px;font-size:.8rem}.pill.ok{background:var(--ok)}.pill.bad{background:var(--bad)}figure{margin:0}.frame{background:#ddd;border-radius:8px;width:100%;display:block}.thumbs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.thumb{color:var(--muted);text-align:center;background:0 0;padding:0;font-size:.75rem}button.plain{background:0 0;width:100%;padding:0;display:block}.growth-now{align-items:baseline;gap:10px;display:flex}.growth-value{color:var(--accent);font-size:2.2rem;font-weight:700}.measurement-image{width:100%;line-height:0;position:relative}.measurement-image img{background:#ddd;border-radius:8px;width:100%;display:block}.overlay{pointer-events:none;fill:none;width:100%;height:100%;font-family:inherit;position:absolute;inset:0}.overlay text{fill:#fff;stroke:#000000bf;stroke-width:.25em;paint-order:stroke;font-weight:600}.overlay .scale line{stroke:#fff}.overlay .band{stroke:#ff3cc8}.overlay .top{stroke:#2ee66b}.overlay .top-level{stroke:#2ee66b;stroke-dasharray:1.5em .8em;opacity:.8}.overlay .floor{stroke:#4aa8ff;opacity:.7}.overlay .scale .floor-ref{stroke:#4aa8ff;stroke-dasharray:.6em .6em}.overlay .scale .target{stroke:#ffa630;stroke-dasharray:1em .5em}.overlay .target-label{fill:#ffa630}.overlay .growth-label{fill:#2ee66b}.lightbox{z-index:100;color:#eee;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);touch-action:pan-y;background:#080604f0;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-bar{align-items:center;gap:12px;padding:10px 16px;display:flex}.lightbox-pos{color:#aaa;font-variant-numeric:tabular-nums}.lightbox-close{color:#eee;background:0 0;margin-left:auto;padding:4px 10px;font-size:1.4rem}.lightbox-stage{flex:1;justify-content:center;align-items:center;gap:8px;min-height:0;padding:0 8px;display:flex}.lightbox-stage .measurement-image{width:auto;max-width:calc(100% - 96px)}.lightbox-stage .measurement-image img{width:auto;max-width:100%;max-height:calc(100dvh - 190px)}.lightbox-nav{color:#fff;background:#ffffff1f;flex:none;width:40px;height:64px;padding:0;font-size:2rem;line-height:1}.lightbox-nav:disabled{opacity:.2;cursor:default}.lightbox-footer{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:8px 16px 14px;display:flex}.lightbox-info{color:#aaa;font-size:.85rem}.lightbox-actions{justify-content:center}.lightbox button.secondary{color:#f0c49e;border-color:#f0c49e}@media (max-width:600px){.lightbox-nav{display:none}.lightbox-stage .measurement-image{max-width:100%}}.hint{background:#fff3d6;border-radius:8px;padding:8px 12px}.thumbs img{aspect-ratio:3/4;object-fit:cover;border-radius:6px;width:100%;display:block}.history-item{flex-wrap:nowrap;text-decoration:none}.history-item img{object-fit:cover;border-radius:8px;width:64px;height:64px}.capture{color:#ddd;background:#000;flex-direction:column;gap:12px;max-width:none;min-height:100vh;display:flex}.capture-video{object-fit:contain;background:#111;border-radius:8px;width:100%;max-height:60vh}.capture-panel{flex-direction:column;gap:6px;display:flex}.capture-panel.flipped{transform:rotate(180deg)}.capture-dough{font-size:1.1rem;font-weight:600}.capture-status{font-size:1.4rem}.capture-meta{color:#999;font-size:.9rem}
