:root{color-scheme:light;--bg: #f6f2e9;--scene: #d7e4d1;--ink: #1a181c;--muted: #6b7685}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;overscroll-behavior:none}#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top,1rem) 1rem env(safe-area-inset-bottom,1rem);gap:.5rem}.stage-line{margin:.5rem 0 0;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.dog-wrap{flex:1;width:100%;max-width:480px;display:flex;align-items:center;justify-content:center;min-height:0}canvas#dog{background:var(--scene);border-radius:12%;image-rendering:pixelated;image-rendering:crisp-edges}.status{margin:0;min-height:1.4em;text-align:center;font-size:1.05rem}.needs{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}.needs li{display:flex;flex-direction:column;align-items:center;font-size:.8rem;color:var(--muted)}.need-value{font-size:1rem;color:var(--ink);font-variant-numeric:tabular-nums}.growth{margin:0;font-size:.8rem;color:var(--muted)}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;width:100%;max-width:480px}button.tap{touch-action:manipulation;padding:.85rem .5rem;border:none;border-radius:.75rem;background:var(--ink);color:var(--bg);font-size:.95rem;font-weight:600}button.tap:disabled{opacity:.35}.link-toggle{touch-action:manipulation;border:none;background:none;color:var(--muted);font-size:.8rem;text-decoration:underline;padding:0}.link-panel{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000073}.link-panel[hidden]{display:none}.link-panel-card{width:100%;max-width:400px;background:var(--bg);color:var(--ink);border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.link-heading{margin:0;font-weight:700}.link-sentence{margin:0;font-size:.9rem;color:var(--muted)}.link-url{margin:0;padding:.5rem;background:var(--scene);border-radius:.5rem;overflow-wrap:anywhere;font-size:.8rem}.link-panel-actions{display:flex;gap:.5rem}.link-panel-actions .tap{flex:1}input,textarea,select{font-size:16px}
