@font-face{font-family:DotGothic16;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/DotGothic16-400-latin-BYJEY5oh.woff2)format("woff2")}:root{--font-display:"DotGothic16", system-ui, monospace;--font-body:"DotGothic16", system-ui, monospace;--primary:#ff7a3d;--on-primary:#201e2b;--secondary:#f04da0;--on-secondary:#201e2b;--accent:#2f5be8;--accent-strong:#2448b8;--on-accent:#fffdf6;--text:#201e2b;--text-dim:#57536b;--bg:#fdf6e3;--card:#fffdf6;--muted:#f3ecd8;--border:#2a2740;--border-strong:#201e2b;--error-bg:#fdebea;--error-border:#e5484d;--error-text:#b3261e;--warn-bg:#fff4d6;--warn-border:#f5a623;--warn-text:#8a5b16;--good:#157a42;--bad:#b3261e;--ring:#c2410c;--topbar-bg:var(--bg);--topbar-bg-scrolled:var(--bg);--topbar-blur:none;--hairline:#d9d2bf;--spring-crit:cubic-bezier(.22, 1, .36, 1);--spring-pop:cubic-bezier(.34, 1.3, .64, 1);--dur-press:50ms;--dur-fast:.12s;--dur-spring:.3s;--dur-panel:.35s;--dur-pulse:.3s;--dur-chrome:.25s;--dur-flash:.2s;--shadow-ink:#201e2b;--shadow-card:0 0 0 0 #201e2b00;--shadow-card-hover:6px 6px 0 0 var(--shadow-ink);--shadow-btn:4px 4px 0 0 var(--shadow-ink);--shadow-topbar:0 3px 0 0 var(--shadow-ink);--shadow-popover:8px 8px 0 0 var(--shadow-ink);--shadow-sheet:10px 10px 0 0 var(--shadow-ink);--scrim:#18152280;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-pill:0;--type-display-size:1.7rem;--type-display-leading:1.15;--type-display-tracking:.01em;--type-display-weight:400;--type-figure-size:1.5rem;--type-figure-leading:1.2;--type-figure-tracking:.01em;--type-figure-weight:400;--type-title-size:1.35rem;--type-title-leading:1.25;--type-title-tracking:.01em;--type-title-weight:400;--type-heading-size:1.1rem;--type-heading-leading:1.3;--type-heading-tracking:.01em;--type-heading-weight:400;--type-body-size:.95rem;--type-body-leading:1.55;--type-footnote-size:.8rem;--type-footnote-leading:1.45;--type-caption-size:.78rem;--type-caption-leading:1.4;--type-caption-tracking:.08em;--type-caption2-size:.75rem;--type-caption2-leading:1.35;font-family:var(--font-body);line-height:var(--type-body-leading);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}@media (prefers-color-scheme:dark){:root{--primary:#ff8a50;--on-primary:#17141f;--secondary:#ff7ac2;--on-secondary:#17141f;--accent:#6fa8ff;--accent-strong:#93bcff;--on-accent:#17141f;--text:#f2ede4;--text-dim:#a9a2bc;--bg:#17141f;--card:#221d2e;--muted:#2b2540;--border:#3e3654;--border-strong:#514874;--error-bg:#33202b;--error-border:#7a2e3e;--error-text:#ffa9b0;--warn-bg:#2e2617;--warn-border:#6b531f;--warn-text:#f0d488;--good:#4ade80;--bad:#ffa9b0;--ring:#ff8a50;--hairline:#39314f;--shadow-ink:#000;--shadow-card-hover:6px 6px 0 0 var(--shadow-ink);--shadow-btn:4px 4px 0 0 var(--shadow-ink);--shadow-topbar:0 3px 0 0 var(--shadow-ink);--shadow-popover:8px 8px 0 0 var(--shadow-ink);--shadow-sheet:10px 10px 0 0 var(--shadow-ink);--scrim:#0009}}@media (prefers-contrast:more){:root{--text-dim:#3d3950;--border:#201e2b;--border-strong:#000;--hairline:#b5ac94}}@media (prefers-color-scheme:dark) and (prefers-contrast:more){:root{--text-dim:#c9c2dc;--border:#5a4f7e;--border-strong:#75689f;--hairline:#4d4466}}*{box-sizing:border-box}body{min-height:100vh;font-size:var(--type-body-size);margin:0}button,input,select{font:inherit}:where(button,a,input,select):focus-visible{outline:3px solid var(--ring);outline-offset:3px}.btn,.topnav a,.when-chip,.year-chip,.seg button,.mode-switch button,.pet-mini-card,.pet-card-row{transition:transform var(--dur-spring) var(--spring-crit), background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease}.btn:active:not(:disabled),.topnav a:active,.when-chip:active,.year-chip:active,.seg button:active,.mode-switch button:active,.pet-mini-card:active,.pet-card-row:active{transition:transform var(--dur-press) ease-out, background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease;transform:scale(.96)}.pet-mini-card:active{transform:scale(.985)translateY(-1px)}.pet-card-row:active{transform:scale(.99)}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{background:var(--card);border:3px solid var(--border);width:100%;max-width:24rem;box-shadow:var(--shadow-card);animation:auth-card-in .5s var(--spring-crit) both;border-radius:0;padding:2rem 2rem 2.25rem}@keyframes auth-card-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.auth-card header h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.9rem}.auth-card .dot{color:var(--primary)}.auth-card .tagline{color:var(--text-dim);margin:.25rem 0 1.75rem;font-size:.95rem}.google-form{margin:0}.btn{cursor:pointer;text-align:center;border:2px solid #0000;border-radius:0;padding:.5rem 1rem;font-size:.95rem;font-weight:400;text-decoration:none;display:inline-block}.btn:disabled{opacity:.55;cursor:not-allowed}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/Roboto-Medium-latin-B7IAkQ6t.woff2)format("woff2")}.btn-google{appearance:none;color:#1f1f1f;cursor:pointer;letter-spacing:.25px;text-align:center;white-space:nowrap;vertical-align:middle;width:100%;min-width:min-content;max-width:400px;height:40px;transition:background-color .218s, border-color .218s, box-shadow .218s, transform var(--dur-spring) var(--spring-crit);background-color:#fff;background-image:none;border:1px solid #747775;border-radius:4px;padding:0 12px;font-family:Roboto,Arial,sans-serif;font-size:14px;position:relative;overflow:hidden}.btn-google:active:not(:disabled){transition:transform var(--dur-press) ease-out, background-color .218s, border-color .218s, box-shadow .218s;transform:scale(.97)}.btn-google-content{flex-wrap:nowrap;justify-content:space-between;align-items:center;width:100%;height:100%;display:flex}.btn-google-icon{align-items:center;width:20px;min-width:20px;height:20px;margin-right:12px;display:flex}.btn-google-icon svg{width:20px;height:20px;display:block}.btn-google-label{text-overflow:ellipsis;vertical-align:top;flex-grow:1;font-weight:500;overflow:hidden}.btn-google-state{opacity:0;transition:opacity .218s;position:absolute;inset:0}.btn-google:disabled{cursor:default;background-color:#ffffff61;border-color:#1f1f1f1f}.btn-google:disabled .btn-google-label,.btn-google:disabled .btn-google-icon{opacity:.38}.btn-google:not(:disabled):hover,.btn-google:not(:disabled):focus,.btn-google:not(:disabled):active{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.btn-google:not(:disabled):hover .btn-google-state{opacity:.08;background-color:#303030}.btn-google:not(:disabled):focus .btn-google-state{opacity:.12;background-color:#303030}.btn-google:not(:disabled):active .btn-google-state{opacity:.16;background-color:#303030}@media (prefers-color-scheme:dark){.btn-google{color:#e3e3e3;background-color:#131314;border-color:#8e918f}.btn-google:disabled{background-color:#13131461;border-color:#8e918f1f}.btn-google:not(:disabled):hover .btn-google-state,.btn-google:not(:disabled):focus .btn-google-state,.btn-google:not(:disabled):active .btn-google-state{background-color:#e3e3e3}}.btn-primary{background:var(--accent);color:var(--on-accent);border:3px solid var(--accent-strong);box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-ghost{border:3px solid var(--border);color:var(--text-dim);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.btn-danger{border-color:var(--error-border);color:var(--error-text);background:0 0}.btn-danger:hover:not(:disabled){background:var(--error-bg)}.divider{color:var(--text-dim);align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}.mode-switch{border:3px solid var(--border);border-radius:0;grid-template-columns:1fr 1fr;margin-bottom:1.25rem;display:grid;overflow:hidden}.mode-switch button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:.5rem .75rem}.mode-switch button.active{background:var(--accent);color:var(--on-accent)}.credentials-form{flex-direction:column;gap:.9rem;display:flex}.credentials-form label{color:var(--text-dim);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.credentials-form input{border:3px solid var(--border);background:var(--bg);color:var(--text);border-radius:0;padding:.5rem .65rem}.credentials-form input:focus{outline:3px solid var(--ring);outline-offset:-2px}.form-error{background:var(--error-bg);border:2px solid var(--error-border);color:var(--error-text);border-radius:0;margin:0;padding:.6rem .75rem;font-size:.9rem}.form-info{background:var(--info-bg,#eaf2ff);border:2px solid var(--info-border,#b9d8fa);color:var(--info-text,#1e3a8a);border-radius:0;margin:0;padding:.6rem .75rem;font-size:.9rem}.forgot-link{margin:.2rem 0 0;font-size:.85rem}.forgot-link a{color:var(--accent);text-decoration:none}.forgot-link a:hover{text-decoration:underline}.password-field{gap:.5rem;display:flex}.password-field input{flex:1}.password-toggle{flex-shrink:0;align-self:stretch;padding:0 .75rem;font-size:.85rem}.boot{min-height:100vh;color:var(--text-dim);justify-content:center;align-items:center;display:flex}.dashboard{z-index:1;max-width:72rem;margin:0 auto;padding:1.5rem 1.25rem 3rem;position:relative}.topbar{z-index:20;background:var(--topbar-bg);-webkit-backdrop-filter:var(--topbar-blur);backdrop-filter:var(--topbar-blur);transition:background-color var(--dur-chrome) ease, box-shadow var(--dur-chrome) ease;border-bottom:1px solid #0000;position:sticky;top:0}.topbar:after{content:"";background:linear-gradient(to bottom, var(--topbar-bg-scrolled) 0%, var(--hairline) 35%, transparent 100%);opacity:0;pointer-events:none;height:.625rem;transition:opacity var(--dur-chrome) ease;position:absolute;bottom:-.625rem;left:0;right:0}.topbar.scrolled{background:var(--topbar-bg-scrolled);box-shadow:var(--shadow-topbar)}.topbar.scrolled:after{opacity:1}.topbar-inner{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;max-width:72rem;margin:0 auto;padding:.6rem 1.25rem .55rem;display:flex}.brand{font-family:var(--font-display);font-size:var(--type-display-size);font-weight:var(--type-display-weight);letter-spacing:var(--type-display-tracking);line-height:var(--type-display-leading);color:var(--text);text-decoration:none}.brand .dot{color:var(--primary)}.topnav{gap:.25rem;display:flex}.topnav a{color:var(--text-dim);font-size:var(--type-body-size);border:3px solid #0000;border-radius:0;padding:.4rem .75rem;text-decoration:none}.topnav a:hover{color:var(--text);border-color:var(--border)}.topnav a.active{color:var(--bg);background:var(--text);border-color:var(--text);font-weight:400}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}@media (width<=640px){.topbar-inner{gap:.45rem .75rem;padding:.5rem 1rem .45rem}.brand{font-size:.95rem}.topbar-actions{display:contents}.pet-switcher{order:2;gap:.3rem;margin-left:auto;padding:.2rem .35rem .2rem .45rem}.pet-switcher-name{text-overflow:ellipsis;white-space:nowrap;max-width:5rem;overflow:hidden}.userbox{order:3;gap:0;margin-left:0}.userbox .btn{padding:.3rem .55rem}.topnav{order:5;gap:.1rem}.topnav a{font-size:var(--type-footnote-size);padding:.3rem}.topbar-actions .btn{font-size:var(--type-footnote-size);order:4;margin-left:auto;padding:.35rem .6rem}}@media (width<=360px){.brand{font-size:.8rem}.pet-switcher-name{max-width:3.5rem}.userbox .btn,.topbar-actions .btn{font-size:var(--type-caption2-size);padding:.3rem .4rem}.topnav a{font-size:var(--type-caption2-size);padding:.2rem .12rem}}.pet-switcher{background:var(--card);border:3px solid var(--border);color:var(--text);font:inherit;font-size:var(--type-body-size);cursor:pointer;border-radius:0;align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .6rem;display:flex}.pet-switcher:hover{border-color:color-mix(in srgb, var(--border) 55%, var(--text-dim))}.pet-switcher:focus-visible{outline:3px solid var(--ring);outline-offset:-2px}.pet-switcher-chevron{color:var(--text-dim);transition:transform var(--dur-fast) ease;display:inline-flex}.pet-switcher[aria-expanded=true] .pet-switcher-chevron{transform:rotate(180deg)}@keyframes switcher-pulse{0%{transform:scale(1)}35%{transform:scale(.92)}to{transform:scale(1)}}.pet-switcher.pulse{animation:switcher-pulse var(--dur-pulse) var(--spring-pop)}.pet-menu{z-index:35;background:var(--card);border:3px solid var(--border);min-width:12rem;max-width:calc(100vw - 2rem);max-height:20rem;box-shadow:var(--shadow-popover);opacity:0;animation:pet-menu-in var(--dur-spring) var(--spring-crit) both;will-change:transform, opacity;border-radius:0;outline:none;margin:0;padding:.35rem;list-style:none;position:fixed;overflow-y:auto;transform:scale(.92)}.pet-menu:before,.pet-menu:after{content:"";z-index:1;pointer-events:none;opacity:0;height:1.25rem;transition:opacity var(--dur-fast) ease;position:absolute;left:0;right:0}.pet-menu:before{background:linear-gradient(to bottom, var(--card), transparent);border-radius:0 11px 0 0;top:0}.pet-menu:after{background:linear-gradient(to top, var(--card), transparent);border-radius:0 0 11px 11px;bottom:0}.pet-menu.fades-top:before,.pet-menu.fades-bottom:after{opacity:1}.pet-menu.out{animation:pet-menu-out var(--dur-fast) ease-out both}@keyframes pet-menu-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pet-menu-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.pet-option{cursor:pointer;font-size:var(--type-body-size);color:var(--text);border-radius:0;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.pet-option:hover{background:var(--bg)}.pet-option:focus-visible{background:var(--bg);outline:3px solid var(--ring);outline-offset:-2px}.pet-option-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pet-option.selected .pet-option-name{font-weight:400}.pet-option-check{color:var(--accent);opacity:0;transition:opacity var(--dur-fast) ease, transform var(--dur-fast) ease;flex-shrink:0;transform:scale(.6)}.pet-option.selected .pet-option-check{opacity:1;transform:scale(1)}.userbox{align-items:center;gap:.75rem;display:flex}.user-pill{background:var(--card);border:3px solid var(--border);color:var(--text);font-size:var(--type-footnote-size);border-radius:0;align-items:center;gap:.45rem;padding:.25rem .6rem .25rem .3rem;font-weight:400;line-height:1.3;display:inline-flex}.user-avatar{background:var(--accent);min-width:1.15rem;height:1.15rem;color:var(--on-accent);font-size:var(--type-caption2-size);justify-content:center;align-items:center;font-weight:400;display:inline-flex}.username{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}@media (width<=640px){.user-pill{display:none}}.banner{background:var(--error-bg);border:2px solid var(--error-border);color:var(--error-text);animation:banner-in var(--dur-spring) var(--spring-crit) both;border-radius:0;margin-bottom:1rem;padding:.7rem 1rem}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.field-error{color:var(--error-text);font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);animation:banner-in var(--dur-fast) ease-out both;display:block}.entry-edit .field-error,.rename-form .field-error{flex-basis:100%}.banner-info{background:var(--info-bg,#eaf5ff);border-color:var(--info-border,#b7d9f7);color:var(--info-text,#0c4a6e)}.pet-dot{background:var(--accent);border-radius:0;flex-shrink:0;width:.55rem;height:.55rem;display:inline-block}.workspace{display:block}.view{animation:view-in-forward var(--dur-spring) var(--spring-crit) both;will-change:transform, opacity}.view.view-back{animation-name:view-in-back}@keyframes view-in-forward{0%{opacity:0;transform:translate(28px)scale(.992)}to{opacity:1;transform:none}}@keyframes view-in-back{0%{opacity:0;transform:translate(-28px)scale(.992)}to{opacity:1;transform:none}}.rename-form input{border:3px solid var(--border);background:var(--bg);color:var(--text);border-radius:0;padding:.5rem .65rem}.overview{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem;display:grid}.pet-mini-card{background:var(--card);border:3px solid var(--border);box-shadow:var(--shadow-card);color:var(--text);border-radius:0;flex-direction:column;gap:.6rem;padding:1.1rem 1.25rem .85rem;text-decoration:none;display:flex}.pet-mini-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card-hover);transition:transform var(--dur-spring) var(--spring-crit), border-color var(--dur-fast) ease, box-shadow var(--dur-flash) ease, background-color var(--dur-fast) ease, color var(--dur-fast) ease;transform:translateY(-2px)}.pet-mini-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.pet-mini-name{min-width:0;font-size:var(--type-heading-size);font-weight:var(--type-heading-weight);letter-spacing:var(--type-heading-tracking);line-height:var(--type-heading-leading);align-items:center;gap:.5rem;display:inline-flex}.pet-mini-name-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pet-mini-name .pet-dot{vertical-align:.05em;margin-right:.45rem}.pet-mini-latest{white-space:nowrap;flex-direction:column;align-items:flex-end;display:flex}.pet-mini-weight{font-size:var(--type-heading-size);font-weight:var(--type-figure-weight);letter-spacing:var(--type-figure-tracking);line-height:var(--type-heading-leading);font-variant-numeric:tabular-nums}.pet-mini-when{font-size:var(--type-caption2-size);line-height:var(--type-caption2-leading);color:var(--text-dim)}.pet-mini-chart{height:5.5rem}.pet-mini-meta{justify-content:space-between;align-items:center;gap:.75rem;min-height:1.5rem;display:flex}.pet-mini-change{font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);font-variant-numeric:tabular-nums;color:var(--text-dim);font-weight:400}.pet-mini-change.good{color:var(--good)}.pet-mini-change.bad{color:var(--bad)}.target-chip-mini{font-size:var(--type-caption-size);line-height:var(--type-caption-leading);padding:.15rem .6rem}.pet-mini-empty{font-size:var(--type-body-size);margin:0}.overlay-card{margin-top:1.25rem}.pet-chips{flex-wrap:wrap;gap:.5rem;display:flex}.pet-chip{border:3px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);cursor:pointer;border-radius:0;align-items:center;gap:.4rem;padding:.25rem .7rem;display:inline-flex}.pet-chip:hover:not(:disabled){border-color:var(--accent)}.pet-chip.off{opacity:.45}.pet-chip:disabled{opacity:.45;cursor:not-allowed}.pet-chip-dot{border-radius:0;width:.55rem;height:.55rem}.preset-chips{gap:.25rem;display:flex}.preset-chip{border:3px solid var(--border);background:var(--bg);color:var(--text-dim);font:inherit;font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);cursor:pointer;border-radius:0;padding:.3rem .6rem}.preset-chip:hover{border-color:var(--accent)}.preset-chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.overlay-chart{outline:none;height:21rem}.pet-badge{background:var(--card);border:3px solid var(--badge-hue,var(--border-strong));width:2.5rem;height:2.5rem;color:var(--badge-ink,var(--text));font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;font-weight:400;line-height:1;display:inline-flex}@media (prefers-color-scheme:dark){.pet-badge{color:var(--badge-hue,var(--text))}}.pet-card-row .pet-badge{width:2.25rem;height:2.25rem;font-size:.95rem}.pet-detail-head .pet-badge{width:3.5rem;height:3.5rem;font-size:1.5rem}.soul-celebration{z-index:30;pointer-events:none;position:fixed;inset:0;overflow:hidden}.soul-celebration canvas{display:block}.soul-ambient{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.soul-ambient canvas{display:block}.rename-form{gap:.5rem;display:flex}.stats{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.stat{background:var(--bg);border:3px solid var(--border);border-radius:0;flex-direction:column;flex:7rem;gap:.15rem;padding:.6rem .8rem;display:flex}.stat-label{font-size:var(--type-caption-size);line-height:var(--type-caption-leading);text-transform:uppercase;letter-spacing:var(--type-caption-tracking);color:var(--text-dim);white-space:nowrap}.stat-value{font-size:var(--type-figure-size);font-weight:var(--type-figure-weight);letter-spacing:var(--type-figure-tracking);line-height:var(--type-figure-leading);font-variant-numeric:tabular-nums}.stat-change-card{flex-grow:1.4;justify-content:space-between;gap:.3rem}.stat-change{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.stat-change-label{font-size:var(--type-caption-size);line-height:var(--type-caption-leading);text-transform:uppercase;letter-spacing:var(--type-caption-tracking);color:var(--text-dim)}.stat-change-value{font-size:var(--type-body-size);font-variant-numeric:tabular-nums;color:var(--text-dim);font-weight:400}.stat-change.good .stat-change-value{color:var(--good)}.stat-change.bad .stat-change-value{color:var(--bad)}.entry-edit input{border:3px solid var(--border);background:var(--bg);color:var(--text);border-radius:0;padding:.45rem .6rem}.entry-edit input:focus{outline:3px solid var(--ring);outline-offset:-2px}.weigh-in-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:1.25rem;display:grid}@media (width<=52rem){.weigh-in-layout{grid-template-columns:minmax(0,1fr)}}.card{background:var(--card);border:3px solid var(--border);box-shadow:var(--shadow-card);border-radius:0;padding:1.5rem}.card h2{font-size:var(--type-title-size);font-weight:var(--type-title-weight);letter-spacing:var(--type-title-tracking);line-height:var(--type-title-leading);flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:0 0 1rem;display:flex}.quick-add-form{flex-direction:column;gap:1rem;display:flex}.weight-field{font-size:var(--type-body-size);color:var(--text-dim);flex-direction:column;gap:.35rem;display:flex}.weight-field input{font-family:var(--font-display);font-size:var(--type-display-size);letter-spacing:var(--type-figure-tracking);border:3px solid var(--border);background:var(--bg);color:var(--text);border-radius:0;padding:.6rem .75rem;font-weight:400}.weight-field input:focus,.notes-field input:focus,.when-pick input:focus{outline:3px solid var(--ring);outline-offset:-2px}.when-field{flex-direction:column;gap:.35rem;display:flex}.when-label{font-size:var(--type-body-size);color:var(--text-dim)}.when-now{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.when-chip{border:3px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:var(--type-body-size);cursor:pointer;border-radius:0;padding:.35rem .8rem}.when-pick{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.when-pick input{border:3px solid var(--border);background:var(--bg);color:var(--text);border-radius:0;padding:.45rem .6rem}.notes-field{font-size:var(--type-body-size);color:var(--text-dim);flex-direction:column;gap:.35rem;display:flex}.notes-field .optional{font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);opacity:.75}.notes-field input{border:3px solid var(--border);background:var(--bg);color:var(--text);border-radius:0;padding:.45rem .6rem}.quick-add-submit{font-size:var(--type-body-size);align-self:flex-start;padding:.7rem 1.6rem;font-weight:400}.save-flash{font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);color:var(--accent);animation:save-flash-in var(--dur-flash) ease-out;font-weight:400}@keyframes save-flash-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.history-count{font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);color:var(--text-dim);font-weight:400}.show-more{margin-top:.75rem}.inline-link{color:var(--accent)}.entry-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.entry-list li{border-bottom:1px solid var(--border)}.entry-list li:last-child{border-bottom:none}.entry-row{flex-wrap:wrap;align-items:center;gap:.9rem;padding:.65rem .25rem;display:flex}.entry-weight{min-width:4.5rem;font-weight:400}.entry-when{color:var(--text-dim);font-size:var(--type-body-size);min-width:11rem}.entry-notes{color:var(--text-dim);font-size:var(--type-body-size);flex:1}.entry-actions{gap:.4rem;margin-left:auto;display:flex}.entry-edit{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem .25rem;display:flex}.muted{color:var(--text-dim)}.settings-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1.25rem;display:grid}@media (width<=52rem){.settings-layout{grid-template-columns:minmax(0,1fr)}}.pet-list{flex-direction:column;display:flex}.pet-card{border-top:1px solid var(--border)}.pet-card-row{width:100%;color:var(--text);cursor:pointer;text-align:left;font-size:var(--type-body-size);background:0 0;border:none;border-radius:0;align-items:center;gap:.65rem;padding:.85rem .5rem;display:flex}.pet-card-row:hover{background:var(--bg)}.pet-card-name{font-size:var(--type-heading-size);font-weight:var(--type-heading-weight);letter-spacing:var(--type-heading-tracking);line-height:var(--type-heading-leading)}.pet-species-label{font-size:var(--type-caption-size);line-height:var(--type-caption-leading);text-transform:uppercase;letter-spacing:var(--type-caption-tracking);color:var(--text-dim);font-weight:400}.pet-chevron{color:var(--text-dim);transition:transform var(--dur-spring) var(--spring-crit);margin-left:auto;display:inline-flex}.pet-card.open .pet-chevron{transform:rotate(180deg)}.pet-card-panel{transition:grid-template-rows var(--dur-panel) var(--spring-crit);grid-template-rows:0fr;display:grid}.pet-card.open .pet-card-panel{grid-template-rows:1fr}.pet-card-panel-inner{min-height:0;overflow:hidden}.pet-card-body{flex-direction:column;gap:.85rem;padding:0 .5rem 1.1rem;display:flex}.pet-card-heading{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.pet-name{font-size:var(--type-title-size);font-weight:var(--type-title-weight);letter-spacing:var(--type-title-tracking);line-height:var(--type-title-leading);margin:0}.pet-actions{gap:.5rem;margin-left:auto;display:flex}.pet-edit-form,.add-pet-form{flex-direction:column;gap:.75rem;display:flex}.pet-field{font-size:var(--type-body-size);color:var(--text-dim);flex-direction:column;gap:.35rem;display:flex}.pet-field .optional{font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);opacity:.75}.pet-field input,.pet-field select{border:3px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:0;padding:.45rem .6rem}.pet-field input:focus,.pet-field select:focus{outline:3px solid var(--ring);outline-offset:-2px}.pet-save-row{align-items:center;gap:.75rem;display:flex}.onboarding{max-width:30rem;margin:2rem auto}.onboarding h2{font-family:var(--font-display);font-size:var(--type-display-size);font-weight:var(--type-display-weight);letter-spacing:var(--type-display-tracking);line-height:var(--type-display-leading)}.view-placeholder{background:var(--card);border:3px solid var(--border);box-shadow:var(--shadow-card);border-radius:0;padding:2rem 1.5rem}.view-placeholder h2{font-size:var(--type-title-size);font-weight:var(--type-title-weight);letter-spacing:var(--type-title-tracking);line-height:var(--type-title-leading);margin:0 0 .5rem}.view-placeholder p{color:var(--text-dim);max-width:40rem;margin:.25rem 0 1rem}.view-placeholder p:last-child{margin-bottom:0}.pet-detail{flex-direction:column;gap:1.25rem;display:flex}.pet-detail-back{font-size:var(--type-body-size);align-self:flex-start;align-items:center;gap:.4rem;padding:.3rem .75rem;display:inline-flex}.pet-detail-head{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.pet-detail-head .pet-dot{width:.7rem;height:.7rem}.pet-detail-title{flex:1;min-width:12rem}.pet-detail-title .pet-name{font-family:var(--font-display);font-size:var(--type-display-size);font-weight:var(--type-display-weight);letter-spacing:var(--type-display-tracking);line-height:var(--type-display-leading)}.pet-detail-species{font-size:var(--type-caption-size);line-height:var(--type-caption-leading);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--type-caption-tracking);vertical-align:middle;font-weight:400}.pet-detail-notes{color:var(--text-dim);font-size:var(--type-body-size);margin:.25rem 0 0}.target-chip{background:var(--bg);border:3px solid var(--border);font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:0;padding:.3rem .8rem}.pet-detail-empty p{color:var(--text-dim)}.chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.5rem;display:flex}.chart-toolbar h2{margin:0}.chart-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.control-group{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.seg{border:3px solid var(--border);border-radius:0;display:inline-flex;overflow:hidden}.seg button{color:var(--text-dim);font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);cursor:pointer;background:0 0;border:none;padding:.35rem .7rem}.seg button+button{border-left:1px solid var(--border)}.seg button.active{background:var(--accent);color:var(--on-accent)}.year-chips{flex-wrap:wrap;gap:.5rem;display:flex}.year-chip{border:3px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);cursor:pointer;border-radius:0;align-items:center;gap:.4rem;padding:.25rem .7rem;display:inline-flex}.year-chip:hover{border-color:var(--accent)}.year-chip.off{opacity:.45}.year-dot{background:var(--accent);border-radius:0;width:.55rem;height:.55rem}.reset-zoom{font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);padding:.3rem .75rem}.pet-detail-chart{outline:none;height:24rem}.yoy-chart{height:16rem}.chart-hint{font-size:var(--type-footnote-size);line-height:var(--type-footnote-leading);margin:.5rem 0 0}@media (prefers-color-scheme:dark){.chart-hint{color:#b8b2c9}}.confirm-scrim{z-index:40;background:var(--scrim);opacity:0;animation:confirm-scrim-in var(--dur-spring) ease both;will-change:opacity;position:fixed;inset:0}.confirm-scrim.out{animation:confirm-scrim-out var(--dur-spring) ease both}@keyframes confirm-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-scrim-out{0%{opacity:1}to{opacity:0}}body.confirm-sheet-open .shell-content{transform-origin:50% 20%;transition:transform var(--dur-spring) var(--spring-crit);transform:translateY(10px)scale(.985)}.confirm-sheet{z-index:41;background:var(--card);border:3px solid var(--border);width:min(22rem,100vw - 2rem);box-shadow:var(--shadow-sheet);opacity:0;animation:confirm-sheet-in var(--dur-spring) var(--spring-crit) both;will-change:transform, opacity;border-radius:0;outline:none;padding:1.25rem 1.25rem 1rem;position:fixed;transform:scale(.9)}.confirm-sheet.out{animation:confirm-sheet-out var(--dur-fast) ease-out both}@keyframes confirm-sheet-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes confirm-sheet-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes confirm-fade-out{0%{opacity:1}to{opacity:0}}.confirm-sheet h2{font-size:var(--type-heading-size);font-weight:var(--type-heading-weight);letter-spacing:var(--type-heading-tracking);line-height:var(--type-heading-leading);margin:0 0 .35rem}.confirm-sheet p{color:var(--text-dim);font-size:var(--type-body-size);margin:0 0 1.1rem}.confirm-sheet-actions{justify-content:flex-end;gap:.5rem;display:flex}.confirm-sheet .btn-danger{background:var(--error-text);border-color:var(--error-text);color:var(--on-accent)}.confirm-sheet .btn-danger:hover:not(:disabled){background:var(--error-text);border-color:var(--error-text);filter:brightness(1.08)}@media (prefers-color-scheme:dark){.confirm-sheet .btn-danger:hover:not(:disabled){filter:brightness(.92)}}@media (prefers-reduced-motion:reduce){.auth-card,.view,.view.view-back{animation:.16s ease-out both view-in-fade}@keyframes view-in-fade{0%{opacity:0}to{opacity:1}}.btn,.topnav a,.when-chip,.year-chip,.seg button,.mode-switch button,.pet-mini-card,.pet-card-row,.btn-google{transition:opacity .2s ease, background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease}.btn:active:not(:disabled),.topnav a:active,.when-chip:active,.year-chip:active,.seg button:active,.mode-switch button:active,.pet-mini-card:active,.pet-card-row:active,.btn-google:active:not(:disabled),.pet-mini-card:hover{transform:none}.pet-card-panel,.pet-chevron{transition:none}.pet-switcher.pulse{animation:none}.pet-switcher-chevron{transition:none}.pet-menu{animation:.16s ease-out both view-in-fade;transform:none}.pet-menu.out{animation:.16s ease-out both confirm-fade-out}.pet-option-check{transition:none}.save-flash,.banner,.field-error{animation:none}body.confirm-sheet-open .shell-content{transition:none;transform:none}.confirm-scrim{animation:.16s ease-out both view-in-fade}.confirm-scrim.out,.confirm-sheet.out{animation:.16s ease-out both confirm-fade-out}.confirm-sheet{animation:.16s ease-out both view-in-fade;transform:none}.topbar:after,.pet-menu:before,.pet-menu:after{transition:none}}@media (prefers-reduced-transparency:reduce){.topbar,.topbar.scrolled{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:var(--border)}.topbar:after{display:none}}@media (pointer:coarse){.btn{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.topnav{gap:.5rem}.topnav a{align-items:center;min-height:44px;display:inline-flex}.pet-switcher,.pet-option{min-height:44px}.when-chip,.preset-chip,.year-chip,.mode-switch button{align-items:center;min-height:44px;display:inline-flex}.preset-chip{justify-content:center;min-width:44px}.seg button,.weight-field input,.notes-field input,.when-pick input,.entry-edit input,.rename-form input,.add-pet-form input,.credentials-form input{min-height:44px}@media (width<=640px){.topnav a{padding:.3rem .2rem}.topbar-actions .btn{padding-left:.45rem;padding-right:.45rem}}@media (width<=360px){.topnav{gap:.25rem}.topnav a{padding:.2rem .08rem}.topbar-actions .btn{padding-left:.35rem;padding-right:.35rem}.userbox .btn{padding-left:.3rem;padding-right:.3rem}}}.card,.stat,.banner,.view-placeholder,.auth-card{clip-path:polygon(0 12px,6px 6px,12px 0,calc(100% - 12px) 0,calc(100% - 6px) 6px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,6px calc(100% - 6px),0 calc(100% - 12px))}.btn:active:not(:disabled),.btn-primary:active:not(:disabled){box-shadow:none;transition:transform var(--dur-press) linear, background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-press) linear;transform:translate(3px,3px)}.pet-mini-chart{height:2.6rem;min-height:2.6rem}.pet-mini-chart canvas{display:block;width:100%!important;height:100%!important}
