:root{--bg:#fff;--panel:#f8f8f6f5;--panel-border:#e2e2de;--chip:#efefec;--text:#2f2f33;--muted:#77777f;--accent:#ff7a1a;--accent-shadow:#c45a10;--good:#3f8f3a;--low:#b9770e;--bad:#c83a3a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#game{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#game canvas{image-rendering:pixelated;margin:0!important}#ui{pointer-events:none;padding:max(12px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}#ui>*{pointer-events:auto}.button{font:inherit;cursor:pointer;border:0;border-radius:12px;font-weight:700}.button--primary{background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-shadow);padding:12px 32px;font-size:1.1rem}.button--small{white-space:nowrap;background:var(--chip);color:var(--muted);flex-shrink:0;padding:6px 12px;font-size:.8rem}.button--action{color:var(--text);border:2px solid var(--panel-border);box-shadow:0 3px 0 var(--panel-border);background:#fff;padding:10px 14px;font-size:.95rem}.button--action:active:not(:disabled){box-shadow:0 1px 0 var(--panel-border);transform:translateY(2px)}.button:disabled{opacity:.55;cursor:default}.top{flex-direction:column;align-items:center;gap:10px;display:flex}.top>.top-bar{align-self:stretch}.top-bar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.top-bar h1{margin:0;font-size:1.25rem}.top-bar__info{color:var(--muted);margin:2px 0 0;font-size:.8rem}.bottom-bar{flex-direction:column;align-items:center;gap:12px;display:flex}.notice{background:var(--panel);border:1px solid var(--panel-border);color:var(--muted);border-radius:10px;align-self:center;margin:auto 0;padding:8px 14px}.login{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;width:min(100%,340px);margin:auto;padding:24px}.login__title{text-align:center;margin:0 0 16px;font-size:1.8rem}.login__form{flex-direction:column;gap:14px;display:flex}.login__form label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.login__form input{font:inherit;border:2px solid var(--panel-border);color:var(--text);background:#fff;border-radius:10px;padding:10px 12px;font-size:1rem}.login__form input:focus{border-color:var(--accent);outline:none}.login__error{color:var(--bad);margin:0;font-size:.9rem}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;width:min(100%,360px);padding:14px 16px;box-shadow:0 6px 18px #0000000f}.card__header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card__name{margin:0;font-size:1.15rem}.card__subtitle{color:var(--muted);margin:2px 0 0;font-size:.85rem}.card__close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 8px;font-size:1.4rem;line-height:1}.card__elder{color:var(--low);margin:8px 0 0;font-size:.85rem}.card__needs{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.need{background:var(--chip);border-radius:999px;padding:4px 10px;font-size:.8rem}.need--good{color:var(--good)}.need--low{color:var(--low)}.need--bad{color:var(--bad)}.card__actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;width:min(100%,360px);padding:12px 16px 16px;box-shadow:0 6px 18px #00000014}.panel h2{color:var(--muted);margin:12px 0 8px;font-size:.85rem;font-weight:600}.panel__header{justify-content:space-between;align-items:center;display:flex}.panel__header h2{margin-top:0}.panel__buttons{flex-wrap:wrap;gap:8px;display:flex}.hint,.toast{border-radius:12px;width:min(100%,360px);margin:0;padding:10px 14px;font-size:.9rem}.hint{background:#fff4e8;border:1px solid #ffd2a8;justify-content:space-between;align-items:center;gap:10px;display:flex}.toast{text-align:center;background:var(--panel);border:1px solid var(--panel-border);animation:.18s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.bottom-bar__buttons{align-items:center;gap:12px;display:flex}.button--secondary{white-space:nowrap;color:var(--text);border:2px solid var(--panel-border);box-shadow:0 4px 0 var(--panel-border);background:#fff;padding:11px 20px;font-size:1rem}.panel__intro{color:var(--muted);margin:6px 0 10px;font-size:.9rem}.adoption__list{flex-direction:column;gap:8px;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.adoption__egg{border:1px solid var(--panel-border);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.adoption__egg div{flex-direction:column;font-size:.9rem;display:flex}.adoption__egg span{color:var(--muted);font-size:.8rem}.card__edit{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:.9rem}.card__rename{align-items:center;gap:8px;display:flex}.card__rename input{font:inherit;border:2px solid var(--panel-border);border-radius:8px;width:10em;padding:6px 8px;font-size:1rem}.card__bonds{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.bond{background:var(--chip);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:.8rem}.bond--love,.bond--inseparable{color:#b8325a;background:#ffe3ea}.card__story{color:var(--text);margin:8px 0 0;font-size:.85rem;font-style:italic}.card__story-form{flex-direction:column;align-items:flex-end;gap:6px;margin-top:8px;display:flex}.card__story-form textarea{width:100%;font:inherit;border:2px solid var(--panel-border);resize:vertical;border-radius:8px;padding:6px 8px;font-size:.9rem}.card__links{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.card__link{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.adoption__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.panel--tall{max-height:70vh;overflow-y:auto}.tree{margin:0;padding-left:0;list-style:none}.tree .tree{border-left:2px solid var(--panel-border);margin-left:10px;padding-left:12px}.tree__node{margin:6px 0}.tree__animal{font-size:.9rem}.tree__animal span{color:var(--muted)}.tree__note,.tree__story{color:var(--muted);font-size:.8rem}.tree__story{font-style:italic}
