:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-raise:#1a1a24;--bg-sheet:#13131c;--line:#2c2c3c;--pink:#ff2d95;--green:#3ddc84;--amber:#ffb347;--mist:#c9c9d6;--no:#ff7a7a;--badge-ink:#0b0b12;--radius:14px;--tap:44px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}[hidden]{display:none!important}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h2{margin:0 0 6px;font-size:1.35rem;line-height:1.2}h2:focus{outline:none}h2:focus-visible{outline:3px solid var(--focus)}.noscript{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raise);margin:16px;padding:14px 16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main,.foot,#site-nav,#site-footer{z-index:1;position:relative}.foot{width:100%}body:not(.kiosk) #site-nav{min-height:var(--nav-height,64px);padding-top:env(safe-area-inset-top)}.stage{height:100vh;flex-direction:column;height:100svh;min-height:420px;display:flex;position:relative}body:not(.kiosk) .stage{height:calc(100vh - var(--nav-height,64px));height:calc(100svh - var(--nav-height,64px) - env(safe-area-inset-top))}.masthead{text-align:center;flex:none;padding:12px 16px 0}.masthead h1{letter-spacing:.02em;margin:0;font-size:clamp(1.6rem,6vw,2.6rem);line-height:1.1}.tagline{color:var(--ink-2);margin:4px 0 0;font-size:clamp(.95rem,3.6vw,1.15rem)}.ball-wrap{flex:auto;min-height:0;position:relative}.poster,#ball{width:100%;height:100%;display:block;position:absolute;inset:0}.poster{object-fit:contain;transition:opacity .6s}.stage.ball-ready .poster{opacity:0}#ball{touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.controls{padding:8px 16px max(14px, env(safe-area-inset-bottom));flex-direction:column;flex:none;align-items:center;gap:10px;display:flex}.ball-keys{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;display:flex}.ball-keys .btn{padding:0 14px;font-size:.95rem}.rescue-filter{max-width:100%}.chips{scrollbar-width:none;gap:8px;max-width:100%;padding:4px 2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips>:first-child{margin-left:auto}.chips>:last-child{margin-right:auto}.stage.no-ball,body:not(.kiosk) .stage.no-ball{height:auto;min-height:0}.stage.no-ball .ball-wrap{flex:none}.stage.no-ball .poster,.stage.no-ball #ball{display:none}body.kiosk .stage.no-ball .poster{display:block}.note{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raise);max-width:640px;margin:16px auto;padding:14px 16px;position:relative}.note .btn{margin-top:8px}.load-error p{margin:0 0 6px}.load-error details{color:var(--ink-2);margin-top:10px;font-size:.9rem}.load-error ul{overflow-wrap:anywhere;margin:6px 0 0;padding-left:20px}.route-note{margin:10px 16px}.route-note p{margin:0 0 4px}.route-note .btn{margin-right:8px}.boot-stall{text-align:center}.boot-stall .btn{margin:0 0 0 8px}.btn{min-height:var(--tap);border:1px solid var(--line);background:var(--bg-raise);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover,.browse-toggle[aria-expanded=true],#ball-pause[aria-pressed=true]{border-color:var(--ink-2)}.btn-apply{border-color:var(--pink);background:var(--pink);color:var(--badge-ink)}.btn-apply:hover{border-color:var(--ink)}.chip{min-height:var(--tap);border:1px solid var(--line);background:var(--bg-raise);color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 16px;font-size:.95rem;display:inline-flex}.chip[aria-checked=true]{border-color:var(--ink);background:var(--ink);color:var(--bg)}.dot{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block;box-shadow:0 0 0 1px #ffffff4d}.dot-all{background:conic-gradient(var(--pink), var(--gold), var(--green), #2dc7ff, var(--pink))}@media (forced-colors:active){.chip[aria-checked=true]{forced-color-adjust:none;color:highlighttext;background:highlight;border-color:highlight}}.badge{background:var(--mist);color:var(--badge-ink);white-space:nowrap;border-radius:999px;padding:1px 10px;font-size:.8rem;font-weight:700;line-height:1.6;display:inline-block}.badge-available{background:var(--green)}.badge-pending{background:var(--amber)}.badge-adopted{background:var(--gold)}.badge-awareness{background:var(--mist)}.placeholder{background:var(--bg-raise);width:100%;height:100%;color:var(--rescue,var(--ink));place-items:center;font-weight:800;display:grid}.placeholder .initials{letter-spacing:.04em;font-size:clamp(1.8rem,8vw,3.2rem);line-height:1}.browse,.happy-tails{max-width:1100px;margin:0 auto;padding:24px 16px}.section-note{color:var(--ink-2);margin:0 0 14px}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-sheet);width:100%;height:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:6px;padding:8px;display:flex}.tile:hover{border-color:var(--ink-2)}.tile-gold{border-color:var(--gold)}.tile-art{aspect-ratio:1;background:var(--bg-raise);border-radius:10px;display:block;overflow:hidden}.tile-art img{object-fit:cover;width:100%;height:100%;display:block}.tile-name{font-weight:700;line-height:1.25}.tile-meta{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.tile-rescue{color:var(--ink-2);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.tails{scroll-snap-type:x proximity;gap:14px;margin:0;padding:6px 2px 10px;list-style:none;display:flex;overflow-x:auto}.tails>li{scroll-snap-align:start;flex:none}.tail{border-radius:var(--radius);width:132px;color:var(--ink);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;display:flex}.tail-art{width:96px;height:96px;box-shadow:0 0 0 3px var(--gold);border-radius:50%;display:block;overflow:hidden}.tail-art img{object-fit:cover;width:100%;height:100%;display:block}.tail-art .initials{font-size:1.8rem}.tail-name{font-weight:700;line-height:1.25}.tail-when{color:var(--ink-2);font-size:.85rem}.dog-card{width:100%;max-width:100%;max-height:92vh;overscroll-behavior:contain;background:var(--bg-sheet);max-height:92svh;color:var(--ink);border:0;border-radius:18px 18px 0 0;margin:auto 0 0;padding:0;overflow:auto}.dog-card::backdrop{background:#05050ab8}.dog-sheet{position:relative}.card-close{z-index:2;min-width:var(--tap);min-height:var(--tap);border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#0b0b12d1;border-radius:999px;padding:0 14px;font-weight:600;position:absolute;top:10px;right:10px}.card-media{aspect-ratio:4/3;background:var(--bg-raise);position:relative;overflow:hidden}.card-media img,.card-media video{object-fit:cover;width:100%;height:100%;display:block}.card-media .initials{font-size:clamp(3rem,16vw,5rem)}.placeholder-note{color:var(--ink-2);text-align:center;background:#0b0b12c7;margin:0;padding:8px 12px;font-size:.85rem;position:absolute;bottom:0;left:0;right:0}.ribbon{background:var(--gold);color:var(--badge-ink);border-radius:6px;padding:2px 10px;font-size:.8rem;font-weight:700;position:absolute;top:14px;left:12px}.loop-toggle{min-width:var(--tap);min-height:var(--tap);border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#0b0b12d1;border-radius:999px;padding:0 14px;position:absolute;bottom:10px;right:10px}.card-body{gap:10px;padding:16px 20px 24px;display:grid}.card-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.card-name{margin:0;font-size:1.6rem;line-height:1.15}.ai-tag{border:1px solid var(--ink-2);color:var(--ink-2);border-radius:6px;justify-self:start;padding:1px 8px;font-size:.75rem}.card-checked{color:var(--ink-2);margin:0;font-size:.9rem}.card-rescue{align-items:center;gap:8px;margin:0;display:flex}.card-bio{margin:0}.goodwith{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.gw{background:var(--bg-raise);border-radius:10px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.gw-icon{text-align:center;width:1.2em;font-weight:800}.gw-yes .gw-icon{color:var(--green)}.gw-no .gw-icon{color:var(--no)}.gw-unknown .gw-icon{color:var(--ink-2)}.gw-word{color:var(--ink-2);font-size:.85rem}.card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.share-status{color:var(--ink-2);overflow-wrap:anywhere;font-size:.9rem}.card-qr{color:var(--badge-ink);background:#fff;border-radius:12px;justify-items:center;gap:6px;margin:4px 0 0;padding:12px;display:grid}.card-qr svg{width:220px;max-width:100%;height:auto;display:block}.card-qr figcaption{text-align:center;justify-items:center;display:grid}.qr-url{overflow-wrap:anywhere;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.qr-rescue{font-weight:700}.foot{max-width:1100px;padding:32px 16px max(32px, env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--ink-2);gap:6px;margin:0 auto;font-size:.95rem;display:grid}.foot p{margin:0}.foot-count{color:var(--ink);font-weight:600}.foot-sample{color:var(--gold)}.foot-small{margin-top:8px;font-size:.8rem}.foot-browse{min-height:var(--tap);align-items:center;display:inline-flex}@media (min-width:720px){.controls{flex-flow:wrap;justify-content:center}.tiles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.dog-card{border-radius:18px;width:min(560px,100vw - 32px);max-height:88vh;margin:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.kiosk .masthead,body.kiosk .controls,body.kiosk .route-note,body.kiosk #ball-desc,body.kiosk #browse,body.kiosk #happy-tails,body.kiosk .foot,body.kiosk #site-nav,body.kiosk #site-overview,body.kiosk #site-footer{display:none!important}body.kiosk{--k-bg:#06060c;--k-fg:#f7f4ff;--k-dim:#cfcbe4;--k-panel:#06060cdb;--k-line:#f7f4ff29;--k-foot:48px;--k-panel-h:40vh;--k-fade:.32s;background:var(--k-bg);color:var(--k-fg);overflow:hidden}body.kiosk :is(header,footer):not(dialog *),body.kiosk nav[aria-label=Rescues],body.kiosk :is(#browse,#happy-tails,#site-nav,#site-overview,#site-footer,[data-stub=main]){display:none!important}body.kiosk .kiosk-stage{inset:0 33.333vw var(--k-foot) 0!important;width:auto!important;height:auto!important;margin:0!important;position:fixed!important}body.kiosk #ball{touch-action:none;width:100%!important;height:100%!important}.kiosk-ui{z-index:20;pointer-events:none;color:var(--k-fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:fixed;inset:0}.kiosk-panel{top:0;right:0;bottom:var(--k-foot);box-sizing:border-box;background:var(--k-panel);border-left:1px solid var(--k-line);pointer-events:auto;cursor:pointer;flex-direction:column;justify-content:center;width:33.333vw;padding:clamp(16px,3vmin,44px);display:flex;position:absolute;overflow:hidden}.kiosk-panel__body{opacity:1;transition:opacity var(--k-fade) ease-in-out;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"photo meta""name name""scan scan""qr qr""url url""apply apply";align-items:center;gap:clamp(8px,1.4vmin,20px) clamp(12px,1.8vmin,24px);display:grid}.kiosk-panel__body.is-fading{opacity:0}.kiosk-panel__body--welcome{display:block}.kiosk-welcome__title{margin:0 0 .3em;font-size:clamp(40px,6vmin,96px);font-weight:800;line-height:1.05}.kiosk-welcome__line{color:var(--k-dim);margin:0;font-size:clamp(20px,2.6vmin,36px)}.kiosk-photo{aspect-ratio:1;background:#1a1a24;border-radius:16px;grid-area:photo;place-items:center;width:clamp(72px,13vmin,168px);display:grid;overflow:hidden}.kiosk-photo img{object-fit:cover;width:100%;height:100%;display:block}.kiosk-photo__initials{letter-spacing:.02em;font-size:clamp(30px,5.4vmin,72px);font-weight:800}.kiosk-meta{flex-direction:column;grid-area:meta;align-items:flex-start;gap:clamp(6px,1.2vmin,14px);min-width:0;display:flex}.kiosk-rescue{align-items:center;gap:.5em;margin:0;font-size:clamp(18px,2.3vmin,32px);font-weight:600;line-height:1.2;display:flex}.kiosk-rescue__dot{border-radius:50%;flex:none;width:.72em;height:.72em;box-shadow:0 0 0 2px #f7f4ff59}.kiosk-badge{color:#0b0b12;background:#c9cad6;border-radius:999px;margin:0;padding:.18em .75em;font-size:clamp(16px,2vmin,28px);font-weight:700;line-height:1.3}.kiosk-badge--available{background:#3ddc84}.kiosk-badge--pending{background:#ffb347}.kiosk-badge--adopted{background:#f5c542}.kiosk-badge--awareness{background:#c9cad6}.kiosk-name{letter-spacing:-.01em;overflow-wrap:anywhere;grid-area:name;margin:0;font-size:clamp(48px,5.6vmin,108px);font-weight:800;line-height:1.04}.kiosk-scan{grid-area:scan;margin:0;font-size:clamp(20px,2.4vmin,34px);font-weight:600}.kiosk-qr{box-sizing:border-box;background:#fff;border-radius:12px;grid-area:qr;justify-self:start;width:min(30vh,100%);margin:0;padding:16px;line-height:0}.kiosk-qr svg{width:100%;height:auto;display:block}.kiosk-url{color:var(--k-fg);overflow-wrap:anywhere;grid-area:url;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:clamp(20px,2.15vmin,36px);line-height:1.3}.kiosk-url .url-seg,.print-url .url-seg,.print-site .url-seg{display:inline-block}.kiosk-apply{color:var(--k-dim);grid-area:apply;margin:0;font-size:clamp(18px,2.3vmin,32px)}.kiosk-footer{height:var(--k-foot);box-sizing:border-box;text-align:center;background:var(--k-bg);border-top:1px solid var(--k-line);color:var(--k-dim);pointer-events:auto;justify-content:center;align-items:center;margin:0;padding:0 clamp(12px,2vw,32px);font-size:clamp(14px,1.15vw,22px);line-height:1.3;display:flex;position:absolute;bottom:0;left:0;right:0}.kiosk-start{z-index:40;color:var(--k-fg);font:inherit;text-align:center;cursor:pointer;pointer-events:auto;background:#06060cf0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,3vmin,36px);margin:0;padding:24px;display:flex;position:fixed;inset:0}.kiosk-start:focus-visible{outline:4px solid var(--k-fg);outline-offset:-16px}.kiosk-start__event{max-width:18ch;font-size:clamp(34px,7vmin,120px);font-weight:800;line-height:1.05}.kiosk-start__date{color:var(--k-dim);font-size:clamp(18px,3vmin,44px)}.kiosk-start__cta{background:var(--k-fg);color:var(--k-bg);border-radius:999px;margin-top:.8em;padding:.55em 1.4em;font-size:clamp(20px,3.4vmin,52px);font-weight:800}@media (orientation:portrait){body.kiosk{--k-foot:64px}body.kiosk .kiosk-stage{inset:0 0 calc(var(--k-panel-h) + var(--k-foot)) 0!important}.kiosk-panel{width:auto;height:var(--k-panel-h);border-left:0;border-top:1px solid var(--k-line);padding:clamp(12px,3vw,44px);top:auto;left:0}.kiosk-panel__body{grid-template-rows:repeat(5,auto);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"qr meta""qr name""qr scan""qr url""qr apply";align-content:center;gap:clamp(6px,1.4vw,18px) clamp(12px,3vw,32px)}.kiosk-photo{display:none}.kiosk-meta{flex-flow:wrap;align-items:center}.kiosk-rescue{font-size:clamp(14px,3.6vw,32px)}.kiosk-badge{font-size:clamp(12px,3.2vw,28px)}.kiosk-name{font-size:clamp(24px,6.4vw,80px)}.kiosk-scan{font-size:clamp(13px,3.4vw,34px)}.kiosk-qr{width:min(38vw, calc(var(--k-panel-h) - 32px));align-self:center}.kiosk-url{font-size:clamp(12px,3.4vw,34px)}.kiosk-apply{font-size:clamp(13px,3.4vw,32px)}.kiosk-footer{font-size:clamp(12px,3.2vw,24px)}.kiosk-welcome__title{font-size:clamp(28px,8vw,96px)}.kiosk-welcome__line{font-size:clamp(16px,4vw,36px)}}@media (prefers-reduced-motion:reduce){.kiosk-panel__body{transition:none}}html.kiosk-print,html.kiosk-print body{color:#111118;background:#f4f3f8;height:auto;min-height:100%;overflow:auto}html.kiosk-print body>:not(.print-sheet){display:none!important}.print-sheet{page:dd-qr-sheet;opacity:1;box-sizing:border-box;color:#111118;max-width:1080px;margin:0 auto;padding:24px 16px 48px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:static}.print-head{margin-bottom:8px}.print-kicker{letter-spacing:.08em;text-transform:uppercase;color:#4a4860;margin:0 0 4px;font-size:13px;font-weight:700}.print-title{margin:0 0 6px;font-size:clamp(26px,4.4vw,40px);line-height:1.1}.print-when{margin:0 0 10px;font-size:17px;font-weight:600}.print-how{max-width:62ch;margin:0 0 6px;font-size:15px;line-height:1.45}.print-site{overflow-wrap:anywhere;margin:0 0 14px;font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:15px;font-weight:700}.print-button{color:#fff;cursor:pointer;background:#111118;border:2px solid #111118;border-radius:999px;min-height:44px;padding:0 22px;font:700 16px system-ui,sans-serif}.print-button:focus-visible{outline-offset:3px;outline:3px solid #6b4fd8}.print-rescue-name{border-bottom:2px solid #111118;align-items:center;gap:.5em;margin:28px 0 12px;padding-bottom:6px;font-size:22px;display:flex}.print-rescue-name__dot{border:1.5px solid #111118;border-radius:50%;flex:none;width:.7em;height:.7em}.print-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px;display:grid}.print-card{break-inside:avoid;page-break-inside:avoid;background:#fff;border:1px solid #c9c6d8;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:12px;display:grid}.print-qr{margin:0;line-height:0}.print-qr svg{width:180px;height:180px;display:block}.print-name{overflow-wrap:anywhere;margin:0 0 6px;font-size:20px;line-height:1.15}.print-badge{border:1.5px solid #111118;border-radius:999px;margin:0 0 8px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.print-badge--available{background:#d9f7e6}.print-badge--pending{background:#ffe9cc}.print-badge--adopted{background:#fcefc2}.print-url{overflow-wrap:anywhere;margin:0 0 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12.5px;line-height:1.35}.print-apply{margin:0;font-size:14px;line-height:1.3}@media (max-width:420px){.print-qr svg{width:128px;height:128px}}@page dd-qr-sheet{margin:12mm}@media print{html.kiosk-print,html.kiosk-print body{color:#000!important;background:#fff!important}.print-sheet{color:#000;max-width:none;padding:0}.print-button{display:none!important}.print-kicker,.print-how{color:#000}.print-grid{grid-template-columns:1fr 1fr;gap:8px}.print-card{break-inside:avoid;page-break-inside:avoid;background:#fff;border:1px solid #000;border-radius:0}.print-rescue-name{break-after:avoid;page-break-after:avoid;border-bottom-color:#000}.print-rescue-name__dot{border-color:#000;background:0 0!important}.print-badge{color:#000;border-color:#000;background:0 0!important}.print-qr svg{width:180px;height:180px}}
