:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,sans-serif}html,body{overscroll-behavior-y:contain}body{color:#f2f6f3;-webkit-tap-highlight-color:transparent;background:#0d1a0f;margin:0}a{color:inherit}.page{max-width:480px;padding:1.5rem 1rem calc(2rem + env(safe-area-inset-bottom));box-sizing:border-box;min-height:100vh;margin:0 auto}.card{background:#142218;border:1px solid #22331f;border-radius:16px;margin-bottom:1rem;padding:1rem}.card-clickable{cursor:pointer;transition:transform .1s}.card-clickable:active{transform:scale(.97)}.card-clickable:focus-visible{outline-offset:2px;outline:2px solid #3fae5a}.card-icon{object-fit:contain;width:56px;height:56px;margin-bottom:.5rem;display:block}.species-image{aspect-ratio:3/2;object-fit:cover;background:#0d1a0f;border-radius:8px;width:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.field input{color:inherit;background:#0d1a0f;border:1px solid #2b3d28;border-radius:8px;padding:.6rem .75rem;font-size:1rem}button{color:#06120a;cursor:pointer;background:#3fae5a;border:none;border-radius:999px;padding:.7rem 1.2rem;font-size:1rem;font-weight:600}button:disabled{opacity:.6;cursor:not-allowed}.error{color:#ff8a8a;font-size:.9rem}.grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;display:grid}.auth-logo{object-fit:contain;width:110px;height:auto;margin:0 auto 1rem;display:block}.home-logo{object-fit:contain;width:200px;max-width:70%;height:auto;margin:.5rem auto 1.5rem;display:block}.page-header-logo{cursor:pointer;background:0 0;border:none;margin:0 auto;padding:.75rem 1rem 0;display:block}.page-header-logo img{object-fit:contain;width:56px;height:auto;margin:0 auto;display:block}.grid-compact{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.card-compact{text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;display:flex}.card-compact .card-icon{margin-bottom:0}.action-fab-container{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:60;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed}.action-fab-backdrop{z-index:-1;position:fixed;inset:0}.action-fab-menu{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.action-fab-main,.action-fab-option{background:#142218;border:2px solid #3fae5a;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;padding:0;display:flex;position:relative}.action-fab-option{width:48px;height:48px}.action-fab-main img,.action-fab-option img{object-fit:contain;width:70%;height:70%}.action-fab-badge{color:#06120a;background:#ff8a8a;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.action-fab-notif-list{width:min(280px,100vw - 2rem);max-height:60vh;margin-bottom:0;overflow-y:auto}.stat{border-bottom:1px solid #22331f;justify-content:space-between;padding:.4rem 0;display:flex}.avatar{color:#06120a;background:#3fae5a;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.4rem;font-weight:700;display:flex}.stat:last-child{border-bottom:none}.reveal-card-outer{width:100%;margin:0 auto 1rem;position:relative;overflow:visible}.reveal-card-inner{transform-origin:top;position:absolute;top:0;left:50%}.card-perspective{perspective:1000px;touch-action:pan-y;cursor:grab}.card-flipper{width:100%;transform-style:preserve-3d;position:relative}.card-face{box-sizing:border-box;backface-visibility:hidden;background:#142218;border:3px solid #3fae5a;border-radius:16px;width:100%;padding:.75rem;position:relative}.card-face-back{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden;transform:rotateY(180deg)}.card-back-image{object-fit:cover;width:100%;height:100%}.reveal-card-body{flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}
