@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-cyrillic-ext-wght-normal-D_UHSL_T.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/silkscreen-latin-ext-400-normal-2T9bWrxp.woff2)format("woff2"),url(/assets/silkscreen-latin-ext-400-normal-Drdn_BEM.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/silkscreen-latin-400-normal-CtPo2yA5.woff2)format("woff2"),url(/assets/silkscreen-latin-400-normal-D0DfPJut.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--blue-50:#eff5ff;--blue-100:#e3edff;--blue-200:#b9cefa;--blue-300:#7ea4ff;--blue-500:#2d6aef;--blue-600:#2460d8;--blue-700:#1d4ed8;--blue-900:#0d3d9e;--orange-50:#fff4ea;--orange-100:#ffe9d6;--orange-300:#ffc9a3;--orange-500:#f07a2b;--orange-700:#c2410c;--navy:#0a1020;--navy-line:#1f2c47;--ink:#0f172a;--muted:#5b6b82;--border:#e8eef8;--canvas:#f8fbff;--surface:#fff;--success:#15803d;--success-soft:#ecfdf5;--attention:#92400e;--attention-soft:#fffbeb;--attention-border:#fde68a;--danger:#be123c;--danger-soft:#fff1f2;--font-display:"Hanken Grotesk Variable", "Hanken Grotesk", "Inter Variable", system-ui, sans-serif;--font-sans:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-pixel:Silkscreen, ui-monospace, monospace;--radius-card:20px;--radius-button:18px;--shadow-card:0 1px 0 #0d3d9e0a, 0 8px 24px #0d3d9e14;--press-depth:4px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.45}body{background-image:linear-gradient(var(--blue-500) 0 0), linear-gradient(90deg, #2d6aef0f 1px, transparent 1px), linear-gradient(#2d6aef0f 1px, transparent 1px);background-size:0 0,24px 24px,24px 24px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;line-height:1.1}p{margin:0}a{color:var(--blue-700)}button{font:inherit}:focus-visible{outline:3px solid var(--orange-500);outline-offset:2px;border-radius:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pixel-label{font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:.04em;color:var(--blue-500);font-size:12px}.app{flex-direction:column;min-height:100dvh;display:flex}.page{width:100%;max-width:520px;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:16px;margin:0 auto;display:flex}.page--wide{max-width:1080px}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand__logo{background:var(--blue-500);color:#fff;width:36px;height:36px;font-family:var(--font-display);text-align:center;letter-spacing:-.02em;box-shadow:inset 0 -3px 0 var(--blue-700);border-radius:10px;place-items:center;font-size:10px;font-weight:700;line-height:.85;display:grid}.brand__name{flex-direction:column;line-height:1.05;display:flex}.brand__name strong{font-family:var(--font-display);font-size:17px}.brand__name span{font-family:var(--font-pixel);color:var(--blue-500);text-transform:uppercase;font-size:10px}.topbar__actions{gap:8px;display:flex}.icon-button{border:1px solid var(--border);background:var(--surface);min-width:44px;height:44px;color:var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--border);border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.icon-button[aria-pressed=true]{background:var(--blue-50);border-color:var(--blue-200)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.small{font-size:14px}.button{--button-bg:var(--blue-500);--button-edge:var(--blue-900);--button-ink:#fff;appearance:none;border-radius:var(--radius-button);background:var(--button-bg);color:var(--button-ink);font-family:var(--font-display);cursor:pointer;min-height:56px;box-shadow:0 var(--press-depth) 0 var(--button-edge);text-align:center;border:none;justify-content:center;align-items:center;gap:10px;padding:12px 22px;font-size:18px;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex;transform:translateY(0)}.button:active:not(:disabled){transform:translateY(var(--press-depth));box-shadow:0 0 0 var(--button-edge)}.button:disabled{opacity:.55;cursor:not-allowed}.button--block{width:100%}.button--orange{--button-bg:var(--orange-500);--button-edge:var(--orange-700)}.button--ghost{--button-bg:var(--surface);--button-edge:var(--blue-200);--button-ink:var(--blue-700);border:2px solid var(--blue-200)}.button--small{--press-depth:3px;border-radius:14px;min-height:44px;padding:8px 14px;font-size:15px}.link-button{color:var(--blue-700);cursor:pointer;background:0 0;border:none;min-height:44px;padding:8px 0;font-weight:600;text-decoration:underline}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:15px;font-weight:650}.field small{color:var(--muted);font-size:13px}.input{border:2px solid var(--blue-200);min-height:52px;font:inherit;color:var(--ink);background:#fff;border-radius:14px;width:100%;padding:10px 14px;font-size:18px}.input:disabled{background:var(--neutral-soft,#f1f5f9);border-color:var(--border);color:var(--muted);cursor:not-allowed}.input:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px var(--blue-100);outline:none}.input--code{font-family:var(--font-pixel);letter-spacing:.4em;text-align:center;font-size:26px}.check{border:1px solid var(--border);background:var(--canvas);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:12px;display:flex}.check input{width:24px;height:24px;accent-color:var(--blue-500);flex-shrink:0;margin:0}.notice{border:1px solid var(--blue-200);background:var(--blue-50);color:var(--blue-900);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:15px;display:flex}.notice--warn{border-color:var(--attention-border);background:var(--attention-soft);color:var(--attention)}.notice--error{background:var(--danger-soft);color:var(--danger);border-color:#fecdd3}.notice--success{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.banner-offline{z-index:50;background:var(--navy);color:#fff;text-align:center;padding:10px 16px;font-size:14px;font-weight:600;position:sticky;top:0}.hero{text-align:center;flex-direction:column;align-items:center;gap:14px;padding-top:8px;display:flex}.hero h1{color:var(--blue-900);font-size:clamp(34px,9vw,48px)}.hero h1 em{color:var(--orange-500);font-style:normal}.hero__pets{justify-content:center;align-items:flex-end;gap:0;width:100%;max-width:360px;display:flex;position:relative}.hero__pets .pet{width:33%}.hero__pets:after{content:"";background:var(--orange-100);z-index:-1;border-radius:50%;height:16%;position:absolute;bottom:2%;left:8%;right:8%}.steps{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;font-size:14px;display:grid}.steps li{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;list-style:none;display:flex}.steps ol{margin:0;padding:0}.species-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.species-picker .species-option{border-width:2px;border-radius:16px;padding:6px 4px 8px}.species-picker .species-option strong{font-size:13px}@media (width<=359px){.species-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}.species-option{border:3px solid var(--border);background:var(--surface);border-radius:var(--radius-card);cursor:pointer;text-align:center;box-shadow:0 4px 0 var(--border);color:var(--ink);flex-direction:column;align-items:center;gap:4px;padding:12px 10px 14px;display:flex}.species-option[aria-checked=true]{border-color:var(--blue-500);background:var(--blue-50);box-shadow:0 4px 0 var(--blue-300)}.species-option strong{font-family:var(--font-display);font-size:16px}.species-option .pet{width:100%;max-width:110px}.coat-picker{flex-wrap:wrap;gap:10px;display:flex}.coat-option{border:2px solid var(--border);background:var(--surface);cursor:pointer;min-width:90px;min-height:48px;color:var(--ink);border-radius:14px;flex:1;align-items:center;gap:8px;padding:8px;font-size:14px;font-weight:600;display:flex}.coat-option[aria-checked=true]{border-color:var(--blue-500);background:var(--blue-50)}.coat-portrait{flex-shrink:0;border-radius:8px!important;width:32px!important;height:32px!important}.game{gap:12px}.pet-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pet-header h1{font-size:28px}.mood{color:var(--muted);min-height:2.9em;margin-top:4px;font-size:15px}.chip{background:var(--blue-50);color:var(--blue-900);border:1px solid var(--blue-200);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.chip--live{background:var(--orange-50);border-color:var(--orange-300);color:var(--orange-700)}.chip--live:before{content:"";background:var(--orange-500);border-radius:50%;width:8px;height:8px}.chip--done{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.habitat{aspect-ratio:4/3.1;border:3px solid var(--navy);box-shadow:0 6px 0 var(--navy);background:var(--canvas);isolation:isolate;border-radius:24px;position:relative;overflow:hidden}.habitat__room{width:100%;height:100%;position:absolute;inset:0}.habitat__dim{background:#0a102052;transition:opacity .6s;position:absolute;inset:0}.habitat__stage{justify-content:center;width:52%;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%,6.25%)}.habitat__stage .pet{transform-origin:50% 100%;width:100%}.pet__svg{width:100%;height:auto;display:block;overflow:visible}.pet{transform-origin:50% 100%}.pet--breathe{animation:2.6s steps(4,end) infinite breathe}.pet--sleep{animation:4.4s steps(4,end) infinite breathe}.pet--slow{animation:4s steps(2,end) infinite breathe}.pet--hop{animation:.6s steps(6,end) infinite hop}.pet--bounce{animation:.5s steps(5,end) 3 hop}.pet--sway{animation:1.6s steps(4,end) infinite sway}@keyframes sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}.pet--wiggle{animation:.5s steps(4,end) infinite wiggle}.pet--nom{animation:.6s steps(2,end) infinite nom}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,.985)}}@keyframes hop{0%,to{transform:translateY(0)scale(1.03,.97)}40%{transform:translateY(-4%)scale(.99,1.02)}}@keyframes wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes nom{0%,to{transform:translateY(0)}50%{transform:translateY(2%)}}.prop{pointer-events:none;position:absolute}.prop--meal{width:27%;bottom:4%;left:3%}.prop--meal svg{width:100%;display:block}.bite--3{animation:2.4s step-end .5s forwards vanish}.bite--2{animation:2.4s step-end 1.2s forwards vanish}.bite--1{animation:2.4s step-end 1.9s forwards vanish}@keyframes vanish{to{opacity:0}}.prop--toy{bottom:6%;left:4%}.prop--bounce{animation:2.4s ease-in-out infinite ball-bounce}@keyframes ball-bounce{0%{transform:translate(0)}12%{transform:translate(40%,-150%)}25%{transform:translate(90%)}37%{transform:translate(130%,-90%)}50%{transform:translate(170%)rotate(180deg)}62%{transform:translate(130%,-120%)}75%{transform:translate(90%)}87%{transform:translate(40%,-80%)}to{transform:translate(0)rotate(360deg)}}.prop--roll{animation:2.8s ease-in-out infinite alternate roll;bottom:4%}@keyframes roll{0%{transform:translate(0)rotate(0)}to{transform:translate(180%)rotate(540deg)}}.prop--swing{transform-origin:100% 0;animation:1s ease-in-out infinite alternate swing;inset:8% 24% auto auto}.prop--swing svg{transform:scale(-1)}@keyframes swing{0%{transform:rotate(-14deg)}to{transform:rotate(16deg)}}.habitat--playing .wheel-spokes{transform-box:view-box;transform-origin:41.5px 56px;animation:.5s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.prop--zoom{flex-direction:column;gap:8px;display:flex;top:34%;left:4%}.prop--zoom span{background:var(--blue-500);width:22px;height:3px;animation:.6s steps(3,end) infinite zoom;display:block}.prop--zoom span:nth-child(2){margin-left:8px;animation-delay:.2s}@keyframes zoom{50%{opacity:.2;transform:translate(-6px)}}.prop--brush{animation:.9s ease-in-out infinite alternate brush;top:38%;left:50%}@keyframes brush{0%{transform:translate(-140%)rotate(-12deg)}to{transform:translate(40%,18%)rotate(10deg)}}.sand-tray{position:absolute;bottom:-6%;left:-10%}.prop--sand .bubble{background:#f5d38a;border-color:#e0c08f;animation-duration:1.2s}.prop--bubbles{inset:25% 18% 12%}.bubble{opacity:0;background:radial-gradient(circle at 30% 30%,#fff 0 25%,#d9e6ff99 26%);border:2px solid #7ea4ff;border-radius:50%;animation:1.8s ease-in infinite rise;position:absolute;bottom:0}@keyframes rise{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:1}85%{opacity:1;transform:translateY(-170%)scale(1)}to{opacity:0;transform:translateY(-190%)scale(1.4)}}.prop--zzz{font-family:var(--font-pixel);color:#fff;text-shadow:2px 2px 0 var(--blue-900);font-size:26px;top:30%;right:30%}.prop--zzz span{opacity:0;animation:3s ease-in-out infinite float-z;position:absolute}.prop--zzz span:nth-child(2){font-size:32px;animation-delay:1s}.prop--zzz span:nth-child(3){font-size:40px;animation-delay:2s}@keyframes float-z{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(24px,-48px)}}.prop--hearts{inset:10% 0 30%}.prop--hearts span{opacity:0;animation:1.6s ease-out forwards float-heart;position:absolute;bottom:0}@keyframes float-heart{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-120%)scale(1.1)}}.prop--thought{border:3px solid var(--navy);background:#fff;border-radius:16px;padding:8px 10px;animation:2s ease-in-out infinite bob;top:14%;right:13%}.prop--thought:after{content:"";border:3px solid var(--navy);background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-12px;left:4px}@keyframes bob{50%{transform:translateY(-4px)}}.toast{background:var(--navy);color:#fff;white-space:nowrap;z-index:3;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:6px;max-width:92%;padding:8px 14px;font-size:14px;font-weight:650;animation:.24s ease-out toast-in;display:flex;position:absolute;top:10px;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}}.rescue-card{border:3px solid var(--navy);text-align:center;box-shadow:0 5px 0 var(--navy);background:#fff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:14px;display:flex;position:absolute;inset:8% 12%}.rescue-card .pet{width:30%}.needs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.need{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 8px;min-width:0;display:grid}.need__icon{background:var(--blue-50);border-radius:10px;grid-row:span 3;place-items:center;width:34px;height:34px;display:grid}.need__top{justify-content:space-between;gap:6px;font-size:14px;font-weight:650;display:flex}.need__top span:last-child{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.need__status{color:var(--muted);grid-column:2;font-size:12px;line-height:1.2}.need--low .need__status{color:var(--attention);font-weight:650}.need--empty .need__status{color:var(--danger);font-weight:700}.bar{background:var(--blue-50);border:2px solid var(--navy);border-radius:6px;height:12px;overflow:hidden}.bar__fill{background:repeating-linear-gradient(90deg, var(--blue-500) 0 6px, var(--blue-600) 6px 8px);height:100%;transition:width .6s}.need--low .bar__fill{background:repeating-linear-gradient(90deg,#fbb927 0 6px,#e7a514 6px 8px)}.need--empty .bar{border-color:var(--danger)}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);text-align:center;color:inherit;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;text-decoration:none;display:flex}.stat strong{font-family:var(--font-display);font-size:20px;line-height:1.1}.stat span{color:var(--muted);font-size:12px}.points-dots{justify-content:center;gap:4px;margin-top:2px;display:flex}.points-dots i{border:2px solid var(--orange-500);border-radius:3px;width:10px;height:10px}.points-dots i.on{background:var(--orange-500)}.care-dock{z-index:20;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--canvas) 75%, #f8fbff00);margin:0 -16px;position:sticky;bottom:0}.care-buttons{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.care-button{--button-bg:var(--surface);--button-edge:var(--navy);--button-ink:var(--ink);border:3px solid var(--navy);border-radius:18px;flex-direction:column;gap:2px;min-height:76px;padding:6px 2px;font-size:15px}.care-button small{font-family:var(--font-pixel);color:var(--orange-700);text-transform:uppercase;min-height:11px;font-size:9px}.care-button--busy{--button-bg:var(--blue-50)}.save-banner{background:var(--blue-500);color:#fff;border-radius:var(--radius-card);box-shadow:0 4px 0 var(--blue-900);align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.save-banner strong{font-family:var(--font-display);font-size:17px;display:block}.save-banner span{opacity:.92;font-size:14px}.save-banner__arrow{margin-left:auto;font-size:22px}.board{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.board-row{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:48px 52px 1fr auto;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:grid}.board-row--me{border:3px solid var(--blue-500);background:var(--blue-50)}.board-rank{font-family:var(--font-display);text-align:center;color:var(--blue-900);font-size:20px;font-weight:800}.board-rank small{font-family:var(--font-pixel);color:var(--orange-700);font-size:9px;font-weight:400;display:block}.portrait{background:var(--orange-50);border-radius:14px;place-items:end center;width:52px;height:52px;display:grid;overflow:hidden}.portrait svg{width:92%;margin-bottom:2%}.board-names{min-width:0}.board-names strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:17px;display:block;overflow:hidden}.board-names span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.board-score{text-align:right;color:var(--muted);white-space:nowrap;font-size:13px}.board-score strong{font-family:var(--font-display);color:var(--ink);font-size:17px;display:block}.board-why{color:var(--muted);grid-column:2/-1;font-size:12px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;display:flex}.empty-state .pet{width:120px}.rules-list{flex-direction:column;gap:10px;margin:0;padding-left:22px;display:flex}.footer-note{color:var(--muted);text-align:center;padding:8px 0 0;font-size:12px}.skeleton{background:linear-gradient(90deg, var(--blue-50), var(--blue-100), var(--blue-50));background-size:200% 100%;border-radius:16px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.center-screen{text-align:center;place-items:center;gap:12px;min-height:70dvh;display:grid}@media (width<=360px){.care-button{min-height:70px;font-size:13px}.needs{grid-template-columns:1fr}.stat strong{font-size:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.bubble,.prop--hearts span,.prop--zzz span{opacity:1;animation:none!important}.prop--toy,.prop--brush,.wheel-spokes{animation:none!important}}.tip-card{background:var(--surface);border:2px solid var(--blue-200);border-radius:var(--radius-card);grid-template-columns:56px minmax(0,1fr);align-items:start;gap:12px;padding:12px 14px;display:grid;position:relative}.tip-card__portrait{background:var(--blue-50)!important;width:56px!important;height:56px!important}.tip-card__body{flex-direction:column;gap:4px;min-width:0;display:flex}.tip-card__quote{font-family:var(--font-display);font-size:16px;font-weight:650;line-height:1.3}.tip-card__links{flex-wrap:wrap;gap:4px 14px;margin-top:2px;display:flex}.tip-card__links a{align-items:center;min-height:32px;font-weight:600;display:inline-flex}.tip-book{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tip-book__locked{background:var(--canvas);box-shadow:none;border-style:dashed;align-items:center;gap:10px;display:flex}.share-backdrop{z-index:100;background:#0a10208c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.share-sheet{background:var(--canvas);width:100%;max-width:520px;max-height:94dvh;padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;flex-direction:column;gap:12px;animation:.22s ease-out sheet-up;display:flex;overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.share-preview img{width:auto;max-width:100%;max-height:44dvh;box-shadow:var(--shadow-card);border-radius:16px;margin:0 auto;display:block}.share-preview .skeleton{max-width:340px;margin:0 auto}.share-actions{flex-direction:column;gap:8px;display:flex}.share-networks{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.share-networks a{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--ink);border-radius:12px;place-items:center;font-size:14px;font-weight:650;text-decoration:none;display:grid}.share-text{-webkit-user-select:all;user-select:all;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px}@media (width>=640px){.share-backdrop{align-items:center}.share-sheet{border-radius:24px}}.next-step{background:var(--orange-50);border:1px solid var(--orange-100);color:var(--ink);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.next-step--done{background:var(--success-soft);border-color:#bbf7d0}.inbox .pixel-label{align-items:center;gap:6px;display:inline-flex}.message{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.message--overdue{background:var(--attention-soft);border-color:var(--attention-border)}.message--done{background:var(--surface);color:var(--muted);border-style:dashed}.message .button{gap:6px}.slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.slot{border:1px solid var(--blue-200);background:var(--surface);min-height:44px;color:var(--blue-900);font:inherit;cursor:pointer;border-radius:12px;font-size:14px;font-weight:600}.slot:hover,.slot:focus-visible{border-color:var(--blue-500)}.slot--chosen{background:var(--blue-500);border-color:var(--blue-900);color:#fff}.plan-facts{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.milestones{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.milestone{border:1px dashed var(--border);color:var(--muted);border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.milestone div{flex-direction:column;display:flex}.milestone--reached{border:1px solid var(--orange-100);background:var(--orange-50);color:var(--ink)}.milestone:not(.milestone--reached) svg{filter:grayscale();opacity:.45}.reminders{border:1px solid var(--border);border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.reminders p{margin:0}.ad{background:var(--surface);border:1px dashed var(--orange-300);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.ad p{margin:0}.ad__label{font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--orange-700);font-size:10px}.admin{flex-direction:column;gap:16px;max-width:1200px;margin:0 auto;padding:16px;display:flex}.admin h2{font-size:20px}.admin__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.admin__who{color:var(--muted);font-size:14px}.admin__tabs{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:6px;display:flex}.admin__tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;min-height:44px;margin-bottom:-2px;padding:10px 14px;font-weight:650}.admin__tabs button[aria-selected=true]{color:var(--blue-700);border-bottom-color:var(--blue-500)}.admin__form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin__wide{grid-column:1/-1}.admin__form textarea{resize:vertical;font-size:15px}.admin__table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow-x:auto}.admin__table{border-collapse:collapse;width:100%;font-size:14px}.admin__table th,.admin__table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px}.admin__table th{background:var(--blue-50);text-transform:uppercase;letter-spacing:.03em;font-size:12px}.admin__actions{gap:10px;display:flex}.admin__actions .link-button{min-height:32px;padding:0;font-size:13px}.admin__tag{background:var(--attention-soft);color:var(--attention);border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.admin__tag--good{background:var(--success-soft);color:var(--success);margin-left:0}.admin__tag--bad{background:var(--danger-soft);color:var(--danger);margin-left:0}.admin__pre{white-space:pre-wrap;color:var(--muted);margin:8px 0 0;font-size:12px}@media (width<=640px){.admin__form{grid-template-columns:1fr}}.stand{background:linear-gradient(90deg, #7ea4ff14 1px, transparent 1px) 0 0 / 2.2vw 2.2vw, linear-gradient(#7ea4ff14 1px, transparent 1px) 0 0 / 2.2vw 2.2vw, var(--navy);color:#fff;grid-template-columns:38fr 62fr;gap:2.2vw;padding:2.6vw;font-size:1vw;display:grid;position:fixed;inset:0;overflow:hidden}.stand__demo,.stand__stale{background:var(--orange-500);color:#fff;font-family:var(--font-pixel);text-transform:uppercase;z-index:5;border-radius:999px;padding:.4vw 1.2vw;font-size:.9vw;position:absolute;top:.8vw;left:50%;transform:translate(-50%)}.stand__stale{color:var(--navy);background:#fbb927;top:auto;bottom:.8vw}.stand__join{flex-direction:column;gap:1.1vw;min-height:0;display:flex}.stand__brand{align-items:center;gap:1vw;display:flex}.stand__logo{border-radius:1.1vw;width:4.2vw;height:4.2vw;font-size:1.1vw}.stand__brand h1{font-size:3.2vw}.stand__px{font-family:var(--font-pixel);text-transform:uppercase;color:var(--orange-300);letter-spacing:.04em;font-size:.95vw}.stand__tagline{font-family:var(--font-display);letter-spacing:-.02em;font-size:2.5vw;font-weight:800;line-height:1.05}.stand__tagline em{color:var(--orange-500);font-style:normal}.stand__qr-card{color:var(--ink);box-shadow:0 .4vw 0 var(--blue-500);background:#fff;border-radius:1.4vw;align-items:center;gap:1.4vw;padding:1.2vw;display:flex}.stand__qr-card img,.stand__qr-placeholder{width:10.5vw;height:10.5vw;image-rendering:pixelated;flex-shrink:0}.stand__qr-card strong{font-family:var(--font-display);color:var(--blue-700);font-size:2.3vw;display:block}.stand__qr-card span{color:var(--muted);font-size:1.05vw;display:block}.stand__url{font-family:var(--font-pixel);margin-top:.4vw;color:var(--ink)!important}.stand__pets{flex:1;justify-content:center;align-items:flex-end;min-height:0;display:flex}.stand__pets .pet{aspect-ratio:48/44;align-items:flex-end;height:100%;display:flex}.stand__pets .pet__svg{width:auto;height:100%}.stand__status{border:.2vw solid var(--navy-line);background:#ffffff0a;border-radius:1.2vw;flex-direction:column;gap:.2vw;padding:1vw 1.3vw;display:flex}.stand__status strong{font-family:var(--font-display);font-size:2.1vw}.stand__status span:last-child{color:var(--blue-200);font-size:1.05vw}.stand__status--live{border-color:var(--orange-500)}.stand__board{flex-direction:column;gap:1vw;min-height:0;display:flex}.stand__board-head{justify-content:space-between;align-items:baseline;gap:1vw;display:flex}.stand__board-head h2{font-size:2.6vw}.stand__board-head span{color:var(--blue-200);font-size:1.05vw}.stand__rows{flex:1;grid-template-rows:repeat(8,1fr);gap:.6vw;min-height:0;margin:0;padding:0;list-style:none;display:grid}.stand__row{color:var(--ink);min-height:0;box-shadow:0 .3vw 0 var(--blue-900);background:#fff;border-radius:1.1vw;grid-template-columns:5vw 4.8vw 1fr 14vw 6vw;align-items:center;gap:1.2vw;padding:0 1.4vw 0 .8vw;display:grid}.stand__row--top1{background:#fff7d6;box-shadow:0 .3vw #fbb927}.stand__rank{font-family:var(--font-display);text-align:center;color:var(--blue-900);font-size:2.4vw;font-weight:800;line-height:1}.stand__rank small{font-family:var(--font-pixel);color:var(--orange-700);font-size:.75vw;font-weight:400;display:block}.stand__portrait{border-radius:1vw!important;width:5.6vw!important;height:5.6vw!important}.stand__names{min-width:0}.stand__names strong{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:1.9vw;line-height:1.1;display:block;overflow:hidden}.stand__names span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:1.15vw;display:block;overflow:hidden}.stand__score,.stand__points{text-align:right}.stand__score strong,.stand__points strong{font-family:var(--font-display);justify-content:flex-end;align-items:center;gap:.4vw;font-size:1.9vw;line-height:1.1;display:flex}.stand__score span,.stand__points span{color:var(--muted);font-size:.95vw}.stand__more{color:var(--blue-200);margin:0;font-size:1.05vw}.stand__empty{color:var(--blue-200);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1vw;font-size:1.6vw;display:flex}.stand__empty .pet{width:14vw}.stand__foot{color:var(--blue-200);border-top:.15vw solid var(--navy-line);align-items:center;gap:1.4vw;padding-top:.8vw;font-size:1vw;display:flex}.stand__foot span{align-items:center;gap:.4vw;display:inline-flex}.stand__foot span:last-child{text-align:right;margin-left:auto}.stand__tip{color:var(--ink);border:.2vw solid var(--orange-500);background:#fff;border-radius:1.2vw;padding:.9vw 1.2vw;animation:.5s ease-out tip-in;position:relative}.stand__tip:after{content:"";border-right:.2vw solid var(--orange-500);border-bottom:.2vw solid var(--orange-500);background:#fff;width:1.4vw;height:1.4vw;position:absolute;bottom:-.9vw;left:50%;transform:translate(-50%)rotate(45deg)}.stand__tip .stand__px{color:var(--orange-700)}.stand__tip p{margin:.2vw 0 0;font-size:1.25vw;font-weight:550;line-height:1.3}@keyframes tip-in{0%{opacity:0;transform:translateY(.6vw)}}.stand__portrait{width:4.8vw!important;height:4.8vw!important}.stand__prize{background:var(--orange-500);color:#fff;box-shadow:0 .3vw 0 var(--orange-700);border-radius:1.2vw;align-items:center;gap:1vw;padding:.8vw 1.2vw;display:flex}.stand__prize div{flex-direction:column;display:flex}.stand__prize .stand__px{color:var(--orange-100)}.stand__prize strong{font-family:var(--font-display);font-size:1.5vw;line-height:1.15}.stand__spotlight{flex:1;align-items:flex-end;gap:1vw;min-height:0;display:flex;overflow:hidden}.stand__spotlight-text{flex-direction:column;flex:1;align-self:center;gap:.2vw;min-width:0;margin:0;animation:.5s ease-out tip-in;display:flex}.stand__spotlight-text strong{font-family:var(--font-display);overflow-wrap:anywhere;font-size:2.2vw;line-height:1.05}.stand__spotlight-text span:last-child{color:var(--blue-200);font-size:1.05vw}.stand__spotlight-pet{aspect-ratio:48/44;align-items:flex-end;height:100%;max-height:16vw;display:flex}.stand__spotlight-pet .pet{align-items:flex-end;height:100%;display:flex}.stand__spotlight-pet .pet__svg{width:auto;height:100%}.stand__spotlight--arrival .stand__spotlight-pet{animation:1.6s steps(8,end) both walk-in}@keyframes walk-in{0%{transform:translate(-140%)}to{transform:translate(0)}}
