:root{--cream-50:#fffdf6;--cream-100:#fff8e7;--cream-200:#fcefd2;--cream-300:#f3e0b8;--cream-400:#e6cb97;--cocoa-300:#b79a80;--cocoa-500:#7a5a43;--cocoa-700:#5b3e2b;--cocoa-900:#3a2618;--sun-100:#fff4c7;--sun-200:#ffe68a;--sun-400:#ffd23f;--sun-500:#ffc21a;--sun-600:#e8a900;--leaf-100:#e3f6cf;--leaf-200:#c6eba4;--leaf-400:#7bc67e;--leaf-600:#3f9b4f;--leaf-800:#23683a;--sky-100:#e2f5ff;--sky-200:#bfe8fc;--sky-400:#6cc4ee;--sky-600:#2f8fc8;--sky-800:#1b5e8a;--peach-100:#ffe7d3;--peach-400:#ffa45c;--peach-600:#e86e1c;--berry-100:#ffe0e4;--berry-400:#f26b7a;--berry-600:#c8344b;--lilac-100:#eee8ff;--lilac-400:#a48bfa;--lilac-600:#7152e0;--night-900:#0e1b2b;--night-800:#14263a;--night-700:#1c3350;--night-600:#274465;--night-400:#4d6b8c;--ink-900:#22314d;--ink-700:#3a4a6b;--ink-600:#52648a;--bg:#eaf7ff;--bg-2:#effceb;--bg-pattern-ink:var(--ink-900);--surface:#f8fcff;--surface-sunk:#e4eef8;--surface-raised:#fff;--paper:#fff;--text:var(--ink-900);--text-soft:var(--ink-600);--outline:#fff;--outline-soft:#dce7f3;--line:#dce7f3;--focus:var(--sky-800);--action:var(--sun-400);--action-hi:var(--sun-200);--action-lo:var(--sun-500);--on-action:#4a3000;--success:var(--leaf-800);--success-bg:var(--leaf-100);--danger:var(--berry-600);--danger-bg:var(--berry-100);--xp:var(--lilac-400);--xp-deep:var(--lilac-600);--streak:var(--peach-400);--streak-deep:var(--peach-600);--ink-stamp:#c8475a;--map-bg:#a6e59b;--badge-bg:linear-gradient(180deg, #d2405a, #b02640);--badge-edge:#8e1d33;--pee:var(--sun-400);--pee-deep:var(--sun-600);--ink:var(--ink-900);--muted:var(--text-soft);--grass:var(--leaf-600);--stamp-paper:#fffdf8;--stamp-ink:var(--ink-900);--tag-was_here:var(--cream-300);--tag-squirrel_alert:var(--peach-400);--tag-big_stick:#c99a6b;--tag-fresh_water:var(--sky-400);--tag-looking_for_friends:#ff9fc0;--tag-watch_out_cat:var(--berry-400);--tag-good_grass:var(--leaf-400);--tag-off_lead:var(--lilac-400);--rarity-common:var(--cream-300);--rarity-uncommon:var(--leaf-400);--rarity-rare:var(--sky-400);--rarity-legendary:linear-gradient(120deg, #ffd23f, #ff9fc0 30%, #a48bfa 55%, #6cc4ee 80%, #ffd23f);--title:"Lilita One", "Nunito", ui-rounded, system-ui, sans-serif;--display:"Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--body:"Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--fs-xs:13px;--fs-sm:15px;--fs-md:17px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:32px;--fs-3xl:44px;--fs-4xl:64px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:28px;--s-8:32px;--s-9:40px;--s-10:48px;--r-sm:12px;--r-md:20px;--r-lg:28px;--r-xl:36px;--r-pill:999px;--r-blob:58% 42% 52% 48% / 48% 56% 44% 52%;--bw:3px;--edge:#c3d3e8;--shade:#1a34604d;--inner-hi:inset 0 2px 1px #ffffffe6, inset 0 -3px 3px #14285012;--gloss:linear-gradient(180deg, #fffc 0%, #ffffff26 48%, #fff0 52%);--glass:#ffffffc7;--glass-rim:#fff;--glass-edge:#7896be80;--glass-hi:#ffffffe6;--paper-edge:#c3d3e8;--paper-shade:#1a34604d;--paper-inner-hi:inset 0 2px 1px #ffffffe6, inset 0 -3px 3px #14285012;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-squish:cubic-bezier(.5, 1.8, .4, .8);--ease-out:cubic-bezier(.2, .9, .3, 1);--t-fast:.12s;--t-med:.22s;--t-slow:.42s;--t-epic:.7s;--z-map:0;--z-hud:20;--z-fab:15;--z-tabbar:25;--z-banner:30;--z-sheet:40;--z-celebrate:50;--z-toast:60;--tap:44px;--tabbar-h:72px;--tabbar-gap:10px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--above-tabbar:calc(var(--tabbar-h) + var(--tabbar-gap) + var(--safe-b));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1e36;--bg-2:#12293a;--bg-pattern-ink:#fff4dc;--surface:#182c4a;--surface-sunk:#0b1628;--surface-raised:#213a5e;--paper:#1c3354;--text:#f4f7ff;--text-soft:#afc0de;--outline:#ffffff4d;--outline-soft:#2a4468;--line:#2a4468;--edge:#08111f;--shade:#0000008c;--glass:#182c4aeb;--glass-rim:#ffffff80;--glass-edge:#08111f;--glass-hi:#ffffff24;--focus:var(--sun-400);--success:var(--leaf-400);--success-bg:#1d3b33;--danger:#ff8a98;--danger-bg:#3d2230;--map-bg:#1e4a57;--ink:#f4f7ff;--inner-hi:inset 0 2px 1px #ffffff24, inset 0 -3px 3px #0003;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1e36;--bg-2:#12293a;--bg-pattern-ink:#fff4dc;--surface:#182c4a;--surface-sunk:#0b1628;--surface-raised:#213a5e;--paper:#1c3354;--text:#f4f7ff;--text-soft:#afc0de;--outline:#ffffff4d;--outline-soft:#2a4468;--line:#2a4468;--edge:#08111f;--shade:#0000008c;--glass:#182c4aeb;--glass-rim:#ffffff80;--glass-edge:#08111f;--glass-hi:#ffffff24;--focus:var(--sun-400);--success:var(--leaf-400);--success-bg:#1d3b33;--danger:#ff8a98;--danger-bg:#3d2230;--map-bg:#1e4a57;--ink:#f4f7ff;--inner-hi:inset 0 2px 1px #ffffff24, inset 0 -3px 3px #0003;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{--lift-sm:0 3px 0 var(--edge), 0 8px 14px -8px var(--shade);--lift:0 5px 0 var(--edge), 0 14px 22px -10px var(--shade);--lift-lg:0 7px 0 var(--edge), 0 22px 34px -12px var(--shade);--pressed:0 1px 0 var(--edge), 0 4px 8px -6px var(--shade);--glow:0 18px 34px -14px var(--shade);--float:var(--lift)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-weight:500;line-height:1.45}#app{min-height:100%}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:10px}h1,h2{font-family:var(--title);letter-spacing:.01em;margin:0;font-weight:400;line-height:1.05}h3,.section-title{font-family:var(--display);letter-spacing:-.005em;font-weight:800;line-height:1.08}h3{margin:0}input::placeholder,textarea::placeholder{color:var(--text-soft);opacity:1}p{margin:0}.muted{color:var(--text-soft)}.small{font-size:var(--fs-sm)}.center{text-align:center;margin-inline:auto;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wordmark{font-family:var(--display);letter-spacing:-.02em;color:var(--text);align-items:baseline;font-size:30px;font-weight:800;line-height:1;display:inline-flex}.wordmark.xl{text-shadow:0 4px 0 var(--surface-sunk);font-size:76px}.wm-i{display:inline-block;position:relative}.wm-i svg{width:.34em;height:.44em;fill:var(--action);stroke:var(--outline);stroke-width:1.1px;animation:wm-drip 3.2s var(--ease-bounce) infinite;transform-origin:50% 100%;position:absolute;top:-.14em;left:50%;overflow:visible;transform:translate(-50%)}@keyframes wm-drip{0%,84%,to{transform:translate(-50%)scale(1)}90%{transform:translate(-50%)scale(1.15,.85)}95%{transform:translate(-50%)scale(.92,1.1)translateY(-2px)}}.btn{--btn-bg:var(--surface-raised);--btn-fg:var(--text);justify-content:center;align-items:center;gap:var(--s-2);min-height:50px;padding:0 var(--s-5);border-radius:var(--r-pill);border:var(--bw) solid var(--outline);background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--lift), var(--inner-hi);font-family:var(--display);font-weight:800;font-size:var(--fs-md);letter-spacing:.01em;-webkit-user-select:none;user-select:none;transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out), filter var(--t-fast);text-decoration:none;display:inline-flex;position:relative}.btn:hover:not(:disabled){filter:brightness(1.03);box-shadow:var(--lift), var(--inner-hi);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:var(--pressed), var(--inner-hi);transition-duration:60ms;transform:translateY(3px)}.btn.primary{--btn-bg:linear-gradient(180deg, var(--action-hi) 0%, var(--action) 45%, var(--action-lo) 100%);--btn-fg:var(--on-action)}.btn.secondary{--btn-bg:var(--surface-raised)}.btn.ghost{--btn-bg:transparent;--btn-fg:var(--text-soft);box-shadow:none;border-color:#0000}.btn.ghost:hover:not(:disabled),.btn.ghost:active:not(:disabled){box-shadow:none;background:var(--surface-sunk);transform:none}.btn.danger{--btn-bg:var(--danger-bg);--btn-fg:var(--danger)}.btn.go{--btn-bg:linear-gradient(180deg, var(--leaf-200), var(--leaf-400));--btn-fg:var(--ink-900)}.btn.big{min-height:60px;font-size:var(--fs-lg);width:100%}.btn.small{min-height:var(--tap);padding:0 var(--s-4);font-size:var(--fs-sm);box-shadow:var(--lift-sm), var(--inner-hi)}.btn.small:active:not(:disabled){transform:translateY(2px)}.btn.wide{width:100%;margin-top:var(--s-4)}.btn-row{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.btn-row>.btn:not(.small){flex:auto}.btn-row>.notice{flex:100%}.icon-btn{width:44px;height:44px;color:var(--text-soft);transition:background var(--t-fast), transform var(--t-fast) var(--ease-bounce);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-sunk);color:var(--text)}.icon-btn:active{transform:scale(.9)}.text-btn{color:var(--text);text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--action-lo);text-decoration-color:var(--action-lo);text-underline-offset:4px;background:0 0;border:0;padding:10px 4px;font-weight:700}.input{gap:6px;display:grid}.input span,.field-label,legend{font-family:var(--display);font-weight:800;font-size:var(--fs-sm);color:var(--text-soft);letter-spacing:.02em;padding:0}.input input{font:inherit;color:var(--text);background:var(--surface-raised);border:var(--bw) solid var(--outline-soft);border-radius:var(--r-md);min-height:54px;padding:0 var(--s-4);box-shadow:inset 0 3px 0 var(--surface-sunk);transition:border-color var(--t-fast)}.input input:focus{border-color:var(--outline);box-shadow:inset 0 3px 0 var(--surface-sunk), 0 0 0 4px color-mix(in srgb, var(--action) 45%, transparent);outline:none}.hint{font-size:var(--fs-sm);color:var(--text-soft);text-wrap:pretty;margin-top:6px}.notice{background:var(--surface);border:var(--bw) solid var(--outline-soft);border-radius:var(--r-md);gap:10px;padding:14px 16px;display:grid}.notice.error{border-color:var(--danger);background:var(--danger-bg)}.notice.home{background:var(--success-bg);border-color:var(--success);grid-template-columns:auto 1fr;align-items:center;font-weight:700}.notice.home svg{color:var(--success)}.segmented{background:var(--surface-sunk);border-radius:var(--r-pill);border:var(--bw) solid var(--outline-soft);box-shadow:inset 0 3px 0 color-mix(in srgb, var(--outline) 12%, transparent);gap:4px;padding:5px;display:flex}.segmented button{min-height:var(--tap);border-radius:var(--r-pill);font-family:var(--display);font-weight:800;font-size:var(--fs-sm);color:var(--text-soft);transition:background var(--t-med) var(--ease-bounce), transform var(--t-med) var(--ease-bounce), color var(--t-fast);background:0 0;border:0;flex:1;padding:0 10px}.segmented button.on{background:var(--surface-raised);color:var(--text);box-shadow:0 0 0 2px var(--outline), 0 3px 0 2px var(--outline);transform:translateY(-2px)}.segmented.wrap{border-radius:var(--r-lg);flex-wrap:wrap;justify-content:center;row-gap:6px}.segmented.wrap button{white-space:nowrap;flex:0 calc(33.3333% - 2.66667px)}.segmented button:has(>.seg-dot){white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:56px;display:inline-flex}.seg-dot{border-radius:50%;flex:none;width:14px;height:14px;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #1a346066}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{--tag:var(--cream-300);border:var(--bw) solid var(--outline-soft);background:var(--surface-raised);border-radius:var(--r-pill);min-height:var(--tap);font-family:var(--display);font-size:var(--fs-sm);color:var(--text);transition:transform var(--t-med) var(--ease-bounce), background var(--t-fast), border-color var(--t-fast);align-items:center;gap:6px;padding:0 14px 0 6px;font-weight:600;display:inline-flex}.chip .chip-glyph{background:color-mix(in srgb, var(--tag) 35%, var(--surface-raised));border-radius:50%;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.chip:active{transform:scale(.94)}.chip.on{background:var(--tag);border-color:var(--outline);color:var(--ink-900);box-shadow:var(--lift-sm);transform:translateY(-2px)}.chip.on .chip-glyph{animation:pop var(--t-slow) var(--ease-bounce);background:#ffffff8c}.scent-tag{--tag:var(--cream-300);border-radius:var(--r-pill);background:color-mix(in srgb, var(--tag) 30%, var(--stamp-paper));border:2px solid color-mix(in srgb, var(--tag) 70%, var(--ink-900));font-family:var(--display);font-weight:800;font-size:var(--fs-sm);color:var(--ink-900);align-items:center;gap:5px;padding:2px 10px 2px 4px;display:inline-flex}.scent-tag i{background:var(--tag);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-style:normal;display:grid}fieldset.field{border:0;min-width:0;margin:0;padding:0}.field{gap:var(--s-2);display:grid}fieldset.field legend{margin-bottom:var(--s-2)}.avatar{object-fit:cover;background:var(--surface-sunk);box-shadow:0 0 0 2px var(--outline);border-radius:50%;flex:none;display:block}.stamp{--hole:4.5px;--pitch:14px;--edge:var(--paper-edge);--shade:var(--paper-shade);--inner-hi:var(--paper-inner-hi);--outline:#fff;background:var(--stamp-paper);color:var(--stamp-ink);-webkit-mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;-webkit-mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;padding:10px}.stamp-wrap{filter:drop-shadow(0 3px 0 color-mix(in srgb, var(--outline) 55%, transparent)) drop-shadow(0 10px 14px #5b3e2b2e);transform:rotate(var(--tilt,0deg));animation:land var(--t-slow) var(--ease-bounce) both;position:relative}.stamp-wrap:before{content:"";z-index:2;background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--tape,var(--sky-200)) 85%, transparent) 0 8px, color-mix(in srgb, var(--tape,var(--sky-200)) 65%, transparent) 8px 16px);width:86px;height:22px;transform:rotate(calc(var(--tilt,0deg) * -2 - 2deg));opacity:.9;border-radius:2px;margin-left:-43px;position:absolute;top:-9px;left:50%}.stamp-wrap:nth-child(3n+2){--tape:var(--leaf-200)}.stamp-wrap:nth-child(3n){--tape:#ffc9d6}.stamp-stack{gap:26px;padding:14px 2px 8px;display:grid}.stamp-face{aspect-ratio:4/3;background:var(--action);outline:2px solid color-mix(in srgb, var(--stamp-ink) 22%, transparent);outline-offset:-2px;border-radius:6px;position:relative;overflow:hidden}.stamp-photo{object-fit:cover;width:100%;height:100%;display:block}.stamp-photo.dogface{object-position:50% 42%}.stamp-face .postmark{color:var(--ink-stamp);opacity:.82;mix-blend-mode:multiply;font-family:var(--display);position:absolute;top:8px;right:6px;transform:rotate(-9deg)}.ribbon{font-size:var(--fs-xs);border-radius:var(--r-pill);border:2px solid #fff;align-items:center;gap:4px;padding:4px 12px;display:inline-flex;position:absolute;bottom:8px;left:8px}.stamp-body{gap:4px;padding:10px 4px 2px;display:grid}.dog-chip{align-items:center;gap:var(--s-2);min-height:var(--tap);color:var(--stamp-ink);background:0 0;border:0;justify-self:start;margin-block:-7px;padding:0 8px 0 0;display:inline-flex}.dog-chip-name{font-family:var(--display);font-weight:800;font-size:var(--fs-lg)}.stamp-line{font-size:var(--fs-md)}.stamp-meta{font-size:var(--fs-sm);color:var(--ink-600)}.stamp .muted{color:var(--ink-600)}.pending-note{font-size:var(--fs-xs);background:var(--sun-100);color:var(--ink-900);border-radius:var(--r-pill);justify-self:start;margin-top:4px;padding:4px 10px;font-weight:700}.stamp.pending .stamp-face{opacity:.85}.stamp-actions{align-items:center;gap:6px;padding:6px 0 0;display:flex;container-type:inline-size}.stamp-actions>:nth-child(2){margin-left:auto}.stamp-actions .icon-btn{color:var(--stamp-ink)}.stamp-actions .spot-btn{white-space:nowrap;flex:none}@container (width<=330px){.stamp-actions .spot-btn svg{display:none}.stamp-actions .sniff{padding:0 12px}}.stamp-actions .icon-btn:hover{background:var(--cream-200)}.sniff{min-height:var(--tap);border-radius:var(--r-pill);border:var(--bw) solid var(--outline);color:var(--ink-900);font-family:var(--display);font-weight:800;font-size:var(--fs-sm);box-shadow:var(--lift-sm);transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast);background:#fff;align-items:center;gap:6px;padding:0 16px;display:inline-flex}.sniff:active:not(:disabled){box-shadow:var(--pressed);transform:translateY(2px)}.sniff:disabled{opacity:1}.sniff{white-space:nowrap;flex:none}.sniff-n{font-family:var(--title);border-radius:var(--r-pill);background:var(--sun-200);min-width:22px;color:var(--ink-900);text-align:center;animation:pop var(--t-slow) var(--ease-bounce);padding:0 6px;font-weight:400;line-height:22px}.sniff.on .sniff-n{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--ink-900) 18%, transparent);background:#fff}.sniff.on{background:var(--sun-400)}.sniff.on svg{animation:snuffle .5s var(--ease-bounce)}.small-stamp{--hole:4px;--pitch:12px;padding:8px;display:inline-block}.small-stamp img{object-fit:cover;width:112px;height:112px;box-shadow:none;border-radius:4px;display:block}.badge{text-align:center;align-content:start;justify-items:center;gap:6px;margin:0;display:grid}.badge-paper{--hole:3.5px;--pitch:10px;background:var(--stamp-paper);width:78px;height:90px;-webkit-mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;-webkit-mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;filter:drop-shadow(0 3px 0 color-mix(in srgb, var(--outline) 45%, transparent));place-items:center;padding:7px;display:grid;position:relative}.badge-art{background:repeating-linear-gradient(-45deg, var(--cream-200) 0 6px, var(--cream-100) 6px 12px);filter:grayscale();opacity:.6;border-radius:4px;place-items:center;width:100%;height:100%;font-size:34px;display:grid;position:relative;overflow:hidden}.badge-art:after{content:"?";font-family:var(--display);color:var(--ink-600);background:#fff8e78c;place-items:center;font-size:30px;font-weight:800;display:grid;position:absolute;inset:0}.badge.earned .badge-art{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--badge) 40%, #fff) 0 30%, var(--badge) 75%);filter:none;opacity:1}.badge.earned .badge-art:after{content:none}.badge.earned[data-rarity=uncommon] .badge-paper{background:var(--leaf-200)}.badge.earned[data-rarity=rare] .badge-paper{background:var(--sky-200)}.badge.earned[data-rarity=legendary] .badge-paper{background:var(--rarity-legendary);background-size:300% 300%;animation:4s linear infinite foil}.badge.earned[data-rarity=rare] .badge-art:before,.badge.earned[data-rarity=legendary] .badge-art:before{content:"";background:linear-gradient(105deg,#0000 40%,#ffffffb3 50%,#0000 60%);animation:3.2s ease-in-out infinite shine;position:absolute;inset:-40%}.badge:not(.earned) figcaption strong{color:var(--text-soft)}.badge figcaption{font-size:var(--fs-xs);align-content:start;gap:2px;max-width:112px;line-height:1.25;display:grid}.badge figcaption strong{font-family:var(--display);font-weight:800;font-size:var(--fs-sm)}.badge figcaption span{color:var(--text-soft)}.badge .rarity{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.badge.sm .badge-paper{width:60px;height:70px}.badge.sm .badge-art{font-size:26px}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));align-items:start;gap:18px 8px;display:grid}.badge-row{flex-wrap:wrap;justify-content:center;gap:12px 10px;width:100%;display:flex}.badge-row>.badge{flex:0 72px;min-width:0}.badge.sm figcaption{text-wrap:balance;max-width:100%}.badge.sm figcaption strong{font-size:var(--fs-xs);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.postmark text{font-family:var(--display)}.empty{text-align:center;justify-items:center;gap:var(--s-2);color:var(--text-soft);padding:24px 12px;display:grid}.empty .postie{width:112px;height:112px;animation:3s ease-in-out infinite bob}.empty h3{color:var(--text);font-size:var(--fs-lg)}.empty p{max-width:34ch}.sheet-layer{z-index:var(--z-sheet);align-items:end;display:grid;position:fixed;inset:0}.sheet-backdrop{background:color-mix(in srgb, var(--ink-900) 45%, transparent);animation:fade var(--t-med) ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:0;position:absolute;inset:0}.sheet{background:var(--bg);color:var(--text);border:var(--bw) solid var(--outline);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:640px;max-height:92dvh;animation:rise var(--t-slow) var(--ease-bounce);transition:transform var(--t-med) var(--ease-out);border-bottom:0;flex-direction:column;margin-inline:auto;padding:30px 0 0;display:flex;position:relative;overflow:hidden;box-shadow:0 -8px 30px -10px #3a261866}.sheet.dragging{transition:none}.sheet:after{content:"";z-index:1;background:linear-gradient(var(--bg), transparent);pointer-events:none;height:12px;position:absolute;top:30px;left:0;right:0}.sheet.tall{min-height:70dvh}.sheet-body{overscroll-behavior:contain;min-height:0;padding:4px 18px calc(28px + var(--safe-b));gap:var(--s-4);flex:auto;grid-template-columns:minmax(0,1fr);align-content:start;scroll-padding-bottom:96px;display:grid;overflow:hidden auto}.sheet-body:focus{outline:none}.sheet-grip{border-radius:var(--r-pill);background:var(--action);width:52px;height:8px;box-shadow:0 0 0 2px var(--outline);margin-left:-26px;position:absolute;top:9px;left:50%}.sheet-drag{z-index:2;touch-action:none;cursor:grab;height:40px;position:absolute;top:0;left:64px;right:64px}.sheet.dragging .sheet-drag{cursor:grabbing}.sheet-close{z-index:3;background:var(--surface-raised);box-shadow:0 0 0 2px var(--outline-soft);position:absolute;top:34px;right:18px}.sheet-title{font-size:var(--fs-2xl);text-wrap:balance;margin-top:6px;padding-right:56px}.sheet-dock{bottom:calc(-28px - var(--safe-b));z-index:3;gap:var(--s-3);margin:0 -18px calc(-28px - var(--safe-b));padding:14px 18px calc(14px + var(--safe-b));background:color-mix(in srgb, var(--bg-2) 72%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);border-top:2px solid var(--glass-rim);border-radius:24px 24px 0 0;display:grid;position:sticky;box-shadow:0 -10px 24px -16px #1a346073}.menu{gap:var(--s-2);display:grid}.menu-item{text-align:left;min-height:56px;padding:0 var(--s-4);border-radius:var(--r-md);border:var(--bw) solid var(--outline-soft);background:var(--surface-raised);font-family:var(--display);font-weight:800;font-size:var(--fs-md);transition:transform var(--t-fast) var(--ease-bounce), border-color var(--t-fast)}.menu-item:hover{border-color:var(--outline)}.menu-item:active{transform:scale(.98)}.menu-item.danger{color:var(--danger)}.toast{z-index:var(--z-toast);left:50%;bottom:calc(var(--above-tabbar) + 18px);opacity:0;pointer-events:none;background:var(--surface-raised);color:var(--text);border-radius:var(--r-pill);border:var(--bw) solid var(--outline);box-shadow:var(--lift);font-family:var(--display);width:max-content;max-width:calc(100vw - 32px);transition:opacity var(--t-med), transform var(--t-med) var(--ease-bounce);align-items:center;gap:10px;padding:8px 18px 8px 8px;font-weight:800;display:flex;position:fixed;transform:translate(-50%,24px)scale(.9)}.toast .postie{flex:none;width:38px;height:38px}.toast .toy{flex:none}.toast.show{opacity:1;transform:translate(-50%)scale(1)}.tabbar{z-index:var(--z-tabbar);left:10px;right:10px;bottom:calc(var(--tabbar-gap) + var(--safe-b));max-width:560px;height:var(--tabbar-h);background:var(--surface-raised);border:var(--bw) solid var(--outline);border-radius:var(--r-lg);box-shadow:var(--float);grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1fr 96px 1fr 1fr;align-items:center;margin-inline:auto;display:grid;position:fixed}.tab{color:var(--text-soft);font-family:var(--display);background:0 0;border:0;justify-items:center;gap:1px;min-height:60px;padding:6px 0;font-size:12px;font-weight:600;display:grid;position:relative}.tab svg{box-sizing:content-box;border-radius:var(--r-pill);transition:background var(--t-med), transform var(--t-med) var(--ease-bounce);padding:3px 12px}.tab.on{color:var(--text)}.tab.on svg{background:var(--leaf-200);color:var(--ink-900);animation:hop var(--t-slow) var(--ease-bounce)}.tab .dot{background:var(--berry-400);color:#fff;font-family:var(--display);border:2px solid var(--outline);min-width:20px;height:20px;animation:pop var(--t-slow) var(--ease-bounce);border-radius:10px;margin-left:8px;padding:0 4px;font-size:11px;font-weight:700;line-height:16px;position:absolute;top:2px;left:50%}.post-btn{background:radial-gradient(circle at 35% 28%, var(--sun-200) 0 22%, var(--sun-400) 55%, var(--sun-500) 100%);width:84px;height:84px;color:var(--ink-900);border:3.5px solid var(--outline);box-shadow:var(--lift), 0 14px 22px -8px #3a26188c, inset 0 -4px 0 #e8a90073;transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast);border-radius:50%;align-content:center;justify-self:center;place-items:center;gap:0;animation:3.4s ease-in-out infinite breathe;display:grid;position:relative;transform:translateY(-10px)}.post-btn:after{content:"";border:3px solid var(--action);opacity:0;pointer-events:none;border-radius:50%;animation:3.4s ease-out infinite ping;position:absolute;inset:-9px}.post-btn span{font-family:var(--display);margin-top:2px;font-size:11.5px;font-weight:800;line-height:1}.post-btn:active{box-shadow:var(--pressed), inset 0 -2px 0 #e8a90073;animation:none;transform:translateY(-6px)scale(.96)}.me-dot{fill:var(--sky-600);fill-opacity:1;stroke:#fff}.home-ring{fill:var(--leaf-400);fill-opacity:.12;stroke:var(--leaf-600);stroke-width:3px;stroke-dasharray:2 9;stroke-linecap:round}.home-ring.strong{fill-opacity:.22}.drop-pin{filter:drop-shadow(0 3px #d98e00)drop-shadow(0 8px 8px #1a34604d);width:38px;height:38px;animation:pin-drop var(--t-slow) var(--ease-bounce) both;transition:transform var(--t-fast) var(--ease-out);position:relative}.drop-pin i{background:radial-gradient(circle at 55% 25%,#ffec9a,#ffd23f 55%,#ffb200);border:3px solid #fff;border-radius:50% 50% 50% 0;position:absolute;inset:0;transform:rotate(-45deg)}.drop-pin:after{content:"🐾";place-items:center;font-size:15px;display:grid;position:absolute;inset:0;transform:translateY(-1px)}.leaflet-dragging .drop-pin,.pin-wrap.lifted .drop-pin{transform:translateY(-8px)scale(1.08)}.near-spot{--edge:#bfd0e6;width:42px;height:42px;box-shadow:0 0 0 1px #1a346026, var(--lift-sm);border:3px solid #fff;border-radius:50%;position:relative}.near-spot img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.near-spot b{background:var(--berry-400);color:#fff;font-family:var(--display);text-align:center;border:2.5px solid var(--outline);border-radius:11px;min-width:22px;height:22px;padding:0 4px;font-size:11px;font-weight:800;line-height:17px;position:absolute;top:-9px;right:-9px}.near-spot.on{box-shadow:0 0 0 3px var(--sun-400), 0 4px 0 3px #d98e00, 0 10px 14px -6px var(--shade);animation:pop var(--t-slow) var(--ease-bounce)}.accuracy-ring{fill:var(--sky-400);fill-opacity:.14;stroke:var(--sky-600);stroke-opacity:.6;stroke-width:2px}.fab{z-index:var(--z-fab);right:10px;bottom:calc(var(--above-tabbar) + 30px);border:var(--bw) solid var(--outline);background:var(--surface-raised);width:54px;height:54px;color:var(--text);box-shadow:var(--lift);transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast), bottom var(--t-slow) var(--ease-bounce);border-radius:50%;place-items:center;display:grid;position:fixed}.fab:active{box-shadow:var(--pressed);transform:translateY(3px)}.recovery-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-lg);letter-spacing:.08em;text-align:center;padding:var(--s-3);border:2px dashed var(--text-soft);border-radius:var(--r-md,12px);-webkit-user-select:all;user-select:all;font-weight:700}.recovery-input{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,monospace}.postie{display:block;overflow:visible}.dialogue{align-items:end;gap:var(--s-2);grid-template-columns:76px 1fr;display:grid}.dialogue-postie{width:76px;height:76px;animation:3s ease-in-out infinite bob}.dialogue-box{text-align:left;background:var(--cream-50);width:100%;min-height:84px;color:var(--ink-900);border:var(--bw) solid var(--outline);box-shadow:var(--lift);font-family:var(--display);font-weight:800;font-size:var(--fs-md);border-radius:26px 26px 26px 8px;padding:22px 18px 16px;line-height:1.4;position:relative}.dialogue-name{border-radius:var(--r-pill);background:var(--peach-400);color:var(--ink-900);border:2.5px solid var(--outline);font-weight:700;font-size:var(--fs-sm);padding:3px 14px;position:absolute;top:-15px;left:16px;transform:rotate(-2deg)}.dialogue-ghost{visibility:hidden}.dialogue-caret{color:var(--peach-600);font-size:12px;animation:.9s ease-in-out infinite caret;position:absolute;bottom:6px;right:16px}.dialogue.compact{grid-template-columns:72px 1fr}.dialogue.compact .dialogue-postie{width:72px;height:72px}.dialogue.compact .dialogue-box{min-height:0;font-size:var(--fs-sm);padding:18px 16px 12px}.level-badge{border-radius:var(--r-pill);background:linear-gradient(180deg, var(--lilac-100), color-mix(in srgb, var(--lilac-400) 55%, #fff));color:var(--ink-900);border:2.5px solid var(--outline);box-shadow:var(--lift-sm);font-family:var(--display);white-space:nowrap;align-items:baseline;gap:1px;padding:2px 10px 3px;line-height:1;display:inline-flex}.level-badge small{font-size:11px;font-weight:800}.level-badge:not(.lg) small{margin-right:2px}.level-badge b{font-size:16px;font-weight:700}.level-badge.sm{padding:1px 7px 2px}.level-badge.sm b{font-size:13px}.level-badge.lg{width:62px;height:62px;box-shadow:var(--lift);border-width:3px;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;padding:0}.level-badge.lg b{font-size:28px}.xp{gap:4px;min-width:0;display:grid}.xp-bar{border-radius:var(--r-pill);background:var(--surface-sunk);border:2.5px solid var(--outline);height:14px;position:relative;overflow:hidden}.xp-bar i{border-radius:var(--r-pill);background:linear-gradient(180deg, color-mix(in srgb, var(--xp) 55%, #fff) 0 35%, var(--xp) 36% 100%);animation:fill-in var(--t-epic) var(--ease-bounce) both;position:absolute;inset:0 auto 0 0}.xp-bar i:after{content:"";background:#fff9;border-radius:2px;height:3px;position:absolute;top:2px;left:6px;right:6px}.xp-sparkle{color:#fff;font-size:14px;animation:1.4s ease-in-out infinite sparkle;position:absolute;top:-5px;right:4px}.xp-label{font-size:var(--fs-xs);color:var(--text-soft);text-wrap:balance;font-weight:700}.streak{font-family:var(--display);color:var(--text);white-space:nowrap;align-items:center;gap:2px;font-weight:800;display:inline-flex}.streak-flame{transform-origin:50% 90%;font-size:18px;display:inline-block}.streak.lit .streak-flame{animation:1.2s ease-in-out infinite flicker}.streak.waiting .streak-flame{filter:saturate(.5);opacity:.75}.streak.waiting b{border:2px dashed var(--streak-deep);border-radius:var(--r-pill);padding:0 5px;line-height:1.15}.streak.out .streak-flame{color:var(--text-soft);filter:none;opacity:1}.streak-flame svg{display:block}.streak b{font-size:17px}.streak-freeze{color:var(--sky-600);margin-left:2px;font-size:11px}.streak.lg .streak-flame{font-size:30px}.streak.lg b{font-size:26px}.trainer-strip{gap:var(--s-3) var(--s-4);width:100%;max-width:460px;padding:var(--s-4);background:var(--surface-raised);border:var(--bw) solid var(--outline);border-radius:var(--r-lg);box-shadow:var(--lift);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;display:grid}.trainer-meta{gap:6px;min-width:0;display:grid}.trainer-meta strong{font-family:var(--display);font-size:var(--fs-lg)}.trainer-streak{justify-items:center;gap:0;display:grid}.trainer-streak .small{font-size:11px;font-weight:700}.trainer-hint{border-top:2px dashed var(--outline-soft);padding-top:var(--s-3);grid-column:1/-1}.trainer-hint .quests-link{min-height:44px;font:inherit;color:var(--text);align-items:center;margin-block:-12px;padding:0 2px;font-weight:800;display:inline-flex}.quests{background:var(--sun-100);color:var(--ink-900);border:var(--bw) solid var(--outline);border-radius:var(--r-lg);box-shadow:var(--lift);padding:var(--s-4);gap:var(--s-3);background-image:repeating-linear-gradient(0deg,#0000 0 31px,#5b3e2b14 31px 33px);display:grid}.quests-head{justify-content:space-between;align-items:center;display:flex}.quests-head h2{font-size:var(--fs-xl);align-items:center;gap:8px;display:flex}.quests-head h2 svg{color:#b07a00;flex:none}.quests-head h2:focus:not(:focus-visible){outline:none}.quests-peek{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);width:100%;min-height:48px;font:inherit;text-align:left;margin:0;padding:8px 12px 8px 16px;display:flex}.quests-peek>svg{color:#b07a00;flex:none}.quests-peek-title{font-family:var(--title);font-size:var(--fs-lg);white-space:nowrap;min-width:0;line-height:1.1}@media (width<=379px){.quests-peek{gap:6px;padding-left:12px}.quests-peek-title{font-size:var(--fs-md)}.quests-peek .quests-count{padding:0 8px}}.quests-peek .quests-count{font-size:var(--fs-sm);padding:0 10px}.quests-peek-next{font-family:var(--display);font-weight:800;font-size:var(--fs-sm);color:var(--lilac-600);white-space:nowrap;margin-left:auto}.quests-peek .quest-check{width:26px;height:26px;font-size:14px}button.quests-peek{cursor:pointer;transition:transform var(--t-fast) var(--ease-bounce)}button.quests-peek:active{transform:scale(.98)}.quests-count{font-family:var(--display);background:var(--cream-50);border:2.5px solid var(--outline);border-radius:var(--r-pill);padding:2px 12px;font-weight:800}.quests ul{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.quests-done{color:var(--ink-600);text-align:center}.quest{gap:var(--s-3);background:var(--cream-50);border:2.5px solid var(--outline);border-radius:var(--r-md);transition:transform var(--t-med) var(--ease-bounce);grid-template-columns:40px 1fr auto;align-items:center;padding:8px 12px 8px 8px;display:grid}.quest-icon{background:var(--cream-200);border-radius:14px;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.quest-body{gap:4px;min-width:0;display:grid}.quest-text{font-weight:700;font-size:var(--fs-sm);text-wrap:balance;line-height:1.3}.quest-body>.scent-tag{justify-self:start}.quest-meter{gap:4px;display:flex}.quest-meter i{background:var(--cream-300);border-radius:4px;width:18px;height:8px}.quest-meter i.on{background:var(--leaf-400)}.quest-reward{font-family:var(--display);font-weight:800;font-size:var(--fs-sm);color:var(--lilac-600);white-space:nowrap}.quest.done{background:var(--leaf-100)}.quest.done .quest-text{color:var(--ink-600)}.quest.done .quest-icon{background:var(--leaf-200)}.quest.done{grid-template-columns:28px 1fr auto;padding:4px 10px 4px 6px}.quest.done .quest-icon{border-radius:10px;width:28px;height:28px;font-size:15px}.quest.done .quest-check{width:24px;height:24px;font-size:13px}.quest.done .quest-meter{display:none}.quest-check{background:var(--leaf-400);width:30px;height:30px;color:var(--ink-900);border:2.5px solid var(--outline);animation:pop var(--t-slow) var(--ease-bounce);border-radius:50%;place-items:center;font-size:16px;display:grid}.dex{gap:var(--s-4);display:grid}.dex-head{justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.dex-count{font-family:var(--display);font-size:var(--fs-xl)}.dex-pct{--pct:0%;background:conic-gradient(var(--leaf-400) var(--pct), var(--surface-sunk) 0);border:var(--bw) solid var(--outline);width:64px;height:64px;box-shadow:var(--lift-sm);border-radius:50%;flex:none;place-items:center;display:grid}.dex-pct b{background:var(--surface-raised);width:44px;height:44px;font-family:var(--display);font-size:var(--fs-sm);border:2px solid var(--outline);border-radius:50%;grid-auto-flow:column;align-content:center;place-items:center;gap:0;line-height:1;display:grid}.dex-pct b small{opacity:.75;align-self:end;padding-bottom:2px;font-size:10px}.dex-pct.full b{color:#fff;font-size:var(--fs-lg);background:linear-gradient(#b6f0a8,#46b86a)}@property --pct{syntax:"<percentage>";inherits:false;initial-value:0%}.dex-pct{animation:dex-fill var(--t-epic) var(--ease-out) both}@keyframes dex-fill{0%{--pct:0%}}.dex-next{color:var(--text);margin-top:2px;font-weight:800}.dex-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.dex-card{background:var(--surface-raised);border:var(--bw) solid var(--outline);border-radius:var(--r-md);box-shadow:var(--lift-sm);transition:transform var(--t-med) var(--ease-bounce);justify-items:center;gap:2px;padding:10px 6px;display:grid;position:relative}.dex-card:hover{transform:translateY(-3px)rotate(-1deg)}.dex-card:active{transform:scale(.96)}.dex-no{font-family:var(--display);color:var(--text-soft);justify-self:start;font-size:11px;font-weight:700}.dex-portrait{background:radial-gradient(circle, var(--sky-100), var(--sky-200));border:2.5px solid var(--outline);border-radius:50%;width:64px;height:64px;margin:2px 0 4px;overflow:hidden}.dex-portrait img{object-fit:cover;width:100%;height:100%;display:block}.dex-name{font-family:var(--display);font-weight:800;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.dex-sub{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.dex-spots{font-size:11px;font-weight:700;font-family:var(--display);position:absolute;top:6px;right:6px}.dex-card.seen{background:var(--surface-sunk);box-shadow:none;border-style:dashed}.dex-card.seen .dex-portrait{background:var(--surface-sunk)}.dex-ghost{width:100%;height:100%;fill:color-mix(in srgb, var(--text-soft) 45%, transparent);display:block}.dex-card.seen .dex-name{color:var(--text-soft);letter-spacing:.2em}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dex-card.seen .dex-portrait{background:var(--surface-raised);border-color:var(--outline)}}:root[data-theme=dark] .dex-card.seen .dex-portrait{background:var(--surface-raised);border-color:var(--outline)}.burst{pointer-events:none;z-index:3;width:0;height:0;position:absolute;top:40%;left:50%}.burst span{animation:burst 1.1s var(--ease-out) both;position:absolute;top:0;left:0}.xp-float{z-index:4;font-family:var(--display);font-weight:800;font-size:var(--fs-xl);color:var(--lilac-600);-webkit-text-stroke:1px var(--cream-50);paint-order:stroke fill;text-shadow:0 3px 0 var(--cream-50), var(--lift);animation:float-up 1.8s .55s var(--ease-out) both;white-space:nowrap;position:absolute;top:6px;left:50%;translate:-50%}.reward-row{gap:var(--s-2);flex-wrap:wrap;justify-content:center;display:flex}.reward-pill{border-radius:var(--r-pill);background:var(--surface-raised);border:2.5px solid var(--outline);box-shadow:var(--lift-sm);font-family:var(--display);font-weight:800;font-size:var(--fs-sm);animation:pop var(--t-slow) var(--ease-bounce) both;align-items:center;gap:6px;padding:6px 14px 6px 8px;display:inline-flex}.reward-pill:nth-child(2){animation-delay:.12s}.reward-pill:nth-child(3){animation-delay:.24s}.reward-pill:nth-child(4){animation-delay:.36s}.reward-pill.xp{background:var(--lilac-100);color:var(--ink-900)}.reward-pill.quest{background:var(--leaf-100);color:var(--ink-900)}.reward-pill.streak{background:var(--peach-100);color:var(--ink-900)}.reward-pill.level{background:var(--sun-200);color:var(--ink-900)}.reward-pill{max-width:100%}.reward-pill .pill-text{text-align:left;text-wrap:balance;min-width:0;line-height:1.2}.reward-pill .pill-text small{letter-spacing:.06em;text-transform:uppercase;color:#2f6b3c;font-size:11px;display:block}.reward-pill b{white-space:nowrap;flex:none}.reward-pill.quest{border-radius:20px}.levelup-banner{width:100%;padding:var(--s-4);background:radial-gradient(circle at 50% 0%, var(--sun-200), var(--sun-400));color:var(--ink-900);border:var(--bw) solid var(--outline);border-radius:var(--r-lg);box-shadow:var(--lift);animation:pop var(--t-slow) .3s var(--ease-bounce) both;justify-items:center;gap:6px;display:grid;position:relative}.levelup-banner strong{font-size:var(--fs-2xl)}:root{--extrude:0 1px 0 #d6e4f3, 0 2px 0 #c9d9ec, 0 3px 0 #bccde4, 0 4px 0 #afc1dc, 0 10px 14px #1a346038;--gem:radial-gradient(circle at 34% 30%, #7a57e6 0 62%, #5a3cc4 63%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--extrude:0 1px 0 #0b1628, 0 2px 0 #0a1424, 0 3px 0 #08111f, 0 4px 0 #060e1a, 0 10px 16px #00000080}}:root[data-theme=dark]{--extrude:0 1px 0 #0b1628, 0 2px 0 #0a1424, 0 3px 0 #08111f, 0 4px 0 #060e1a, 0 10px 16px #00000080}:root{--sky:var(--sky-day,none);--sky-sheet:var(--sky-sheet-day,none);--sky-top:#c6e9fc}:root[data-time=morning]{--sky-top:#dce3fa}:root[data-time=golden]{--sky-top:#ffe6c7}:root[data-time=night]{--sky-top:#d6d8f4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sky:var(--sky-night,none);--sky-sheet:var(--sky-sheet-night,none);--sky-top:#0a1330}}:root[data-theme=dark]{--sky:var(--sky-night,none);--sky-sheet:var(--sky-sheet-night,none);--sky-top:#0a1330}.page,.onboard,.boot,.ds{background-color:var(--bg);background-image:var(--sky), linear-gradient(180deg, var(--sky-top) 0%, var(--bg) 42%, var(--bg-2) 100%);background-size:cover,100% 100%;background-attachment:fixed,fixed}.sheet{background-color:var(--bg);background-image:var(--sky-sheet), linear-gradient(180deg, var(--bg), var(--bg-2));background-position:top,0 0;background-repeat:no-repeat;background-size:100%,100% 100%}.page-head h1,.step-title,.celebrate h2,.ds-hero h1,.profile-name h2{text-shadow:var(--extrude)}.levelup-banner strong{color:var(--ink-900);text-shadow:0 1px #fff1b8,0 2px #ffe27a,0 3px #f2c230,0 4px #d98e00,0 10px 14px #8c50004d;font-size:40px}.levelup-banner .gem-num{text-shadow:0 3px #4e33a8,0 0 8px #28146499}.levelup-banner .gem-num b{font-size:48px}.levelup-banner .gem-num small{font-size:14px}.levelup-banner .level-badge.lg{width:92px;height:92px}.levelup-banner .level-badge.lg b{font-size:44px}.wordmark.xl{text-shadow:var(--extrude)}.btn{--edge:#c3d3e8;isolation:isolate;border:var(--bw) solid var(--outline);box-shadow:var(--lift), var(--inner-hi);overflow:hidden}.btn:before{content:"";z-index:-1;border-radius:var(--r-pill);background:var(--gloss);opacity:.85;pointer-events:none;height:46%;position:absolute;top:3px;left:10%;right:10%}.btn:hover:not(:disabled){box-shadow:var(--lift-lg), var(--inner-hi);transform:translateY(-2px)}.btn:active:not(:disabled){box-shadow:var(--pressed), var(--inner-hi);transform:translateY(4px)}.btn.primary{--edge:#d98e00;--btn-bg:linear-gradient(180deg, #ffec9a 0%, #ffd23f 52%, #ffb200 100%);--btn-fg:var(--on-action)}.btn.secondary{--edge:#c3d3e8;--btn-bg:linear-gradient(180deg, #fff 0%, #eef5fc 100%);--btn-fg:var(--ink-900)}.btn.go{--edge:#2f8a45;--btn-bg:linear-gradient(180deg, #b6f0a8 0%, #6fd38a 55%, #46b86a 100%);--btn-fg:#0f3a1e}.btn.danger{--edge:#8e1d33;--btn-bg:linear-gradient(180deg, #e35a74 0%, #cc3852 30%, #c8344b 55%, #a82440 100%);--btn-fg:#fff}.btn.danger,.btn.go{text-shadow:0 1px #00000026}.btn.primary,.btn.go,.btn.danger{border-color:#fff}.btn.ghost{box-shadow:none}.btn.ghost:before{display:none}.btn.small{box-shadow:var(--lift-sm), var(--inner-hi)}.btn.small.ghost{box-shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.secondary{--edge:#08111f;--btn-bg:linear-gradient(180deg, #2c4a75, #1f3a5e);--btn-fg:#f4f7ff}:root:not([data-theme=light]) .btn.secondary:before{opacity:.3}}:root[data-theme=dark] .btn.secondary{--edge:#08111f;--btn-bg:linear-gradient(180deg, #2c4a75, #1f3a5e);--btn-fg:#f4f7ff}:root[data-theme=dark] .btn.secondary:before{opacity:.3}.btn:not(.ghost):disabled{opacity:1;box-shadow:var(--pressed), var(--inner-hi);transform:translateY(4px)}.btn:disabled:before{opacity:.35}:root .btn:not(.ghost):disabled:not([aria-busy=true]){--btn-bg:var(--surface-sunk);--btn-fg:var(--text-soft);--edge:var(--outline-soft);border-color:var(--outline);text-shadow:none}.btn:disabled:not([aria-busy=true]):before,.btn:disabled:not([aria-busy=true]):after{display:none}.btn-spin{border:3px solid;border-right-color:#0000;border-radius:50%;flex:none;width:18px;height:18px;animation:.7s linear infinite spin}.post-btn{--edge:#c98600;width:90px;height:90px;box-shadow:0 6px 0 var(--edge), 0 20px 30px -10px #8c500099, inset 0 -10px 14px #d6780059, inset 0 6px 10px #ffffffb3;color:#6a3d00;background:radial-gradient(circle at 34% 26%,#fffdf0 0 9%,#ffe878 24%,#ffc628 58%,#f29a00 100%);border:4px solid #fff}.post-btn:before{content:"";pointer-events:none;border:3px dashed #ffd23fe6;border-radius:50%;animation:14s linear infinite spin;position:absolute;inset:-12px}.post-btn span{text-shadow:0 1px #fff9}.post-btn:active{box-shadow:0 1px 0 var(--edge), inset 0 -6px 10px #d6780059, inset 0 6px 10px #ffffffb3}.tabbar,.hud-card,.hud-wordmark,.toast,.spot-list{background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);--edge:var(--glass-edge);border-color:var(--glass-rim);box-shadow:var(--lift), inset 0 2px 1px var(--glass-hi)}.tab.on svg{color:#0f3a1e;background:linear-gradient(#c9f5bc,#7bd88c);box-shadow:0 3px #3f9b4f,inset 0 2px 1px #fffc}.tab .dot,.regular .regular-count,.near-spot b{--edge:var(--badge-edge);background:var(--badge-bg);color:#fff;box-shadow:var(--lift-sm);border-color:#fff}.counter{--edge:#e0b020;color:var(--on-action);box-shadow:var(--lift-sm), inset 0 2px 1px #ffffffe6, inset 0 -3px 3px #8c5a001f;background:linear-gradient(#fff6c9,#ffe27a);border-color:#fff}.counter i{color:#6a3d00;background:linear-gradient(#ffd84d,#f2a900);box-shadow:0 2px #c98a00,inset 0 1px 1px #ffffffb3}.counter.offline{--edge:var(--glass-edge);background:var(--glass);color:var(--text);border-color:var(--glass-rim);-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);box-shadow:var(--lift-sm), inset 0 2px 1px var(--glass-hi)}.fab,.home-pill{--edge:#b9cbe2;box-shadow:var(--lift), inset 0 -4px 6px #1a346014;color:var(--ink-900);background:radial-gradient(circle at 35% 25%,#fff 0 30%,#e9f2fc 100%);border:3px solid #fff}.home-pill.on{--edge:#3f9b4f;color:#0f3a1e;background:radial-gradient(circle at 35% 25%,#e9ffe2 0 25%,#8fe29c 100%)}.card,.setting,.notice,.menu-item,.activity-btn,.suggest,.spot-preview,.spot-head,.trainer-strip,.dex-card,.quest,.ds-token,.ds-vocab div{--edge:#ccdaec;border-color:var(--outline);box-shadow:var(--lift-sm), var(--inner-hi)}.trainer-strip,.card,.spot-head{box-shadow:var(--lift), var(--inner-hi)}.notice.home{--edge:#3f9b4f;color:#0f3a1e;background:linear-gradient(#e9ffe2,#c8f2c0);border-color:#fff}.notice.error{--edge:#de3a5c;color:#6b0f22;background:linear-gradient(#ffe7eb,#ffccd5);border-color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.card,.setting,.notice,.menu-item,.activity-btn,.suggest,.spot-preview,.spot-head,.trainer-strip,.dex-card,.quest,.creator-traits,.ds-token,.ds-vocab div){--edge:#08111f}}:root[data-theme=dark] :is(.card,.setting,.notice,.menu-item,.activity-btn,.suggest,.spot-preview,.spot-head,.trainer-strip,.dex-card,.quest,.creator-traits,.ds-token,.ds-vocab div){--edge:#08111f}.stats div{--inner-hi:var(--paper-inner-hi);box-shadow:var(--lift-sm), var(--inner-hi);border-color:#fff}.stats div:first-child{--edge:#e0b020;background:linear-gradient(#fff6c9,#ffe27a)}.stats div:nth-child(2){--edge:#4faf62;background:linear-gradient(#e5fbdd,#a9e89d)}.stats div:nth-child(3){--edge:#e8833a;background:linear-gradient(#ffebdc,#ffc296)}.stats div:nth-child(4){--edge:#3e95d6;background:linear-gradient(#e6f5ff,#a9dbff)}.input input{border-color:var(--outline-soft);box-shadow:inset 0 3px 6px #1a34601a}.input input:focus{border-color:var(--focus);box-shadow:inset 0 3px 6px #1a34601a, 0 0 0 4px color-mix(in srgb, var(--focus) 30%, transparent)}.segmented{border-color:var(--outline);background:var(--surface-sunk);box-shadow:inset 0 3px 6px #1a346024}.segmented button.on{--edge:#bacce3;box-shadow:var(--lift-sm), var(--inner-hi);color:var(--ink-900);background:linear-gradient(#fff,#eef5fc)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .segmented button.on{--edge:#08111f;color:#f4f7ff;box-shadow:inset 0 0 0 2px var(--sun-400), var(--lift-sm), var(--inner-hi);background:linear-gradient(#34557f,#25456c)}}:root[data-theme=dark] .segmented button.on{--edge:#08111f;color:#f4f7ff;box-shadow:inset 0 0 0 2px var(--sun-400), var(--lift-sm), var(--inner-hi);background:linear-gradient(#34557f,#25456c)}.chip{--edge:#ccdaec;box-shadow:var(--lift-sm), var(--inner-hi);color:var(--ink-900);background:linear-gradient(#fff,#f1f6fc);border-color:#fff}.chip.on{--edge:color-mix(in srgb, var(--tag) 60%, #1a2a44);background:linear-gradient(180deg, color-mix(in srgb, var(--tag) 45%, #fff), var(--tag));color:#14223a;border-color:#fff}.chip{position:relative}.chip.on:after{content:"✓";content:"✓" / "";box-sizing:border-box;color:#fff;width:22px;height:22px;font:900 12px/1 var(--body);pointer-events:none;animation:pop var(--t-slow) var(--ease-bounce);background:linear-gradient(#5bc97a,#2f8a45);border:2px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:-7px;right:-5px;box-shadow:0 2px #1f6b33}.chip .chip-glyph{box-shadow:inset 0 -2px 3px #00000014,inset 0 2px 1px #fffc}.scent-tag{box-shadow:0 2px 0 color-mix(in srgb, var(--tag) 60%, #1a2a44);background:linear-gradient(180deg, color-mix(in srgb, var(--tag) 25%, #fff), color-mix(in srgb, var(--tag) 55%, #fff));border-color:#fff}.avatar{box-shadow:0 0 0 3px #fff, 0 4px 0 3px #bfd0e6, 0 10px 14px -6px var(--shade)}.avatar.ring{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--sun-400), 0 4px 0 6px #d98e00, 0 12px 16px -6px var(--shade)}.level-badge{--edge:#3f2596;color:#fff;text-shadow:0 1px #28146499;box-shadow:var(--lift-sm), inset 0 2px 1px #fff9;background:linear-gradient(#8466ee 0%,#6b4bdb 45%,#5a3cc4 100%);border-color:#fff}.level-badge.lg{--edge:#4e33a8;isolation:isolate;background:var(--gem);width:68px;height:68px;box-shadow:0 4px 0 var(--edge), 0 0 18px 2px #a48bfa80, 0 12px 14px -4px #28146459, inset -3px -4px 0 -1px #c4b4ff99;border:3px solid #fff;border-radius:40%;position:relative}.level-badge.lg:before{content:"";z-index:-1;pointer-events:none;background:#ffffffe6;border-radius:50%;width:34%;height:19%;position:absolute;top:7%;left:9%;transform:rotate(-32deg)}.level-badge.lg:after{content:"✦";color:#fff;text-shadow:0 0 6px #a48bfaf2,0 0 1px #7152e0;pointer-events:none;font-size:18px;line-height:1;position:absolute;top:-11px;right:-9px}.level-badge.lg b{text-shadow:0 2px #3f2596;font-size:30px}.xp-bar{background:linear-gradient(#d9ceff,#eee9ff);border-color:#fff;height:16px;box-shadow:inset 0 2px 3px #4e33a840,0 2px #b9a8f0}.xp-bar i{background:linear-gradient(#e2d7ff 0%,#a48bfa 40%,#7152e0 100%);box-shadow:inset 0 -2px 2px #28146440}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .xp-bar{background:linear-gradient(#1e1650,#2c2270);border-color:#ffffff4d;box-shadow:inset 0 2px 4px #00000073,0 2px #08111f}}:root[data-theme=dark] .xp-bar{background:linear-gradient(#1e1650,#2c2270);border-color:#ffffff4d;box-shadow:inset 0 2px 4px #00000073,0 2px #08111f}.hud-card .xp-bar i{min-width:12px}.dialogue-box{--edge:#c3d3e8;--inner-hi:var(--paper-inner-hi);color:var(--ink-900);box-shadow:var(--lift), var(--inner-hi);background:linear-gradient(#fff,#f2f7fd);border-color:#fff}.dialogue-name,.ribbon{--edge:#d06a1f;color:#4a1f00;box-shadow:var(--lift-sm);background:linear-gradient(#ffd0a6,#ff9a4d);border-color:#fff}.ribbon.sniffback{--edge:#2f8a45;color:#0f3a1e;background:linear-gradient(#c9f5bc,#7bd88c)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dialogue-box{--edge:#08111f;background:linear-gradient(#f4f7ff,#dce5f2)}:root:not([data-theme=light]) .map-tip:after{--edge:#08111f;background:#dce5f2;border-color:#fff}}:root[data-theme=dark] .dialogue-box{--edge:#08111f;background:linear-gradient(#f4f7ff,#dce5f2)}:root[data-theme=dark] .map-tip:after{--edge:#08111f;background:#dce5f2;border-color:#fff}.quests{--edge:#e0b020;color:var(--ink-900);box-shadow:var(--lift), var(--inner-hi);background:linear-gradient(#fffbe6,#fff0b3);border-color:#fff}.quests-count{--edge:#e0b020;box-shadow:var(--lift-sm);border-color:#fff}.quests-peek{--edge:#e0b020;border:var(--bw) solid #fff;box-shadow:var(--lift-sm), var(--inner-hi);background:linear-gradient(#fffbe6,#fff0b3)}.quest.done{--edge:#4faf62;background:linear-gradient(#eeffe8,#c8f2c0)}.quest-check{--edge:#2f8a45;box-shadow:var(--lift-sm);color:#fff;background:linear-gradient(#b6f0a8,#46b86a);border-color:#fff}.quest-icon{box-shadow:inset 0 -3px 4px #1a34601a,inset 0 2px 1px #fff}.reward-pill{box-shadow:var(--lift-sm), var(--inner-hi);border-color:#fff}.reward-pill.xp{--edge:#7152e0;background:linear-gradient(#f1ecff,#cdbdff)}.reward-pill.quest{--edge:#4faf62;background:linear-gradient(#eeffe8,#b8edae)}.reward-pill.streak{--edge:#e8833a;background:linear-gradient(#fff0e3,#ffc296)}.levelup-banner{--edge:#d98e00;box-shadow:var(--lift-lg), var(--inner-hi);border-color:#fff}.stamp-wrap{--rx:0deg;--ry:0deg;--mx:50%;--my:30%;transition:transform .25s var(--ease-out);filter:drop-shadow(0 4px #c3d3e8)drop-shadow(0 16px 18px #1a346038)}.stamp-wrap.tilting{transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry)) rotate(var(--tilt,0deg));transition:none}.stamp-face:after{content:"";pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(circle at var(--mx) var(--my), #ffffffd9, transparent 45%), linear-gradient(115deg, transparent 30%, #ff9fc073 45%, #6cc4ee73 55%, transparent 70%);background-size:100% 100%,250% 250%;background-position:0 0, var(--mx) var(--my);position:absolute;inset:0}.badge.earned .badge-art{box-shadow:inset 0 -6px 10px #00000026,inset 0 6px 8px #fff9}.dex-card{background:linear-gradient(#fff,#eef5fc)}.dex-card:not(.seen) .dex-portrait{border-color:#fff;box-shadow:0 3px #bfd0e6,inset 0 -4px 6px #0000001a}.sniff{--edge:#bacce3;box-shadow:var(--lift-sm), var(--inner-hi);color:var(--ink-900);background:linear-gradient(#fff,#eef5fc);border-color:#fff}.sniff:disabled{box-shadow:var(--pressed), var(--inner-hi);background:linear-gradient(#eef5fc,#e4eef8);border-color:#fff;transform:translateY(2px)}.sniff.on{--edge:#d98e00;background:linear-gradient(#ffec9a,#ffc628)}.btn.spot-btn{--edge:#bacce3;--btn-bg:linear-gradient(180deg, #fff, #eef5fc);--btn-fg:var(--ink-900);border-color:#fff;gap:6px;padding:0 12px}.sheet{border-color:#fff;box-shadow:0 -10px 40px -10px #1a346073,inset 0 2px 1px #fff}.sheet-grip{background:linear-gradient(#ffec9a,#ffc628);box-shadow:0 2px #d98e00}.icon-btn.sheet-close,.icon-btn.sheet-more{--edge:#c3d3e8;box-shadow:var(--lift-sm);color:var(--ink-600);background:linear-gradient(#fff,#eef5fc);border:3px solid #fff}.icon-btn.sheet-close:active,.icon-btn.sheet-more:active{color:var(--ink-900)}@media (hover:hover){.icon-btn.sheet-close:hover,.icon-btn.sheet-more:hover{color:var(--ink-900);background:linear-gradient(#fff,#e4eef8)}}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101e3c73}.celebrate-stamp{animation:coin-in .9s var(--ease-out) both}@keyframes coin-in{0%{opacity:0;transform:perspective(700px)translateY(-90px)rotateY(-720deg)scale(.5)}65%{opacity:1;transform:perspective(700px)translateY(8px)rotateY(-12deg)scale(1.05)}to{transform:perspective(700px)rotateY(0)rotate(-3deg)}}.celebrate-art:before{filter:blur(6px);background:#1a346040}.chip .chip-glyph{background:color-mix(in srgb, var(--tag) 35%, #fff)}.quests,.quests h2,.quests-count,.quests-peek,.dex-card:not(.seen){color:var(--ink-900)}.dex-card:not(.seen) :is(.dex-no,.dex-sub){color:var(--ink-600)}.quests-count{background:#fff}.toy{vertical-align:middle;flex:none;place-items:center;display:inline-grid;position:relative}.toy>canvas{touch-action:manipulation;display:block;position:absolute;inset:0}.toy:not(.ready)>canvas{visibility:hidden}.toy>:not(canvas){grid-area:1/1}.toy.ready{animation:pop var(--t-slow) var(--ease-bounce) both}.post-btn{--edge:#d98e00;box-shadow:0 6px 0 var(--edge), 0 20px 30px -10px #8c50008c, inset 0 -8px 12px #ffc42859, inset 0 6px 10px #fff;background:radial-gradient(circle at 35% 25%,#fff 0 28%,#fff6d6 70%,#ffe79a 100%);border:4px solid #ffd23f;overflow:visible}.post-btn .post-toy{pointer-events:none;position:absolute;top:50%;left:50%;translate:-50% -63%}.post-btn .post-label{white-space:nowrap;border-radius:var(--r-pill);font-family:var(--title);font-weight:400;font-size:var(--fs-xs);--edge:#d98e00;color:#4a3000;box-shadow:var(--lift-sm);background:linear-gradient(#ffec9a,#ffc628);border:2.5px solid #fff;padding:2px 10px;position:absolute;bottom:6px;left:50%;translate:-50%}.tab .tab-toy{margin-top:-6px;margin-bottom:-4px}.tab{isolation:isolate}.tab.on:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#c9f5bc,#7bd88c);border-radius:18px;width:min(64px,100% - 8px);position:absolute;top:3px;bottom:3px;left:50%;translate:-50%;box-shadow:0 3px #3f9b4f,inset 0 2px 1px #fffc}.tab.on>span:not(.toy){color:#0f3a1e}.tab .tab-toy{transition:translate var(--t-med) var(--ease-bounce), scale var(--t-med) var(--ease-bounce)}.tab.on .tab-toy{translate:0 -3px;scale:1.08}.tab.on svg{box-shadow:none;color:#0f3a1e;background:0 0}.hud-dog{pointer-events:none;grid-row:span 2;place-items:center;width:84px;height:84px;margin:-24px -14px -15px -11px;display:grid}.hud-dog .avatar{margin-top:9px}.dialogue{grid-template-columns:84px 1fr}.dialogue-postie{place-items:end center;width:auto;height:auto;display:grid}.dialogue-postie .postie{width:76px;height:76px}.dialogue.compact .dialogue-postie .postie{width:56px;height:56px}.empty-postie{place-items:center;display:grid}.empty-postie .postie{width:112px;height:112px}.gem-level{flex:none;place-items:center;display:inline-grid;position:relative}.gem-level>.toy{grid-area:1/1}.gem-num{z-index:1;pointer-events:none;line-height:.9;font-family:var(--display);color:#fff;text-shadow:0 2px #4e33a8,0 0 6px #28146499;grid-area:1/1;justify-items:center;display:grid}.gem-num small{text-transform:uppercase;text-shadow:0 1.5px #4e33a8,0 0 4px #281464b3;font-size:11px;font-weight:700}.gem-num b{font-size:26px;font-weight:700}.gem-level .toy:not(.ready)~.gem-num{display:none}.badge .coin-toy{filter:drop-shadow(0 8px 8px #1a346038)}.badge:not(.earned) .coin-toy{opacity:.8}.profile-stage{place-items:center;width:220px;height:200px;display:grid;position:relative}.profile-photo{filter:drop-shadow(0 4px #c3d3e8);position:absolute;bottom:18px;right:-6px;transform:rotate(8deg)}.profile-photo img{width:56px;height:56px}.profile-stage .profile-portrait{position:static}.spot-coin{z-index:1;place-items:center;margin:4px 0 -18px;display:grid;position:relative}.spot-coin .toy{filter:drop-shadow(0 12px 12px #1a34604d)}.celebrate-art .coin-toy{filter:drop-shadow(0 16px 16px #1a34604d)}.celebrate-art .slam{z-index:2;bottom:6px;left:30px}.onboard-welcome .diorama{aspect-ratio:340/230;justify-self:center;max-width:340px;width:100%!important;height:auto!important}.onboard-welcome .diorama>canvas{width:100%!important;height:100%!important}.ds-hero-postie{place-items:center;display:grid}.wordmark,.stats dd,.gem-num b,.streak b,.dex-count,.quests-count,.level-badge b,.dex-pct b,.xp-float,.regular-count,.tab .dot,.near-spot b,.world-cluster,.ribbon,.dialogue-name,.post-label,.step-title,.hero-line,.sheet-title,.celebrate h2,.levelup-banner strong,.profile-name h2,.page-head h1,.quests-head h2,.ds-hero h1,.ds-section>header h2{font-family:var(--title);letter-spacing:.01em;font-weight:400}.wordmark{letter-spacing:0}.btn,.chip,.segmented button,.tab,.menu-item,strong,b{font-weight:800}.creator-stage{place-items:center;min-height:220px;display:grid;position:relative}.avatar-pick{z-index:1;cursor:pointer;justify-items:center;gap:4px;display:grid;position:absolute;bottom:6px;right:8px;transform:rotate(6deg)}.avatar-pick .stamp-frame{filter:drop-shadow(0 0 1px #1a346073)drop-shadow(0 3px #c3d3e8)drop-shadow(0 10px 12px #1a346033);display:grid}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .avatar-pick .stamp-frame{filter:drop-shadow(0 3px #08111f)drop-shadow(0 10px 12px #00000073)}}:root[data-theme=dark] .avatar-pick .stamp-frame{filter:drop-shadow(0 3px #08111f)drop-shadow(0 10px 12px #00000073)}.avatar-pick .stamp{transition:transform var(--t-med) var(--ease-bounce);transform:rotate(-3deg)}.avatar-pick:hover .stamp{transform:rotate(2deg)scale(1.04)}.avatar-pick .stamp img,.avatar-pick .photo-slot{width:72px;height:72px}.avatar-pick .stamp img{object-fit:cover;display:block}@media (width<=359px){.avatar-pick .stamp img,.avatar-pick .photo-slot{width:56px;height:56px}}.photo-slot{background:color-mix(in srgb, var(--stamp-ink) 6%, var(--stamp-paper));outline:2px dashed color-mix(in srgb, var(--stamp-ink) 32%, transparent);outline-offset:-7px;color:color-mix(in srgb, var(--stamp-ink) 62%, transparent);border-radius:4px;place-items:center;display:grid}.avatar-pick-label{white-space:nowrap;font-family:var(--display);font-weight:800;font-size:var(--fs-xs);color:var(--text);background:var(--surface-raised);border-radius:var(--r-pill);box-shadow:var(--lift-sm);align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.avatar-pick-orb{--edge:#c3d3e8;box-sizing:border-box;width:30px;height:30px;color:var(--ink-900);box-shadow:var(--lift-sm);background:linear-gradient(#fff,#eef5fc);border:2.5px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-6px;right:-6px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .avatar-pick-orb{--edge:#08111f}}:root[data-theme=dark] .avatar-pick-orb{--edge:#08111f}.nameplate{margin-top:8px;display:grid;position:relative}.nameplate-tag{--edge:#d06a1f;z-index:1;pointer-events:none;white-space:nowrap;border-radius:var(--r-pill);color:#4a1f00;font-family:var(--title);font-size:var(--fs-sm);letter-spacing:.01em;box-shadow:var(--lift-sm);background:linear-gradient(#ffd0a6,#ff9a4d);border:2.5px solid #fff;padding:1px 12px 2px;position:absolute;top:0;left:50%;translate:-50% -55%}.nameplate input{--edge:#c3d3e8;text-align:center;width:100%;min-height:64px;font:inherit;font-family:var(--title);color:var(--ink-900);border-radius:var(--r-pill);box-shadow:var(--lift-sm), inset 0 3px 4px #1a34601f;background:linear-gradient(#fff,#f2f7fd);border:3px solid #fff;padding:8px 20px 0;font-size:28px}.nameplate input::placeholder{color:#22314d9e}.nameplate input:focus{box-shadow:var(--lift-sm), inset 0 3px 4px #1a34601f, 0 0 0 4px color-mix(in srgb, var(--focus) 45%, transparent);outline:none}.nameplate input[aria-invalid=true]{box-shadow:var(--lift-sm), inset 0 3px 4px #1a34601f, 0 0 0 4px color-mix(in srgb, var(--danger) 55%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nameplate input{--edge:#08111f;background:linear-gradient(#f4f7ff,#dce5f2)}:root:not([data-theme=light]) .creator-traits summary:after{--edge:#08111f}}:root[data-theme=dark] .nameplate input{--edge:#08111f;background:linear-gradient(#f4f7ff,#dce5f2)}:root[data-theme=dark] .creator-traits summary:after{--edge:#08111f}.breed-pick{gap:10px;display:grid}.breed-pick .creator-ai-say:empty{display:none}.breed-chips{flex-wrap:wrap;gap:8px;display:flex}.breed-chip{--tag:var(--sun-200);padding:0 16px;font-weight:700}.breed-colours{margin:0}.creator-traits{background:var(--surface-raised);border:var(--bw) solid var(--outline);border-radius:var(--r-lg);--edge:#ccdaec;box-shadow:var(--lift-sm), var(--inner-hi);padding:10px 16px 18px;display:block}.creator-traits summary{min-height:44px;font-family:var(--title);font-size:var(--fs-xl);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding-block:4px;list-style:none;display:flex;position:relative}.creator-traits summary::-webkit-details-marker{display:none}.creator-traits summary:after{content:"";box-sizing:border-box;--edge:#c3d3e8;width:34px;height:34px;box-shadow:var(--lift-sm);background:linear-gradient(#fff,#eef5fc);border:3px solid #fff;border-radius:50%;flex:none}.creator-traits summary:before{content:"";z-index:1;pointer-events:none;width:34px;height:34px;transition:transform .35s var(--ease-bounce);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322314D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E") 50%/16px no-repeat;margin-top:-17px;position:absolute;top:50%;right:0}.creator-traits[open] summary:before{transform:rotate(180deg)}.creator-traits-body{gap:20px;margin-top:14px;display:grid}.creator-traits .segmented button{padding:0 6px}.swatches{grid-template-columns:repeat(6,minmax(0,44px));justify-content:space-between;gap:12px 6px;margin-top:4px;display:grid}@media (width<=359px){.swatches{grid-template-columns:repeat(4,minmax(0,44px))}}.swatch{--edge:#1a346059;aspect-ratio:1;cursor:pointer;width:100%;height:auto;box-shadow:inset 0 0 0 1.5px #1a34608c, var(--lift-sm);transition:transform var(--t-med) var(--ease-bounce);background-image:radial-gradient(22% 15% at 34% 30%,#ffffffe6 0 55%,#fff0 100%);border:3px solid #fff;border-radius:50%;padding:0;position:relative}.swatch:active{transform:scale(.92)}.swatch.on{--edge:#d98e00;box-shadow:inset 0 0 0 1.5px #1a34608c, 0 0 0 3px var(--sun-400), 0 3px 0 3px var(--edge), 0 0 14px 4px color-mix(in srgb, var(--sun-400) 55%, transparent);transform:translateY(-2px)}.swatch.on:after{content:"✓";font:900 18px/1 var(--body);color:#fff;text-shadow:0 0 2px #000,0 1px 2px #000;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.swatch:focus-visible,.swatch.on:focus-visible{outline:3px dashed var(--text);outline-offset:5px}.swatch.custom:has(input:focus-visible){outline:3px dashed var(--text);outline-offset:5px}.swatch.custom{background-image:conic-gradient(#f25c78,#ffd23f,#7bd88c,#6cc4ee,#a48bfa,#f25c78)!important}.swatch.custom.on{border-color:#0000;background:linear-gradient(var(--pick), var(--pick)) padding-box, conic-gradient(#f25c78, #ffd23f, #7bd88c, #6cc4ee, #a48bfa, #f25c78) border-box!important}.swatch.custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.18)}to{transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}}@keyframes hop{0%{transform:translateY(0)}35%{transform:translateY(-6px)scale(1.06,.94)}65%{transform:translateY(0)scale(.96,1.04)}to{transform:none}}@keyframes bob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-5px)rotate(1deg)}}@keyframes breathe{0%,to{scale:1}50%{scale:1.04}}@keyframes ping{0%{opacity:.7;transform:scale(.92)}40%,to{opacity:0;transform:scale(1.25)}}@keyframes spin{to{rotate:360deg}}@keyframes fresh{0%,to{opacity:.95}50%{opacity:.4}}@keyframes snuffle{30%{transform:scale(1.3)rotate(-10deg)}60%{transform:scale(.95)rotate(8deg)}}@keyframes rise{0%{opacity:.4;transform:translateY(70px)}}@keyframes fade{0%{opacity:0}}@keyframes step-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}@keyframes land{0%{opacity:0;transform:translateY(18px) rotate(calc(var(--tilt,0deg) - 4deg)) scale(.96)}}@keyframes tip-out{to{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes pin-drop{0%{opacity:0;transform:translateY(-26px)scale(.7)}60%{opacity:1;transform:translateY(2px)scale(1.06,.92)}to{transform:none}}@keyframes foil{to{background-position:300% 0}}@keyframes shine{0%,60%{transform:translate(-60%)}to{transform:translate(60%)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-60px)rotate(-14deg)scale(.8)}70%{opacity:1;transform:translateY(4px)rotate(-1deg)scale(1.03)}to{transform:rotate(-3deg)}}@keyframes slam{0%{opacity:0;transform:scale(2.6)rotate(-24deg)}60%{opacity:.95}to{opacity:.85;transform:scale(1)rotate(-10deg)}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-1px)}80%{transform:translate(2px,1px)}}@keyframes float-up{0%{opacity:0;transform:translateY(10px)scale(.7)}20%{opacity:1;transform:translateY(0)scale(1.15)}35%{transform:scale(1)}to{opacity:0;transform:translateY(-46px)}}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)scale(.4)}to{opacity:0;transform:translate(var(--dx), var(--dy)) rotate(var(--dr)) scale(1)}}@keyframes fill-in{0%{width:var(--from,0%)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1)rotate(90deg)}}@keyframes caret{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes wiggle{0%,to{rotate:0deg}25%{rotate:-6deg}75%{rotate:6deg}}@keyframes flicker{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.1,.94)rotate(3deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.app{display:block;position:fixed;inset:0}.demo-banner{z-index:var(--z-banner);top:var(--safe-t);text-align:center;font-family:var(--display);font-size:var(--fs-xs);background:var(--ink-900);color:var(--sun-200);padding:4px 12px;font-weight:600;position:fixed;left:0;right:0}.demo-banner~.topbar{top:calc(var(--safe-t) + 39px)}.topbar{z-index:var(--z-hud);top:calc(var(--safe-t) + 12px);justify-content:space-between;align-items:flex-start;gap:var(--s-2);pointer-events:none;display:flex;position:fixed;left:10px;right:10px}.topbar>*{pointer-events:auto}.hud{justify-items:start;gap:8px;display:grid}.hud-card{background:var(--glass);border-radius:var(--r-lg);border:var(--bw) solid var(--glass-rim);min-width:212px;max-width:min(300px,100vw - 92px);box-shadow:var(--lift), inset 0 2px 1px var(--glass-hi);text-align:left;color:var(--text);transition:transform var(--t-fast) var(--ease-bounce);grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:8px 14px 10px 8px;display:grid}.hud-card:active{transform:scale(.97)}.hud-top{align-items:center;gap:6px;min-width:0;display:flex}.hud-name{font-family:var(--display);font-weight:800;font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-bottom{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.hud-bottom.solo{grid-template-columns:1fr}.hud-wordmark{background:var(--glass);border:var(--bw) solid var(--glass-rim);border-radius:var(--r-lg);box-shadow:var(--lift), inset 0 2px 1px var(--glass-hi);align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.counter{font-family:var(--display);font-size:var(--fs-xs);border-width:var(--bw);border-radius:var(--r-pill);border-style:solid;align-items:center;gap:6px;padding:2px 12px 2px 3px;font-weight:800;line-height:1;display:inline-flex}.counter b{font-family:var(--title);letter-spacing:.01em;font-size:17px;font-weight:400}.counter i{border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-style:normal;display:grid}.counter.offline{padding:6px 12px}.hud-status{display:grid}.home-pill{font-family:var(--display);font-weight:800;font-size:var(--fs-sm);border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:6px;min-height:44px;padding:0 14px 0 10px;display:inline-flex;position:relative}@media (width<=430px){.home-pill{justify-content:center;width:54px;min-height:54px;padding:0}.home-pill span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.home-pill svg{width:24px;height:24px}}.home-pill.on svg{color:var(--leaf-800)}.home-pill:not(.on):after{content:"";background:var(--badge-bg);width:14px;height:14px;box-shadow:0 2px 0 var(--badge-edge);pointer-events:none;border:2px solid #fff;border-radius:50%;position:absolute;top:-3px;right:-3px}.map-shell{position:fixed;inset:0}.map{z-index:0;background:var(--map-bg);position:absolute;inset:0}.leaflet-container{font-family:var(--body);background:var(--map-bg)}.leaflet-tile-pane{filter:sepia(.28)saturate(1.25)hue-rotate(-8deg)brightness(1.03)contrast(.92)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .leaflet-tile-pane{filter:invert()hue-rotate(170deg)saturate(.5)brightness(.78)contrast(.92)}}:root[data-theme=dark] .leaflet-tile-pane{filter:invert()hue-rotate(170deg)saturate(.5)brightness(.78)contrast(.92)}.paper-tiles .leaflet-tile-pane{filter:none}.leaflet-tile-pane:has(canvas){filter:none}.leaflet-control-attribution{color:var(--text-soft);border-radius:8px 0 0 8px;font-size:10px;margin-bottom:calc(var(--above-tabbar) + 8px)!important;background:color-mix(in srgb, var(--surface) 80%, transparent)!important}.leaflet-control-attribution a{color:var(--text-soft)}.unclaimed{z-index:var(--z-fab);left:12px;right:80px;bottom:calc(var(--above-tabbar) + 22px);background:var(--surface-raised);border:var(--bw) dashed var(--outline);border-radius:var(--r-lg);max-width:420px;box-shadow:var(--glow);animation:land var(--t-slow) var(--ease-bounce) both;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px 16px 12px 12px;display:grid;position:fixed}.unclaimed-stamp{background:var(--peach-100);border:2.5px solid var(--outline);border-radius:16px;place-items:center;width:54px;height:54px;font-size:30px;animation:2.6s ease-in-out infinite bob;display:grid}.unclaimed strong{font-family:var(--display);font-size:var(--fs-lg)}.unclaimed p{font-size:var(--fs-sm);color:var(--text-soft);margin-top:2px}.page{-webkit-overflow-scrolling:touch;padding:calc(var(--safe-t) + 22px) 16px calc(var(--above-tabbar) + 64px);position:fixed;inset:0;overflow-y:auto}.demo-banner~.page{padding-top:calc(var(--safe-t) + 48px)}.page>*{max-width:640px;margin-inline:auto}.page>*+*{margin-top:20px}.page-head{gap:14px;display:grid}.page-head h1{font-size:var(--fs-2xl);overflow-wrap:anywhere}.page-head h1 .emoji{animation:2.4s ease-in-out infinite wiggle;display:inline-block}.page-head h1{align-items:center;gap:8px;display:flex}.page-head h1 .toy{margin:-10px 2px -10px -6px}.page-head h1>span:last-child{min-width:0}.section-title{font-size:var(--fs-lg);text-wrap:balance;align-items:baseline;gap:8px;margin:28px 0 12px;display:flex}.section-title .muted{font-family:var(--body);font-size:var(--fs-sm);font-weight:400}.card{background:var(--surface-raised);border:var(--bw) solid var(--outline);border-radius:var(--r-lg);padding:var(--s-4)}.activity{gap:var(--s-2);margin-bottom:0;padding:0;list-style:none;display:grid}.activity-btn{text-align:left;background:var(--surface-raised);border:var(--bw) solid var(--outline-soft);border-radius:var(--r-md);width:100%;transition:transform var(--t-fast) var(--ease-bounce), border-color var(--t-fast);align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative}.activity-btn:hover{border-color:var(--outline)}.activity-btn:active{transform:scale(.98)}.activity-btn>span{display:grid}.activity-row.unread .activity-btn{border-color:var(--outline);box-shadow:var(--lift-sm)}.activity-row.unread .activity-btn:after{content:"";background:var(--badge-bg);border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-top:-6px;position:absolute;top:50%;right:14px}.activity-text{padding-right:20px;font-weight:700}.activity-kind{--edge:#e0b020;width:24px;height:24px;box-shadow:var(--lift-sm);background:linear-gradient(#fff6c9,#ffe27a);border:2px solid #fff;border-radius:50%;place-items:center;font-size:12px;display:grid;position:absolute;bottom:4px;left:32px}.pack-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:16px 8px;display:grid}.pack-dog{font-family:var(--display);font-weight:800;font-size:var(--fs-sm);color:var(--text);transition:transform var(--t-med) var(--ease-bounce);background:0 0;border:0;justify-items:center;gap:6px;display:grid}.pack-dog:hover{transform:translateY(-3px)}.pack-dog .avatar{box-shadow:0 0 0 3px var(--outline), var(--lift)}.suggest-list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.suggest{background:var(--surface-raised);border:var(--bw) solid var(--outline-soft);border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.suggest .btn{white-space:nowrap;flex:none}.suggest-who{text-align:left;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.suggest-who>span{min-width:0;display:grid}.suggest-who strong{font-family:var(--display);font-size:var(--fs-lg);font-weight:700}.suggest-who .one-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.btn.round{border-radius:50%;flex:none;width:48px;height:48px;min-height:48px;padding:0}.pack-dog.new{animation:pop var(--t-slow) var(--ease-bounce) backwards}.btn.pop{animation:pop var(--t-slow) var(--ease-bounce)}.pack-slots{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pack-slot{border:3px dashed color-mix(in srgb, var(--text-soft) 60%, transparent);background:color-mix(in srgb, var(--surface-sunk) 85%, transparent);width:56px;height:56px;box-shadow:inset 0 3px 6px color-mix(in srgb, var(--outline) 14%, transparent);border-radius:50%}.profile{gap:6px;display:grid}.profile-head{text-align:center;justify-items:center;gap:12px;padding-top:6px;display:grid}.profile-portrait{filter:drop-shadow(0 4px 0 color-mix(in srgb, var(--outline) 55%, transparent));animation:land var(--t-slow) var(--ease-bounce) both;position:relative;transform:rotate(-3deg)}.profile-portrait:after{content:"";background:color-mix(in srgb, var(--sky-200) 85%, transparent);width:70px;height:20px;margin-left:-35px;position:absolute;top:-8px;left:50%;transform:rotate(4deg)}.profile-portrait .avatar{box-shadow:none;border-radius:4px}.profile-name h2{font-size:var(--fs-3xl);overflow-wrap:anywhere;text-wrap:balance}.profile-name{justify-items:center;gap:4px;display:grid}.profile-bio{max-width:36ch;font-style:italic}.stats{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;max-width:460px;margin:4px 0;padding:0;display:grid}.stats div{border:var(--bw) solid #fff;border-radius:var(--r-md);gap:0;padding:8px 2px;display:grid}.stats dt{font-size:var(--fs-xs);color:var(--ink-700);order:2;font-weight:700}.stats dd{color:var(--ink-900);order:1;margin:0;font-size:26px}.profile-head .btn-row{gap:var(--s-3);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);width:100%;max-width:460px;display:grid}.profile-head .btn-row>:only-child{grid-column:1/-1}.profile>.add-dog{justify-self:center;margin-top:6px}.profile-head{position:relative}.icon-btn.sheet-more{z-index:2;position:absolute;top:0;left:0}.dog-switch{gap:var(--s-2);display:grid}.dog-switch-row{gap:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.dog-switch-btn{border-radius:var(--r-pill);border:var(--bw) solid var(--outline-soft);background:var(--surface-raised);font-family:var(--display);flex:none;align-items:center;gap:8px;padding:6px 16px 6px 6px;font-weight:800;display:flex}.dog-switch-btn.on{border-color:var(--outline);background:var(--action);color:var(--on-action);box-shadow:var(--lift-sm)}.settings{gap:var(--s-3);display:grid}.setting{background:var(--surface-raised);border:var(--bw) solid var(--outline-soft);border-radius:var(--r-lg);padding:var(--s-4);gap:var(--s-3);text-align:left;width:100%;display:grid}button.setting{transition:border-color var(--t-fast), transform var(--t-fast) var(--ease-bounce)}button.setting:hover{border-color:var(--outline)}button.setting:active{transform:scale(.98)}.setting-head{grid-template-columns:40px 1fr;align-items:start;gap:12px;display:grid}.setting-head svg{box-sizing:border-box;background:var(--leaf-100);width:40px;height:40px;color:var(--leaf-800);border-radius:14px;place-items:center;padding:8px;display:grid}.setting-head strong{font-family:var(--display);font-size:var(--fs-md)}.setting-btn .setting-head{grid-template-columns:40px 1fr auto}.setting-chev{color:var(--text-soft);align-self:center;font-size:24px;line-height:1}.setting .btn-row>.btn{white-space:nowrap;flex:1 1 0}.setting .btn-row>.btn.ghost{flex:none}.promises{--edge:#3f9b4f;color:#0f3a1e;border:var(--bw) solid #fff;border-radius:var(--r-lg);box-shadow:var(--lift-sm), var(--inner-hi);background:linear-gradient(#e9ffe2,#c8f2c0);padding:0}.promises summary{min-height:48px;font-family:var(--title);font-weight:400;font-size:var(--fs-lg);cursor:pointer;border-radius:var(--r-lg);align-items:center;gap:12px;padding:12px 16px;list-style:none;display:flex}.promises summary>span{text-wrap:balance}@media (width<=379px){.promises summary{font-size:var(--fs-md)}}.promises summary::-webkit-details-marker{display:none}.promises summary svg{color:#2f8a45;flex:none}.promises summary:after{content:"";width:9px;height:9px;transition:rotate var(--t-fast) var(--ease-out);border-bottom:3px solid;border-right:3px solid;flex:none;margin-left:auto;translate:0 -2px;rotate:45deg}.promises[open] summary:after{translate:0 2px;rotate:225deg}.promises ul{gap:6px;margin:0;padding:0 16px 16px 54px;font-weight:700;display:grid}.btn.ghost.danger-link{--btn-fg:var(--danger);min-height:44px;font-size:var(--fs-sm);margin:8px auto 0;display:flex}:root:not([data-theme=dark]) .btn.ghost.danger-link{--btn-fg:#a82440}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.ghost.danger-link{--btn-fg:var(--danger)}}.diary{gap:6px;padding-left:20px;display:grid}.spot-head{background:var(--surface-raised);color:var(--text);border:var(--bw) solid var(--outline);border-radius:var(--r-lg);gap:2px;margin-top:4px;padding:14px 16px 16px;display:grid}.spot-head .eyebrow{font-family:var(--display);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-weight:800}.spot-head .sheet-title{text-wrap:balance;margin:0 0 2px;padding-right:0}.spot-head p{color:var(--text-soft);text-wrap:balance;font-weight:700}.spot-head+*{margin-top:2px}.regulars{min-width:0}.regulars-row{scroll-snap-type:x mandatory;gap:clamp(10px,25% - 67.5px,24px);padding:20px 6px 8px;scroll-padding-inline:6px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.regulars-row:after{content:"";flex:0 0 8px}.regular{min-width:60px;color:var(--text);scroll-snap-align:start;background:0 0;border:0;flex:none;justify-items:center;gap:12px;padding:0;display:grid;position:relative}.regular-name{font-family:var(--display);font-weight:800;font-size:var(--fs-sm)}.regular-count{border:2.5px solid #fff;border-radius:12px;place-items:center;min-width:24px;height:24px;padding:0 5px;font-size:12px;display:grid;position:absolute;top:-2px;right:-6px}.regular .crown{font-size:20px;animation:2.4s ease-in-out infinite bob;position:absolute;top:-16px;left:50%;translate:-50%;rotate:-10deg}.regulars .section-title{margin-top:4px}.spot-more{justify-self:center}.near-wrap{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:46px;height:46px;padding:0;display:grid}.near-wrap.dim .near-spot{opacity:.65;transition:opacity var(--t-fast), scale var(--t-fast) var(--ease-out);scale:.88}.locating{color:var(--text-soft);font-family:var(--display);justify-items:center;gap:16px;padding:30px 0;font-weight:800;display:grid}.ripple{background:var(--action);border:var(--bw) solid var(--outline);border-radius:50%;place-items:center;width:72px;height:72px;font-size:30px;display:grid;position:relative}.ripple:before,.ripple:after{content:"";border:3px solid var(--sun-500);border-radius:50%;animation:1.6s ease-out infinite ping;position:absolute;inset:-3px}.ripple:after{animation-delay:.8s}.post-form{gap:22px;display:grid}.post-form>.field>legend,.post-form>.field>.field-label{font-size:var(--fs-lg);color:var(--text);letter-spacing:.01em}.post-form .chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;display:grid}.post-form .chip{white-space:normal;text-align:left;min-height:54px;padding:6px 10px 6px 6px;line-height:1.15}.post-form .chip .chip-glyph{flex:none;width:34px;height:34px;font-size:18px}.post-form .chip:last-child:nth-child(odd){grid-column:1/-1}.post-form .hint{text-wrap:balance}.pin-block .btn .pole-glyph{background:linear-gradient(#fff,#e4eef8);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;margin-left:-8px;font-size:15px;line-height:1;display:grid;box-shadow:inset 0 -2px 3px #1a34601f,0 0 0 1px #1a34601a}.spot-preview{background:var(--surface-raised);border:var(--bw) solid var(--outline);border-radius:var(--r-lg);align-items:center;gap:14px;padding:12px 14px;display:flex}.spot-preview>div:last-child{display:grid}.spot-preview-faces{display:flex}.spot-preview-faces .avatar+.avatar{margin-left:-10px}@media (width<=374px){.spot-preview-faces .avatar+.avatar{margin-left:-14px}.spot-preview-faces .avatar:nth-child(n+4){display:none}}.flag{transform-origin:20% 90%;font-size:30px;animation:2s ease-in-out infinite wiggle;display:inline-block}.photo-drop{border:var(--bw) solid #fff;border-radius:var(--r-md);--edge:#ccdaec;min-height:64px;color:var(--ink-900);font-size:var(--fs-sm);box-shadow:var(--lift-sm), var(--inner-hi);cursor:pointer;transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast);background:linear-gradient(#fff,#eef5fc);align-items:center;gap:12px;padding:10px 16px 10px 10px;font-weight:700;display:flex;position:relative}.photo-drop:active{box-shadow:var(--pressed), var(--inner-hi);transform:translateY(2px)}.photo-drop svg{box-sizing:border-box;color:#0e3a66;background:linear-gradient(#c9ebff,#6cc4ee);border-radius:50%;flex:none;width:44px;height:44px;padding:10px;box-shadow:0 3px #3e95d6,inset 0 2px 1px #fffc}.photo-drop input,.avatar-pick input{opacity:0;width:1px;height:1px;position:absolute}.photo-drop:focus-within,.avatar-pick:focus-within{outline:3px solid var(--focus);outline-offset:2px}.photo-preview{align-items:center;gap:14px;display:flex}.photo-preview img{object-fit:cover;border:var(--bw) solid var(--outline);border-radius:12px;width:96px;height:72px}.photo-preview>div{justify-items:start;display:grid}.ok{color:var(--success);font-weight:700;font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.pin-block{justify-items:start;gap:10px;display:grid}.pin-block .spot-preview{width:100%}.spot-preview-text{min-width:0;display:grid}.spot-preview-text strong{font-family:var(--display);font-size:var(--fs-md);text-wrap:balance}.spot-preview-text .small{text-wrap:balance}.pin-map{isolation:isolate;border-radius:var(--r-lg);background:var(--map-bg);border:var(--bw) solid var(--outline);width:100%;height:220px;box-shadow:var(--lift);position:relative;overflow:hidden}.pole-map-wrap{isolation:isolate;position:relative}.pole-map{isolation:isolate;border-radius:var(--r-lg);background:var(--map-bg);border:var(--bw) solid var(--outline);width:100%;height:160px;box-shadow:var(--lift);position:relative;overflow:hidden}.pole-link{z-index:2;position:absolute;bottom:12px;right:10px}.celebrate{isolation:isolate;text-align:center;animation:rise-in var(--t-slow) var(--ease-bounce) both;justify-items:center;gap:12px;padding:8px 0 4px;display:grid;position:relative}.celebrate h2{font-size:var(--fs-3xl);text-wrap:balance;animation:pop-in var(--t-slow) .35s var(--ease-bounce) both}.celebrate>p{max-width:32ch;color:var(--text-soft);text-wrap:balance;animation:rise-in var(--t-slow) .45s var(--ease-out) both}.celebrate .faces-row{animation:rise-in var(--t-slow) .55s var(--ease-out) both}.celebrate .levelup-banner{animation:pop-in var(--t-slow) .9s var(--ease-bounce) both}.celebrate .reward-pill{animation:pop-in var(--t-slow) calc(var(--base,.75s) + var(--i,0) * .12s) var(--ease-bounce) both}.celebrate .xp{width:min(100%,280px);animation:rise-in var(--t-slow) var(--base,.75s) var(--ease-out) both}.celebrate .xp-bar i{animation-delay:calc(var(--base,.75s) + .3s)}.celebrate .new-stamps .field-label{animation:pop-in var(--t-slow) calc(var(--stamps,1.1s) - .1s) var(--ease-bounce) both}.celebrate .new-stamps .badge{animation:pop-in var(--t-slow) calc(var(--stamps,1.1s) + var(--i,0) * .15s) var(--ease-bounce) both}.celebrate>.hint{text-wrap:balance;max-width:32ch}.celebrate-art{margin:14px 0 6px;animation:.3s linear .5s both shake;position:relative}.celebrate-stamp{--hole:5px;--pitch:15px;background:var(--stamp-paper);width:200px;height:200px;-webkit-mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;-webkit-mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;mask:radial-gradient(var(--hole) at var(--hole) var(--hole), #0000 97%, #000) calc(-1 * var(--hole)) calc(-1 * var(--hole)) / var(--pitch) var(--pitch) round, linear-gradient(#000 0 0) content-box;animation:drop-in .55s var(--ease-bounce) both;padding:10px;position:relative}.celebrate-art:before{content:"";background:color-mix(in srgb, var(--outline) 35%, transparent);border-radius:6px;animation:.5s .3s both fade;position:absolute;inset:8px -6px -6px 8px;transform:rotate(-3deg)}.celebrate-stamp img{object-fit:cover;background:var(--action);border-radius:4px;width:100%;height:100%;display:block}.celebrate-art+h2{margin-top:18px}.celebrate-stamp.private{color:var(--success);background:var(--success-bg);place-items:center;display:grid}.celebrate-art .slam{color:var(--ink-stamp);mix-blend-mode:multiply;animation:slam .42s .45s var(--ease-squish) both;position:absolute;bottom:14px;left:46px}.celebrate-art.big .slam{bottom:-4px;left:6px}.faces-row{flex-wrap:wrap;justify-content:center;gap:18px 14px;padding-bottom:8px;display:flex}.faces-more{width:40px;height:40px;font-family:var(--title);color:var(--ink-900);background:linear-gradient(180deg, #fff8d6, var(--sun-200));box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--sun-400), 0 4px 0 6px #d98e00, 0 12px 16px -6px var(--shade);border-radius:50%;flex:none;place-items:center;font-size:15px;display:grid}.new-stamps{justify-items:center;gap:10px;width:100%;margin-top:4px;display:grid}.celebrate .reward-pill.quest{justify-content:center;width:100%}.celebrate .sheet-dock{width:auto;margin:8px -18px calc(-32px - var(--safe-b));justify-self:stretch}.celebrate .sheet-dock.pair{grid-template-columns:minmax(max-content,1fr) 1.5fr;align-items:stretch}.celebrate .quests{text-align:left;width:100%}.onboard{min-height:100dvh;padding:calc(var(--safe-t) + 14px) 20px calc(var(--safe-b) + 28px);display:grid;overflow-x:clip}.onboard>*{width:100%;max-width:520px;margin-inline:auto}.onboard-welcome{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.welcome-body{grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;gap:20px;display:grid}.onboard-welcome,.onboard-step{animation:step-in .32s var(--ease-bounce) backwards;transform-origin:50% 0}.hero-line{font-size:var(--fs-xl);text-wrap:balance;max-width:26ch;line-height:1.22}.hero-line em{background:linear-gradient(transparent 58%, var(--sun-200) 58% 92%, transparent 92%);padding:0 4px;font-style:normal}.lede{color:var(--text-soft);max-width:40ch;font-size:18px}.welcome-art{width:100%;max-height:210px}.onboard-step{grid-template-columns:minmax(0,1fr);align-content:start;gap:18px;display:grid;position:relative}.step-title{font-size:var(--fs-2xl)}.step-title:focus,.hero-line:focus{outline:none}.step-head{grid-template-columns:44px 1fr 44px;justify-self:stretch;align-items:center;min-height:44px;display:grid}.step-head .back{--edge:#c3d3e8;width:44px;height:44px;box-shadow:var(--lift-sm);color:var(--ink-900);background:linear-gradient(#fff,#eef5fc);border:3px solid #fff;grid-column:1}.step-head .back:hover{color:var(--ink-900);background:linear-gradient(#fff,#e3edf9)}.step-head .back:active{box-shadow:var(--pressed);transform:translateY(3px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .step-head .back{--edge:#08111f}}:root[data-theme=dark] .step-head .back{--edge:#08111f}.step-dots{grid-column:2;justify-self:center;align-items:center;gap:6px;display:flex}.step-dots i{background:var(--text-soft);border-radius:50%;width:10px;height:10px}.step-dots i.on{background:linear-gradient(180deg, var(--action-hi), var(--action));width:26px;box-shadow:0 0 0 2px var(--outline), 0 0 12px color-mix(in srgb, var(--action) 70%, transparent);border-radius:5px}.onboard-cta,.onboard-step .dog-form-submit{z-index:2;padding:16px 20px calc(var(--safe-b) + 12px);justify-self:stretch;margin-inline:-20px;position:sticky;bottom:0}.onboard-cta:before,.onboard-step .dog-form-submit:before{content:"";z-index:-1;pointer-events:none;background-color:var(--bg);background-image:var(--sky), linear-gradient(180deg, var(--sky-top) 0%, var(--bg) 42%, var(--bg-2) 100%);background-size:cover,100% 100%;background-attachment:fixed,fixed;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 24px);mask-image:linear-gradient(#0000,#000 24px)}@supports (-webkit-touch-callout:none){.onboard-cta:before,.onboard-step .dog-form-submit:before{background-image:none;background-color:color-mix(in srgb, var(--bg) 50%, var(--bg-2))}}.onboard-cta{justify-items:center;gap:4px;display:grid}.onboard-cta>.btn.big,.onboard-cta>.notice{justify-self:stretch;width:100%}.onboard-cta>.muted{font-size:var(--fs-xs);text-wrap:balance}.skip-warn .btn-row{justify-content:center}.onboard-step .dog-form :is(input,summary,.breed-chip){scroll-margin-bottom:120px}.skip-warn{scroll-margin-bottom:150px}.dog-form{gap:16px;display:grid}.home-preview{isolation:isolate;border-radius:var(--r-lg);background:var(--surface);border:var(--bw) solid #fff;height:160px;box-shadow:var(--lift);place-items:center;display:grid;position:relative;overflow:hidden}.home-preview.has-map .home-marker{z-index:500;pointer-events:none;position:absolute;top:50%;left:50%;translate:-50% -70%}.home-size{display:grid}.home-size .hint{margin-top:8px}.home-map,.home-art{width:100%;height:100%}.promise-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.promise-list li{grid-template-columns:28px 1fr;align-items:start;gap:10px;font-weight:700;display:grid}.promise-list svg{color:var(--ink-900);background:var(--leaf-200);border:2px solid var(--outline);box-sizing:content-box;border-radius:50%;width:16px;height:16px;padding:3px}.boot{align-content:center;place-items:center;gap:16px;min-height:100dvh;padding:20px;display:grid}.boot .postie{width:120px;height:120px;animation:2s ease-in-out infinite bob}.loading{background:radial-gradient(circle at 50% 50%, var(--surface-sunk) 0 22px, transparent 23px);height:200px}.page-tabs{max-width:360px}@media (width>=900px){.stamp-stack{grid-template-columns:repeat(2,1fr)}.page>*{max-width:760px}}.rays{z-index:-1;pointer-events:none;background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--sun-400) 55%, transparent) 0deg 10deg, transparent 10deg 22.5deg);width:420px;height:420px;margin:-210px 0 0 -210px;animation:18s linear infinite spin,.6s .4s both fade;position:absolute;top:50%;left:50%;-webkit-mask:radial-gradient(circle,#000 18%,#0000 68%);mask:radial-gradient(circle,#000 18%,#0000 68%)}.celebrate-art{isolation:isolate}.levelup-banner{isolation:isolate;overflow:hidden}.levelup-banner .rays{background:repeating-conic-gradient(#ffffff73 0deg 9deg,#0000 9deg 20deg);width:560px;height:560px;margin:-280px 0 0 -280px}.stamp-face.portrait{--tint:var(--sun-400);aspect-ratio:16/9;background:radial-gradient(circle at 30% 50%, #ffffff8c 0 22%, transparent 23%), repeating-linear-gradient(-45deg, color-mix(in srgb, var(--tint) 85%, #fff) 0 12px, color-mix(in srgb, var(--tint) 65%, #fff) 12px 24px);place-items:center;display:grid}.stamp-portrait{aspect-ratio:1;object-fit:cover;border:3px solid var(--outline);width:46%;box-shadow:var(--lift);background:var(--cream-50);animation:pop var(--t-slow) var(--ease-bounce) both;border-radius:50%;justify-self:start;margin-left:9%}.map-shell:after{content:"";pointer-events:none;z-index:1;transition:background 2s;position:absolute;inset:0}:root[data-time=morning] .map-shell:after{background:linear-gradient(#ffc4a038,#0000 55%)}:root[data-time=golden] .map-shell:after{mix-blend-mode:multiply;background:linear-gradient(#ffa45c3d,#ffd23f14 60%,#0000)}:root[data-time=night]:not([data-theme=dark]) .map-shell:after{mix-blend-mode:multiply;background:linear-gradient(#14263a52,#14263a24)}@media (prefers-color-scheme:dark){:root[data-time=night]:not([data-theme=light]) .map-shell:after{background:0 0}}:root[data-time=night] :is(.world-cluster,.map-shell>.fab,.topbar :is(button,a)){--focus:var(--sun-400)}.map-tip{z-index:var(--z-fab);left:12px;right:12px;bottom:calc(var(--above-tabbar) + 56px);max-width:440px;animation:land var(--t-slow) .6s var(--ease-bounce) both;margin-inline:auto;position:fixed}.map-tip:after{content:"";left:50%;bottom:calc(-11px + var(--bw));--edge:#c3d3e8;border-right:var(--bw) solid #fff;border-bottom:var(--bw) solid #fff;width:20px;height:20px;box-shadow:4px 4px 0 var(--edge);clip-path:polygon(130% -30%,130% 130%,-30% 130%);pointer-events:none;background:#f2f7fd;margin-left:-11.5px;position:absolute;transform:rotate(45deg)}.map-tip~.fab{bottom:calc(var(--above-tabbar) + 182px)}.map-tip.leaving{animation:tip-out var(--t-med) var(--ease-out) both;pointer-events:none}.map-tip.leaving~.fab{bottom:calc(var(--above-tabbar) + 30px)}@media (prefers-reduced-motion:reduce){.map-tip{animation-delay:0s}}.spot-list:not(:focus-within){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}.spot-list:focus-within{z-index:var(--z-hud);left:12px;right:12px;bottom:calc(var(--above-tabbar) + 36px);overscroll-behavior:contain;border-width:var(--bw);border-radius:var(--r-lg);max-width:440px;max-height:40vh;animation:land var(--t-slow) var(--ease-bounce) both;border-style:solid;margin-inline:auto;padding:6px;position:fixed;overflow:auto}.spot-list ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.spot-list button{text-align:left;border-radius:var(--r-md);width:100%;min-height:48px;color:var(--text);font-family:var(--display);font-weight:800;font-size:var(--fs-sm);background:0 0;border:0;align-items:center;gap:10px;padding:8px 12px 8px 8px;line-height:1.3;display:flex}.spot-list button:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.spot-list button>span{gap:1px;min-width:0;display:grid}.spot-list strong{font-family:var(--title);font-weight:400;font-size:var(--fs-md);letter-spacing:.01em;line-height:1.15}.spot-list small{color:var(--text-soft);font-size:var(--fs-xs);font-weight:700}.spot-list button:focus-visible{outline-offset:-3px}.spot-list i{color:#6a3d00;background:linear-gradient(#ffd84d,#f2a900);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 2px #c98a00,inset 0 1px 1px #ffffffb3}.btn.primary.big{overflow:hidden}.btn.primary.big:after{content:"";pointer-events:none;z-index:-1;background:linear-gradient(100deg,#0000,#ffffffa6,#0000);width:30%;animation:4.5s ease-in-out infinite glint;position:absolute;top:0;bottom:0;left:-40%;transform:skew(-20deg)}@keyframes glint{0%,70%{left:-40%}to{left:130%}}.page:not([hidden])>:not(.sheet-layer){animation:land var(--t-slow) var(--ease-bounce) both}.page:not([hidden])>:nth-child(2){animation-delay:40ms}.page:not([hidden])>:nth-child(3){animation-delay:80ms}.page:not([hidden])>:nth-child(n+4){animation-delay:.12s}.map-shell .map.world{background:var(--map-bg);position:absolute;inset:0}.world .maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact{margin:0 14px calc(var(--above-tabbar) + 4px) 0;font-size:10px}.world-cluster{--edge:#1f5f96;width:var(--s);height:var(--s);cursor:pointer;font-size:max(15px, calc(var(--s) * .34));color:#fff;box-shadow:0 4px 0 var(--edge), 0 12px 18px -8px var(--shade), inset 0 3px 0 #ffffff80;-webkit-text-stroke:3px #134466;paint-order:stroke fill;text-shadow:0 2px #0e3f63;transition:scale var(--t-fast) var(--ease-out);background:radial-gradient(circle at 30% 22%,#9fd8ff 0 7%,#3e98dc 24%,#2a7fc6 55%,#2370b4 100%);border:3px solid #fff;border-radius:50%;place-items:center;display:grid}.world-cluster:active{scale:.92}@keyframes cluster-pop{0%{scale:.6}60%{scale:1.18}to{scale:1}}.world-cluster.pop{animation:cluster-pop var(--t-slow) var(--ease-bounce) both}.world-cluster:focus-visible{outline-offset:4px}.fab.locate.busy svg{animation:1.1s linear infinite spin}.fab.locate.busy:after{content:"";border:3px solid var(--sky-400);pointer-events:none;border-radius:50%;animation:1.1s ease-out infinite ping;position:absolute;inset:-7px}.world-fallback{max-width:420px;z-index:var(--z-fab);margin-inline:auto;position:fixed;top:40%;left:16px;right:16px}.trick-row{justify-content:center;gap:var(--s-2);margin-top:calc(-1 * var(--s-2));flex-wrap:wrap;display:flex}.chip.trick{padding:0 14px}.map-shell>.fab.fetch{bottom:calc(var(--above-tabbar) + 96px);font-size:26px}.map-shell>.fab.fetch.stacked{bottom:calc(var(--above-tabbar) + 162px)}.fetch-chip{z-index:var(--z-fab);max-width:360px;left:10px;right:76px;bottom:calc(var(--above-tabbar) + 30px);align-items:center;gap:var(--s-2);border-radius:var(--r-pill);border:var(--bw) solid var(--outline);background:var(--surface-raised);box-shadow:var(--lift-sm);animation:land var(--t-slow) var(--ease-bounce) both;padding:6px 6px 6px 12px;display:flex;position:fixed}.fetch-chip>span:first-child{font-size:24px}.fetch-chip>span:nth-child(2){flex:1;min-width:0;line-height:1.2;display:grid}.fetch-chip strong{font-family:var(--display);font-weight:800}.fetch-chip small{color:var(--text-soft);font-size:var(--fs-xs,12px);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gm{--gm-sun:var(--sun-400);--gm-leaf:var(--leaf-600);--gm-berry:var(--berry-600);--gm-friend:var(--berry-400);--gm-track:var(--surface-sunk);max-width:1040px;padding:var(--s-6) var(--s-4) var(--s-10,64px);gap:var(--s-5);color:var(--text);margin:0 auto;display:grid}.gm h1{font-family:var(--title);margin:0;font-size:clamp(40px,8vw,64px);line-height:1}.gm h3{font-family:var(--title);font-size:var(--fs-lg);margin:0;font-weight:400}.gm .section-title{margin:var(--s-2) 0 0}.gm-head{gap:var(--s-2);justify-items:start;display:grid}.gm-sample{margin:0}.gm-key{gap:var(--s-2);max-width:420px;display:grid}.gm-key input{font:inherit;border-radius:var(--r-md);border:var(--bw) solid var(--outline);background:var(--surface);color:var(--text);padding:10px 14px}.gm-north{gap:var(--s-5);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:end;display:grid}.gm-big{font-family:var(--title);margin:var(--s-2) 0;align-items:center;gap:var(--s-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-size:clamp(52px,10vw,84px);line-height:1;display:flex}.gm-chip{font-family:var(--display);font-size:var(--fs-sm);border-radius:var(--r-pill);padding:4px 10px;font-weight:800}.gm-chip small{opacity:.8;font-weight:700}.gm-chip.up{background:var(--leaf-100);color:var(--leaf-800)}.gm-chip.down{background:var(--berry-100);color:var(--berry-600)}.gm-north-chart{gap:var(--s-2);display:grid}.gm-bars{border-radius:var(--r-md);background:var(--gm-track);align-items:flex-end;gap:6px;height:140px;padding:6px;display:flex}.gm-bars span{background:var(--gm-sun);border-radius:8px 8px 4px 4px;flex:1;box-shadow:inset 0 -4px #0000001f}.gm-bars span.now{opacity:.45;background-image:repeating-linear-gradient(135deg,#0000 0 6px,#ffffff80 6px 10px)}.gm-bars.tone-friend{height:70px}.gm-bars.tone-friend span{background:var(--gm-friend)}.gm-loops{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));display:grid}.gm-loop{gap:var(--s-3);align-content:start;display:grid}.gm-loop>p{margin:0}.gm-pair{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.gm-mini-label{color:var(--text-soft);font-weight:800}.gm-stat{align-content:start;gap:2px;min-width:0;display:grid}.gm-stat-value{font-family:var(--title);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;line-height:1.05}.gm-stat-label{font-size:var(--fs-sm);color:var(--text-soft);font-weight:700}.gm-target{font-size:var(--fs-xs);border-radius:var(--r-pill);background:var(--gm-track);color:var(--text-soft);justify-self:start;padding:1px 8px;font-weight:800}.gm-stat.met .gm-target{background:var(--leaf-100);color:var(--leaf-800)}.gm-stat.short .gm-target{background:var(--peach-100);color:var(--peach-600)}.gm-funnel{margin:var(--s-3) 0 0;gap:var(--s-2);padding:0;list-style:none;display:grid}.gm-step{gap:var(--s-3);grid-template-columns:minmax(0,11em) minmax(0,1fr) 5.5em;align-items:center;display:grid}.gm-funnel.compact .gm-step{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.gm-funnel.compact .gm-step-bar{grid-area:2/1/auto/-1;height:12px}.gm-funnel.compact .gm-step-n{align-items:baseline;gap:6px;display:flex}.gm-step-label{font-weight:700;font-size:var(--fs-sm)}.gm-step-bar{border-radius:var(--r-pill);background:var(--gm-track);height:18px;overflow:hidden}.gm-step-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--sky-400), var(--leaf-400));height:100%;display:block}.gm-step-n{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1;display:grid}.gm-step-n small{color:var(--text-soft);font-weight:700}.gm-target-line{margin:var(--s-2) 0 0;color:var(--text-soft);font-weight:800}.gm-health{gap:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gm-health .gm-stat-value{font-size:var(--fs-xl)}.gm-sources{gap:var(--s-3);grid-column:1/-1;display:grid}.gm-stack{border-radius:var(--r-pill);gap:3px;height:22px;display:flex;overflow:hidden}.gm-legend{gap:var(--s-2) var(--s-4);font-size:var(--fs-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.gm-legend li{align-items:center;gap:6px;display:flex}.gm-legend i{border-radius:4px;width:12px;height:12px}.src-invite{background:var(--berry-400)}.src-group{background:var(--peach-400)}.src-profile{background:var(--sky-400)}.src-stamp{background:var(--lilac-400)}.src-direct{background:var(--leaf-400)}.gm-never{margin:0}@media (width<=760px){.gm-health{grid-template-columns:1fr}}@media (width<=640px){.gm-north{grid-template-columns:1fr}.gm-step,.gm-funnel.compact .gm-step{grid-template-columns:minmax(0,1fr) 4.5em}.gm-step-bar{grid-area:2/1/auto/-1}}
